Jetzt bewiesen: GitHub Copilot stiehlt Code // deutsch

preview_player
Показать описание
Vor ungefähr zwei Jahren haben wir in einem Video kritisiert, dass GitHub Copilot zu rechtlichen Problemen führen kann, weil nicht immer Code neu generiert wird, sondern gelegentlich auch einfach nur Code aus den Trainingsdaten kopiert wird – und zwar 1:1. Vor einigen Tagen haben wir nun ein solches Beispiel entdeckt, das sich sogar reproduzieren lässt …

00:00 – Einführung
01:28 – Writing an Interpreter in Go
02:25 – Lisp interpretieren
03:18 – Copilot schlägt Code vor
04:28 – Was Copilot als nächstes vorschlagen wird
05:14 – Copilot generiert nicht, er kopiert

────────────────────

Über the native web 🦄

Wir sind ein Beratungs-, Schulungs- und Entwicklungsunternehmen, das sich auf Web- und Cloud-Technologien spezialisiert hat. Wir streben nach intelligenten und eleganten Lösungen für komplexe Probleme, und wir glauben, dass Softwareentwicklung kein Selbstzweck ist. Stattdessen sollte Software tatsächliche Probleme der realen Welt lösen.

Wir glauben, dass native Web- und Cloud-Technologien das Fundament sind, auf dem die Zukunft aufbaut. Unsere Kernkompetenz ist der Entwurf und die Entwicklung verteilter Web- und Cloud-Anwendungen unter Verwendung dieser Technologien in interdisziplinären Teams. Wir entwickeln auch unser eigenes Open-Source-Framework namens wolkenkit. Und wir lieben es, unser Wissen in Schulungen und Workshops, auf Konferenzen und bei Usergroups zu teilen.

────────────────────

Weiterführende Links 🌍

Рекомендации по теме
Комментарии
Автор

Plot Twist: der Code aus dem Buch wurde auch bereits von Copilot geschrieben. 😂

ScriptRaccoon
Автор

Copilot liest ja wohl auch lokale Dateien ein. Stammt der Code eventuell aus dem Beispielprojekt des Buches?

MrRiesable
Автор

Richtig spannend wird es beim Thema Lizenzen / Open Source.
Wenn Copilot munter code wiederholt, könnten Programmierer gegen Lizenzen verstoßen ohne es zu wissen.

Vor allem für Unternehmen ist das sehr bedenklich ("Copyleft" bspw).

lippoliv
Автор

Es gibt doch eine Einstellung, um genau das im Video dargestellte zu verhindern:
"Under Suggestions matching public code, select the dropdown menu, then click Allow to allow suggestions matching public code, or Block to block suggestions matching public code."

War diese Einstellung aktiv?

GrumpyOldBratwurst
Автор

Man kann es nur immer wieder wiederholen. Es handelt sich um ein Sprachmodell, welches Code / Texte Wort für Wort vorhersagt und diese Ergebnisse nicht selbst bewerten kann. Wenn es nun einen speziellen Fall gibt wo in den Trainingsdaten nur ein Beispiel existiert wird dieses auch 1:1 wiedergegeben. Die aktuelle Fähigkeit der KI wird meistens überbewertet und das führt sogar teilweise zu Weltuntergangsszenarien. Diese werden sicher auch eintreffen wenn man die KI zum aktuellen Zeitpunkt wichtige Entscheidung selbständig entscheiden lässt und diese ungeprüft umsetzt.
Schöne Woche!

yt
Автор

Man sieht hier sehr deutlich wie der Begriff KI hier Erwartung und Realität durcheinander bringt. KI heute kann aus dem was sie gelernt hat Dinge zusammenwürfeln mit mal besserem und mal schlechterem Resultat. KI erzeugt aber nichts neues. Z. B. Keine neue 100mal effizientere Primzahlberechnung.
KI ist eine gute Suchmaschine, die fähig ist Kontext zu berücksichtigen. In anderen Worten, sie kann helfen etwas zu Beschleunigen. Kann deshalb, weil durch eigenes Tun lernt man besser und langfristig ist es vermutlich besser sich mal ein paar Stunden mit einem Problem herumgeschlagen zu haben und es selbst gelöst zu haben, als es der KI zu überlassen. Ohne KI verbessert mal also mit jedem gelösten Problem seine eigene Qualifikation, mit KI nicht. Mit ein paar Tabs lässt sich so zwar viel Tipparbeit sparen, aber Lernarbeit verrichtet man dabei nicht.

