Die Open Source Initiative stellt die offizielle Definition von quelloffener künstlicher Intelligenz vor und fordert Tech-Konzerne heraus.
Damit ein KI-System als quelloffen gilt, müssen demnach Details zu den Trainingsdaten so offengelegt werden, damit sie von Dritten verstanden und nachgebildet werden können. Zudem muss der vollständige Code, der für die Erstellung und Ausführung der KI verwendet wurde, öffentlich sein und die Gewichtung der Trainingsdaten, auf deren Grundlage die KI ihre Ergebnisse erzielt, müssen einsehbar sein.
Links:
Warum?
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.