13 Punkte von laeyoung 2021-08-02 | 12 Kommentare | Auf WhatsApp teilen
  • Copilot ist ein Dienst, der Codex, basierend auf GPT-3, als Produkt anbietet

  • Das Training erfolgte mit einem 159-GB-Datensatz, der aus 54 Millionen Repositories auf GitHub extrahiert wurde

  • Es wurden 164 Benchmark-Datensätze erstellt, und Codex löste davon 28,8 %

  • Es ist gut im Lösen von Algorithmusproblemen wie bei LeetCode

    -> Vermutlich liegt das daran, dass es auf GitHub viele Repositories mit Lösungsansätzen für Algorithmusaufgaben gibt und diese mitgelernt wurden


Auf GeekNews wurden bereits einige Beiträge zu Copilot veröffentlicht.

Diesmal schrieb jemand aus meiner Firma einen Beitrag über Copilot, und da ich als Einziger einen Copilot-Preview-Account hatte, habe ich auf meinem Computer etwas geholfen.

Beim Testen war ich überrascht: Ich habe drei Coding-Probleme eingegeben, und es kamen direkt Antworten heraus, die bestanden haben.

Bei einer Aufgabe habe ich sogar ein Problem von Baekjoon durch einen Übersetzer gejagt und eingegeben, und trotzdem kam die richtige Antwort heraus.

Da dachte ich mir: Es wird sicher auch Leute geben, die das zum Schummeln bei Online-Coding-Tests verwenden...

Mein Fazit nach einem Monat Nutzung in VSCode:

  • Es ist nützlich, wenn man in einer Sprache oder Umgebung entwickelt, die man nur grob kennt.

    -> Ich habe zum Beispiel mit React entwickelt und musste etwas mit e.target.value machen. Da erschien ein etwa 20 Zeichen langer Vorschlag, ich drückte Tab zur Autovervollständigung, und es funktionierte genau wie gewünscht.

    -> Natürlich war ich skeptisch und habe es auf StackOverFlow nachgeprüft, aber der Vorschlag war korrekt.

  • Wenn man die Sprache oder Umgebung gut kennt, können die Vorschläge störend sein, weil sie nicht optimal sind.

  • Für die Inference wird wohl Code übertragen, daher hatte ich Bedenken, ob das okay ist. Aber mit dem Gedanken „Was soll schon mit dem Code aus einzelnen Dateien passieren?“ nutze ich es einfach weiter.

12 Kommentare

 
ruinnel 2021-08-03

https://www.youtube.com/watch?v=a9349pRiCRk

So eine Meinung gab es wohl auch.

Als ich das gesehen habe, ist mein Interesse ziemlich schnell gesunken.

 
budlebee 2021-08-03

Ich kenne mich mit dem Urheberrecht bei Code nicht gut aus, aber wenn man urheberrechtlich geschützten Code verwendet und nur Variablennamen oder Funktionsnamen ändert oder ihn nur leicht anpasst, ist das dann ein Verstoß gegen die Lizenz?

 
dalinaum 2021-08-05

Ja. Das ist ein Verstoß.

 
ruinnel 2021-08-03

Wichtiger als die Frage, ob der Code vollständig identisch ist, ist beim Urheberrecht von Code vielleicht eher: Woher stammt der Code?

Bei MIT- oder Apache-Lizenzen dürfte es in der Regel kein großes Problem sein, den Code zu übernehmen, zu verändern und zu verwenden ...

Wenn Copilot aber Code empfiehlt, der mit GPL-lizenziertem Code identisch ist,

und ein Entwickler einen Teil davon verändert und in ein entwickeltes Projekt einbaut ...

Dann müsste dieses Projekt aus Sicht der GPL-Lizenz nicht den vollständigen Source Code offenlegen?

Soweit ich weiß, verstößt man bei der Verwendung von GPL-lizenziertem Code gegen die GPL, wenn man nicht den gesamten verwendenden Code offenlegt.

Um einmal ein extremes Beispiel als Gedankenspiel zu formulieren ...

Wenn in einem Unternehmen eine Lösung entwickelt wird, ein Entwickler Copilot benutzt und der empfohlene Code ausgerechnet von einer GPL-lizenzierten Quelle stammt, deren Code die AI beim Training gelernt und unverändert ausgegeben hat ... dann könnte doch nicht das Problem entstehen, dass das Unternehmen entweder den vollständigen Code der Lösung offenlegen muss oder ein anderes Lizenzproblem bekommt?

 
budlebee 2021-08-03

Was mich interessiert: Wenn ein Nutzer den von Copilot ausgespuckten Code leicht verändert und dann verwendet, gibt es dann eine Möglichkeit, das zu erkennen? Selbst bei gleichem I/O und gleicher Funktionalität kann Code ja in sehr unterschiedlichen Stilen entstehen, daher frage ich mich, wie man ein solches Code-Plagiat entdeckt (gibt es dafür vielleicht eine Methodik, bei der man Referenzen miteinander vergleicht – ähnlich wie bei Plagiatsklagen in der Musik?)

 
ruinnel 2021-08-03

Tja. Wie man Ähnlichkeit überprüfen und ab wann man es als denselben Code ansehen würde, weiß ich ehrlich gesagt auch nicht so genau, haha.

 
laeyoung 2021-08-03

Ein entsprechender Beitrag wurde auch schon auf GeekNews veröffentlicht.

https://de.news.hada.io/topic?id=4659

In dem betreffenden YouTube-Video wird zwar über Urheberrecht gesprochen, aber wenn man sieht, dass bei den im Video verwendeten Materialien (Nachrichten, Zeichentrickfilme usw.) weder Quellen noch Urheberrechtsangaben genannt werden, scheint das wirklich eine schwierige Sache zu sein T_T

 
ruinnel 2021-08-03

Das Urheberrecht an den in dem angesprochenen Video enthaltenen Nachrichten/Comics ist ... zwar eine Frage, für die derjenige verantwortlich gemacht werden kann, der sie verwendet hat (also die Person, die das Video erstellt/verbreitet hat), aber ...

Das Problem ist, was passiert, wenn ich Copilot benutze und dadurch urheberrechtlich geschützter Code in meinem eigenen Code landet.

Ich habe doch nur ein Tool benutzt, und am Ende wird das von mir entwickelte Programm in einen Urheberrechtsstreit verwickelt.

 
yeop2 2021-08-02

Ich würde es auch gern ausprobieren, aber ich frage mich, wann ich wohl einen Zugriff zugewiesen bekomme ;_;

 
ktseo41 2021-08-02

+1 Ich warte auch weiterhin.

 
cog25 2021-08-02

Soweit ich weiß, bekommt man es umso schneller, je mehr man GitHub nutzt.

 
laeyoung 2021-08-02

Irgendwie hat ein Repo, das ich letztes Jahr wegen Corona ziemlich überstürzt erstellt habe, inzwischen mehr als 100 Stars bekommen. Vielleicht liegt es daran, aber sowohl bei Copilot als auch bei GitHub Codespaces werde ich, wenn ich mich bewerbe, ziemlich oft ausgewählt.