haraldgame
Автор

Meine Erwartungshaltung war schon, dass die KI nur das beste Code-Snippet aus allen zugrundeliegenden Quellen für mich auswählt. Dass auch mein Code zu Schnipseln verarbeitet werden könnte, war zu erwarten und ist auch noch ok für mich. Wo ich allerdings schon Bedenken habe ist, dass wenn ich z.B. kundenspezifische Config- oder Logdateien in VSCode öffne, auch der Copilot zuschlagen und Connection Strings, Passwörter, etc. „klauen“ könnte 😨…

gary-st
Автор

Dies geht doch an der eigentlichen Diskussion vorbei: Eine KI wird mit "copyright" geschütztem Material trainiert - lernt diese also auswendig. Da Syntax und Semantik trainiert wurden, werden diese Inhalte neu kombiniert - oder im Falle einer Programmiersprache eben auch nicht, weil diese bereits das Optimum einer entsprechenden Umsetzung gefunden zu haben scheint (was für ein Satz ;-)).

Nun kann man sich vortrefflich darüber streiten, ob die "schöpferische Fallhöhe" erreicht ist oder nicht. Jeder von uns hat doch bereits mitbekommen wie sehr Publikationen Spiegel/FAZ/TAZ etc. aber auch Fachjournale wie CT/IX etc. immer größere Probleme mit der Monetarisierung haben, seit dem das Internet vorgeblich alle Informationen auch gratis zur Verfügung stellt.
Nun haben die Computer dieser Welt auch noch das Lesen und Umstellen und zusammenfassen von Texten gelernt ...

Wie werden wir in Zukunft damit umgehen?
Eine KI versteht nicht, was sie von sich gibt - Vergleichbar mit einem Schüler der alle Prüfungen mit "sehr gut" besteht weil er ein fotografisches Gedächtnis hat und eben alles auswendig lernt um diese zu bestehen.

Wahre Intelligenz besteht nicht darin etwas gekonnt zu rezitieren, sondern es zu begreifen und weiter denken zu können. Dies sollte wertgeschätzt und honoriert werden.

Ein Anfang wäre vielleicht die Pflicht zur Quellenangabe und die grundsätzliche Kennzeichnungspflicht von Bot generierten Inhalten.
Den Rest kann man dann wieder solchen Institutionen wie VG Wort überlassen. ;^)

grysufeuermelder
Автор

Den Code gabs in den Trainingsdaten sicher viele male, weil der Code als Lehrbeispiel bereits sehr oft kopiert wurde.
Ist daher kein Overfitting im ML-Sinne, weil der Datenpunkt so oft bestätigt wurde, dass dieser scheinbar ideal ist.

dithy
Автор

Für mich als Amateur Programmierer für Private Projekte sind diese KIs eine echt große Hilfe.
Wie das rechtlich weitergehen wird mit KI weiß noch keiner so genau.
Gibt ja welche speziell für Bilder, Musik, Programmieren oder Schreiben von Texten.

Todestelzer
Автор

Hinter Copilot steckt ja gar keine KI sondern auch "bloß" ein LLM wie bei so vielen Tools, die uns heute als KI verkauft werden.
Das _kann_ naturgemäß gar nicht programmieren sondern nur aus Bekanntem synthetisieren.
Die eigentliche (durchaus beeindruckende) Leistung des LLMs besteht darin, zu "verstehen", welche Frage ihm gerade gestellt wird und daraus dann die passenden Ableitungen zu treffen. Bei Copilot in der Form von Codeschnipseln.
Insofern ist das keine Überraschung, dass hier eins zu eins der gleiche, gelernte Code rauskommt. Du hast ja durch dein anfängliches Abtippen einen Einstieg gewählt, der als Initialisierungsvektor genau auf dieses Beispiel verwies und dann durch Bestätigung der folgenden Zeilen diese Entscheidung positiv rückgekoppelt.
Ich wette, das klappt mit anderen hallbwegs prominenten Lösungen exakt genau so.

FalkvonZydowitz
Автор

