this post was submitted on 29 Oct 2024
15 points (100.0% liked)
FOSS - Freie Software
344 readers
2 users here now
Deutschsprachige Community zum Austausch über Freie Software
Postet hier gerne News, Artikel, Empfehlungen und Fragen mit Bezug zu FOSS - Open Source - Freier Software…
Dies ist eine Lemmy-Community (Was ist Lemmy?) Wie Ihr auch von anderen Fediverse-Accounts aus teilnehmen könnt, ist auch hier beschrieben.
Bildquelle Icon: Colin Viebrock, CC BY 2.5 via Wikimedia Commons
#fedi22 #FOSS #OpenSource
Nachfolge von @foss_de@feddit.de
founded 5 months ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Reproduzierbarkeit, wie kann etwas OpenSource sein das man nicht nachbauen kann? Das wäre wie "OpenSource" Code den man nicht kompilieren kann oder wo proprietäre Abhängigkeiten fehlen.
Eigentlich bin ich eher neugierig wegen deiner persönlichen Erfahrung. Wo wird das so gehandhabt, dass immer Trainingsdaten mit verteilt werden?
Ich habe ein paar Jahre an der Uni als Wimi gearbeitet, die Wissenschaft (die du unten schon genannt hattest) wäre also ein Beispiel wo ich persönliche Erfahrung sammeln durfte.
Aber auch mit Erfahrung in der freien Wirtschaft kann man argumentieren: die Beobachtung ist das die Daten wesentlich das Verhalten des Systems beeinflussen und damit kommt ihnen eine ähnliche Rolle zu wie Code in traditioneller SW.
Daher geht man z.B. dazu über für Daten ähnliche Qualitätsstandards zu definieren. Z.B. hat man für Code Spezifikationen und Unittests die das Prüfen. Es ist in der Wirtschaft, je nach Bereich und Qualitätsanforderungen, mittlerweile Standard sowas auch für Datensätze zu machen. Man prüft also automatisch und bei jeder Änderung bestimmte statistische Eigenschaften der Daten wie Klassenverteilung, Balanciertheit, auch über Einflussgrößen die nicht explizit trainiert werden. Also z.B. für eine Gesichtserkennung prüft man die Verteilung von Geschlecht, Ethnizität, Alter, ... in den Trainingsdaten.
Auch werden Datensätze genau wie Code in versionierten Repositories vorgehalten.
De facto hat man also auch in der Wirtschaft die sehr ähnliche Bedeutung und damit auch Handhabung von Daten und Code in KI Systemen erkannt und umgesetzt. Sollten dann nicht die OSS Regeln auch genauso auf Daten übertragbar sein?
OSS ist aber kein Wunschzettel der Wirtschaft. Klar, dass die sich freuen, wenn sie was umsonst kriegen. Geht mir auch so. Aber Unittests oder das Einhalten von irgendwelchen Spezifikationen sind keine Bedingung, dass Code als Open Source gilt.
What? Hab ich das denn irgendwo behauptet?
Das man beides umsetzt sowohl für Code als auch für Daten sind aber Zeichen dafür, dass Code und Daten im KI Kontext eine ähnliche Funktion haben. Dann ist es doch nur konsequent auch die gleichen Maßstäbe in Hinsicht auf OSS anzulegen?
Mit den "Ähnlichkeiten" wäre ich vorsichtig. Es gibt da so viele Missverständnisse.
Qualitätssichernde Maßnahmen oder bestimmte, wünschenswerte Eigenschaften sind nicht Teil des traditionellen Verständnisses von Open Source. Insofern es da Ähnlichkeiten gibt, spricht das gegen die Forderung.
Aber drücke ich mich denn so missverständlich aus? Die These ist Daten=Code bei KI Systemen. Untermauert durch die aufgezeigten Ähnlichkeiten bzw. ähnliche Entwicklungsmethodiken.
Und die Erweiterung von Open Source auf Daten erwächst aus Daten=Code, nicht aus dem (nicht)vorhandensein von qualitätssichernden Maßnahmen in OSS.
Ich kenns so aus den Bereichen computational cognition research und ein wenig (weil nicht mein Gebiet) computational sociology. Da sind es halt oft einfach nur "die Daten".
Reproduzierbarkeit als Kriterium kenne ich nur aus der Wissenschaft. Open-Source-Code ist ja nicht als Tutorial gedacht. Du kannst ihn benutzen, für dich anpassen, oder darauf aufbauen, aber er muss dich nicht in die Lage versetzen selber so ein Programm zu schreiben. Es wäre mir auch neu, dass proprietäre Abhängigkeiten ein Problem sind. ZB wenn ein Programm nur auf einem iPhone läuft.
Bei OSS für iPhones gibt es diese Abhängigkeiten aber sie fehlen nicht, das ist also nicht was ich beschrieben habe.
OpenSource Code muss dich aber sehr wohl in die Lage versetzen selber aus dem Quellcode zu kompilieren und die ausführbare Binärdatei zu reproduzieren. In der Analogie wäre das trainierte Modell sowas wie die fertig kompilierte .exe . SW die nur kompiliert verteilt wird gilt auch nicht als OpenSource. Und die Wissenschaft ist doch immer schon wichtig für die ganze OSS Welt, sicherlich sollten wir die Definition nicht Vertretern "der Industrie" wie Google oder Microsoft usw. überlassen.
Stimmt eigentlich nicht. Und nicht nur wegen interpretierten Sprachen wie Javascript oder Python.
Wenn jemand Code unter einer Open-Source-Lizenz veröffentlicht, dann ist das Open Source, auch wenn der Code unfertig oder fehlerhaft ist. Vielleicht ist das Projekt ja in einem Zustand, dass irgendjemand was damit anfangen kann.
Aber das ist nur eine Spitzfindigkeit, ohne näheren Themenbezug.
Leider funktioniert die Analogie technisch auf keiner Ebene. Computer verarbeiten Daten. Daten gehen rein und andere Daten - Ergebnisse - kommen raus. Kompilierung ist ein Beispiel dafür, aber deswegen ist nicht jede Datenverarbeitung analog zur Kompilierung.
Von der Informatik her fängt das schon damit an, dass man nicht für alle Zwecke Trainingsdaten braucht
Was die Sache aber heikel macht, sind die rechtlichen Aspekte. Gerade in Europa wird man nur selten das Recht haben, die Daten zu teilen. Ähnliche Erfolgsgeschichten wie Linux wird es - auch wegen des AI Acts - sicher nicht geben. Aber auch in Ländern mit besseren Gesetzen wird es oft Probleme mit der Weitergabe von Trainingsdaten geben.
Open source kommt aber nicht aus der Wissenschaft und hat damit direkt nichts zu tun. Code neu zu kompilieren oder laufen zu lassen ist sicher keine Replikation. Es zeigt ja nur, dass der Code existiert und funktioniert. Die Ergebnisse also nicht frei erfunden sind. Im schlimmsten Fall kann auch ein sorgfältiges Lesen des Quellcodes entscheidende Fehler übersehen. Idealerweise kommt eine andere, unabhängige Implementation zum gleichen Ergebnis.
Ich weiß nicht wie es jetzt läuft, aber auch als Open Source schon etabliert war, haben sich manche Wissenschaftler geweigert ihren Code zu teilen, eben auch mit diesem Argument.
In jedem Fall ist das ein Thema für Publication Guidelines von Journalen und keine allgemeine Frage von Open Source.
Im AI Act steht das so:
(102) https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=OJ:L_202401689
Ich denke schon dass man kompilieren können muss. Sonst landet man bei so fake OSS compliance wie bei Android wo die Hersteller ihre Modifikationen am Linux Kernel nur auf die minimalste und kryptischste Art und Weise veröffentlichen mit der keiner was anfangen kann. Das entspricht doch nicht dem Open Source Gedanken und kann doch niemanden zufrieden stellen.
Ich habe auch nicht behauptet dass überall Trainingsdaten benötigt werden oder jede Datenverarbeitung analog zum Kompilieren ist. Aber das Training von AI Modellen kann man denke ich schon vergleichen. Was das Verhalten (mit) bestimmt steht am Anfang, nämlich der Code bzw die Daten. Es folgt ein Prozess der das ganze umwandelt in etwas was im wesentlichen eine Blackbox ist und nur sehr eingeschränkt und unter großem Aufwand noch sinnvoll analysiert werden kann. In diesem Punkt sind die Vorgänge sehr analog und vergleichbar aus meiner Sicht.
Und das Recht zu teilen hängt vom Datensatz bzw. vom Code ab, Quellcode der persönliche Daten o.ä. im Klartext enthält darf ich sicherlich auch nicht einfach Open Source publizieren. Das Problem ist also nicht inhärent eines das nur auf Daten zutrifft. Und Datensätze können durchaus so angelegt werden dass sie auch geteilt werden dürfen, siehe gängige Praxis in der Wissenschaft selbst für Aufgaben wie Gesichtserkennung, Köperposen, ...
Und der Status Quo an Gesetzen und Lizenzen definiert hier evtl. anders, aber hat denn die EU mit dem AI Act hier die Deutungshoheit? Mir geht es darum wie es eigentlich und aus dem intuitiven Verständnis von Open Source her sein sollte, nicht was AI Act oder GPL usw. derzeit abdecken.
Es ist ja auch letzten Endes nichts schlimmes daran wenn man Daten nicht publiziert. Es ist dann halt bloß einfach kein Open Source, weil man die Funktionsweise nicht wirklich nachvollziehen kann und das Trainingsergebnis auch nicht selbst erzeugen kann.
Es sollte zeigen, dass die Analogie nicht funktioniert.
Ich kann verstehen, was die Analogie verführerisch macht, aber auf der technischen Ebene funktioniert sie schlicht nicht.
Ein typischer Satz Trainingsdaten könnte aus Bild/Text-Paaren bestehen. ZB Bild und Schlagworte zum Motiv. Damit könnte man ein KI-Modell trainieren, das Bilder in Kategorien einteilt, oder zu einem Bild Schlagworte generiert. Man könnte das auch für einen Bildgenerator benutzen, der Bilder zu einer Worteingabe generiert. Der Code macht das Programm. Der Code steht am Anfang, wie du so schön sagst.
Wenn du die Daten austauscht, wird die fertige KI immer noch dasselbe machen. Aber was genau die KI macht, kannst du aus den Daten nicht vorhersagen. Deswegen spricht man von einer Black Box. Man kann nicht exakt vorhersagen, ZB was für Schlagworte einem neuen Bild zugeordnet werden, oder erklären warum.
Ein anderer Unterschied ist der, dass Kompilierung einen definitiven Abschluss hat. Wann ein KI-Modell austrainiert ist, ist wenig klar. Und natürlich auch die enormen Kosten.
Erstmal ist das Problem das Urheberrecht. Kein Problem bei Code, aber bei Trainingsdaten. Wie die Sache dann schlussendlich wegen DSGVO aussieht, ist unklar. Dann hat man noch Sachen wie den Data Act.
Tja. Ich habe nicht den Eindruck, dass die Open-Source-KI-Community dein Verständnis teilt. Deswegen die Frage nach der Erfahrung und wo das so gemacht wird. Anscheinend nur in Teilen der Wissenschaft. Dem Kommentator, der dir zustimmt, geht es offensichtlich nicht um Open Source, sondern um Schützenhilfe für die Copyright-Industrie.
Das sehe ich anders. Sicherlich reichen die Daten in den seltensten Fällen um das Verhalten komplett Vorhersagen zu können. Aber sie bestimmen eben das Verhalten auch mit. Wenn man zB von Bild-Text Paaren ausgeht dann lernt das Modell implizit bestimmte Eigenschaften der abgebildeten Szenen oder Objekte nur aus den Daten. zB große Ohren + Stoßzähne = Elefant, diese Logik ist nirgendwo mehr im Quellcode niedergeschrieben, wie es bei traditioneller SW der Fall wäre, sondern sie entsteht einzig aus den Trainingsdaten. Und wenn mein Datensatz z.B. nur Elefantenkühe ohne Stoßzähne enthält, dann ändert sich die Logik ohne dass auch nur eine Zeile Code geändert wurde. Und wenn also entscheidende Teile der Logik aus den Daten entstehen und dadurch das Verhalten des gesamten Systems maßgeblich durch die Daten mitbestimmt wird, dann ist das etwas was früher (ohne KI) nur für den Quellcode gegolten hat aber eben jetzt auch auf Datensätze zutrifft. Und daher halte ich die Analogie zumindest in diesem Punkt auch für zutreffend. Und als Konsequenz gehören aus meiner Sicht dann auch nicht nur die Trainingscodes sondern auch die Datensätze befreit wenn es Open Source sein soll.
Halte ich für falsch, Urheberrecht kann doch auch genauso für Quellcode gelten. Und Code an dem jemand anderes das Urheberrecht inne hat den darf ich auch nicht als Open Source veröffentlichen.
Ich denke das hängt davon ab wen du fragst und wen du zur Community zählst. Wenn du die Stellungnahmen von FSF oder CCC oder dergleichen liest dann sehe ich da eher meine Sichtweise bestätigt.
Ja, Daten bestimmen das Verhalten eines Programms mit, sonst wäre es nicht weit her mit der Datenverarbeitung.
Nein, das ist nicht neu.
Eben. Du erkennst den Unterschied.
Mit Open-Source-KI-Community meine ich Leute, die Open-Source-KI erstellen und benutzen. Ich weiß nicht, was diese Organisationen mit KI zu tun haben.
Was ist eigentlich dein Interesse? Der Kollege will PR machen für die Copyright-Industrie. Und du? Mir ist auch nicht klar, worin die persönliche Erfahrung besteht. Ein besonderes Technikverständnis erkenne ich nicht.
Willst du mich denn absichtlich nicht verstehen? Daten bestimmen jetzt die internen logischen Abläufe im System mit, wie dargelegt das Beispiel mit den Elefanten. Das ist sehr wohl neu (naja so neu wie KI eben). Trainingsdaten sind nicht einfach Eingangsdaten, wie sie bei der Anwendung einer gewöhnlichen Datenverarbeitung vorliegen. Sondern sie sind integraler Bestandteil der Entwicklung einer Datenverarbeitung. Grundlegende Teile des Systemverhaltens werden erst durch die Trainingsdaten bestimmt und zwar unabhängig davon zB welche Eingangsdaten in einer Produktivphase später anliegen.
Nein, Urheberrecht gilt für Daten und Code gleichermaßen, an dieser Stelle ist eben genau kein Unterschied. Konnte man das wirklich irgendwie falsch verstehen?
Ich habe hier nicht wirklich ein Interesse sondern nur eine persönliche Überzeugung. Ich bin jedenfalls nicht aus beruflichen Gründen auf Lemmy unterwegs, falls das die Frage war. Am ehesten geht es mir um die Diskussion und den Ideenaustausch?
😀 Sind wir jetzt auf dieser Ebene angekommen? Meine persönliche Erfahrung besteht darin, dass ich in der IT zum Thema promoviert habe und danach seit ~3 Jahren in leitender Position in der freien Wirtschaft in der KI Entwicklung weiter arbeite (beides mit Fokus auf embedded AI und im Automotive Bereich). Wo kommt denn bitte dein überlegenes Technikverständnis her?
Klassischerweise würde ich beide auch eher zur Open Source als zur KI Community zählen, aber bei der Frage nach Open Source KI gibt es doch die Überschneidung die beides relevant macht? Und auch wenn KI nicht der Fokus ist halte ich die Einschätzungen für relevant, an Fachwissen und Erfahrungen für eine fundierte Einschätzung mangelt es sicherlich in beiden Orgas nicht.
Bei den zur Zeit diskutierten KI-Modellen handelt es sich mathematisch um lineare Gleichungssysteme. Die Dateien, die als KI-Modelle geteilt werden, enthalten die Parameter, welche die einzelnen Glieder gewichten, als Fließkommazahlen. Beim Training werden die Parameter schrittweise angenähert, um einen Fehler zu verkleinern. Vom Prinzip her ist das wie das Newton-Verfahren. (Es gibt aber auch andere Verfahren, die aber zZ kaum praktische Bedeutung haben. In Zukunft kann sich das alles ändern.)
Das ist eine sehr traditionelle Computeranwendung. Dass man Zahlentabellen lädt, die das Verhalten des Systems entscheidend beeinflussen, ist auch ein alter Hut.
Ja, Code mit einer gewissen Länge fällt normalerweise unter Urheberrecht. Deswegen kann man Code auch lizenzieren, wenn man die entsprechenden Rechte hat.
Daten an sich fallen eigentlich nicht unter Urheberrecht. Die Trainingsdaten bestehen bei genAI aber meist aus "geschützten" Inhalten. Wer Daten kuratiert und ein damit trainiertes KI-Produkt teilt, hat deswegen noch lange nicht das Recht, den Satz weiterzugeben.
Ich frage, weil es viele Leute gibt, die meinen, sie würden Geld bekommen, wenn sich solche abstrusen Ideen durchsetzen.
Code ist normalerweise das geistige Eigentum von jemandem. Das fertig kompilierte Programm ist immer noch das Eigentum dieser Person.
Um ein KI-Produkt zu trainieren, musst du mit mehr oder weniger Mühe einen Datensatz kuratieren und dann mehr oder weniger Geld ausgeben für Hardware/Strom, oder Cloud-Compute. Da würden gerne Leute kommen und sagen: "Yoink. Danke fürs Kompilieren, du Depp." Copyright-Leute sind oft so ideologisch gefestigt, dass die bei sowas nicht mal Schuld empfinden. Eine moderne Gesellschaft kann man so natürlich nicht haben. Wir werden's noch erfahren.
Ich bringe Fakten und Argumente und verweise nicht auf "persönliche Erfahrung", um Behauptungen zu untermauern.
Ich erkenne bei der FSF keine relevante Expertise. Beim CCC sehe ich keine entsprechende Stellungnahme.