Das buch hab ich auch schon zur hälfte durch. Cool, dass Golo das auch liest ❤

christianhorauf
Автор

Ich habe es bislang immer für Gerüchte von Leuten gehalten, die zu viel Angst vor KI hatten. Wie weit habt ihr den Spaß den getrieben? Nur bis zu den Konstanten, oder auch weitere Beispiele aus dem Buch?

LukasRotermund
Автор

Ich finde es erschreckend genug. Da stellt sich mir aber gleich die Frage, ob es nur bei Code bleibt, oder auch Daten mit abgesaugt werden (Mocks oder Daten aus einer Api)?

TheResistance
Автор

Ich bin unschlüssig, ob die KI hier wirklich den Code klaut oder der User, der gerade aus dem Buch abschreibt, beim Abschreiben unterstützt wird. Wenn die KI erkennt, dass der User gerade abschreibt, warum sollte sie dann neuen Code generieren, wenn ihr das gleiche Buch bekannt ist?

Habt ihr mal getestet was passiert, wenn ihr auch nur einen Vorschlag ablehnt bzw. eine Zeile eigenen Code dazwischen schreibt?

Es ist offensichtlich, dass der Code eins zu eins aus dem Training bzw. dem Buch kommt, aber ist das nicht zu erwarten, wenn hier nichts neues produziert wird, sondern lediglich reproduziert?
Meiner Meinung nach ist das kein gutes Beispiel, um zu zeigen, dass die KI stiehlt, da der User gerade vor hatte abzuschreiben.
Die Use Cases in Beispiel bzw. im Beweis und der Use Case des Fazits sind meiner Meinung nach unterschiedlich.

Beim Thema Lizenzen ist das natürlich äußerst problematisch und es beantwortet die Frage, ob und wie viel tatsächlich generierter Code vorgeschlagen wird, nicht.

Vielen Dank für das Video! Es ist auf jeden Fall ein sehr guter Denkanstoß und zeigt ein Problem auf, das nicht vernachlässigt oder vergessen werden darf.

scfmoe
Автор

Ups.. bekomme ich nun Code aus OpenSource Repos, die aber unter der GPL stehen, in meinen properitären Code? :-) Kann ja extrem übel sein für Firmen

markusschmidt
Автор

Sofern es sich ausschließlich um öffentlich zugängliche Quellen handelt sehe ich das relativ entspannt (Buchinhalte zähle ich dazu). Denn dann tut Copilot genau das was ich möchte: Mir die Arbeit sparen Boilerplate zu schreiben oder StackOverflow/Library Dokus zu bemühen. Kritisch finde ich nur, wenn der eigene oder anderer closed source zum weiteren Training verwendet wird. Hierzu gibt es in Github aber explizit Optionen dies zu deaktivieren.

tristram
Автор

Plot Twist: der Autor hat das Buch ChatGPT schreiben lassen

florian
Автор

Das ist nicht überraschend. Bei fast jedem Modell kann man insbesondere bei exotischem Input erkennen, welche Originale verwendet wurden. Das ist mir vor allem bei den ganzen Bildgeneratoren aufgefallen, bei den Codegeneratoren zum Teil auch, obwohl das Nachweisen dort ein bisschen schwieriger ist, da es nicht so visuell ist.

Codepilot-Code steht somit mMn unter der strengsten Lizenz, d.h. ausschließlich private Verwendung.

muellerhans
Автор

Herzlich Willkommen in der Realität der generativen KI. ;)
Wir haben uns unsere eigenen virtuellen Chinesen gebaut. Kopieren als höchste Form der Anerkennung.

Spaß beiseite: Dieses Problem betrifft ja nicht nur die Software-Industrie. Selbst wenn Copilot nicht stumpf kopieren würde, würde sich im engeren juristischen Sinn ab einem gewissen Punkt immer die Frage der "Schöpfungshöhe" stellen. Also der Grenze, an der das Urheberrecht relevant wird.
Prinzipiell dürfte ich als Entwickler, der mit generativer KI arbeitet, nie das Urheberrecht für die "generierten" Codeteile beanspruchen.

Aber das hast Du ja schon in den anderen Videos thematisiert.

(Dieser Text wurde von einem Menschen verfasst)

neutralias