Drugi pilot GitHub

Drugi pilot GitHub
Deweloperzy GitHub , OpenAI
Wersja stabilna
1.7.4421
System operacyjny Microsoft Windows , Linux , macOS , Internet
Strona internetowa copilot.github.com

GitHub Copilot to oparte na chmurze narzędzie sztucznej inteligencji opracowane przez GitHub i OpenAI , aby pomóc użytkownikom zintegrowanych środowisk programistycznych (IDE) Visual Studio Code , Visual Studio , Neovim i JetBrains przez automatyczne uzupełnianie kodu. Narzędzie, dostępne obecnie w ramach subskrypcji dla poszczególnych programistów, zostało po raz pierwszy ogłoszone przez GitHub 29 czerwca 2021 r. i działa najlepiej dla użytkowników kodujących w językach Python , JavaScript , TypeScript , Ruby i Go .

Historia

29 czerwca 2021 r. GitHub ogłosił GitHub Copilot do technicznej wersji zapoznawczej w środowisku programistycznym Visual Studio Code. GitHub Copilot został wydany jako wtyczka na rynku JetBrains 29 października 2021 r. 27 października 2021 r. GitHub udostępnił wtyczkę GitHub Copilot Neovim jako publiczne repozytorium. GitHub ogłosił dostępność Copilot dla Visual Studio 2022 IDE 29 marca 2022 r. 21 czerwca 2022 r. GitHub ogłosił, że Copilot wyszedł z „technicznej wersji zapoznawczej” i jest dostępny jako usługa oparta na subskrypcji dla indywidualnych programistów.

Cechy

Po otrzymaniu problemu programistycznego w języku naturalnym , Codex jest w stanie wygenerować kod rozwiązania. Jest również w stanie opisywać kod wejściowy w języku angielskim i tłumaczyć kod między językami programowania.

Według swojej strony internetowej, GitHub Copilot zawiera funkcje pomocnicze dla programistów, takie jak konwersja komentarzy do kodu na działający kod i autouzupełnianie dla fragmentów kodu, powtarzalnych sekcji kodu oraz całych metod i / lub funkcji . GitHub informuje, że funkcja autouzupełniania Copilot jest dokładna mniej więcej w połowie przypadków; na przykład z pewnym kodem nagłówka funkcji Pythona Copilot poprawnie automatycznie uzupełnił resztę kodu treści funkcji w 43% przypadków przy pierwszej próbie i 57% czasu po dziesięciu próbach.

GitHub twierdzi, że funkcje Copilot pozwalają programistom poruszać się po nieznanych frameworkach i językach kodowania, zmniejszając ilość czasu, jaki użytkownicy spędzają na czytaniu dokumentacji .

Realizacja

GitHub Copilot jest obsługiwany przez OpenAI Codex , który jest zmodyfikowaną, produkcyjną wersją Generative Pre-trained Transformer 3 (GPT-3), modelu języka wykorzystującego głębokie uczenie się do tworzenia tekstu przypominającego człowieka. Model Codex jest dodatkowo szkolony na gigabajtach kodu źródłowego w kilkunastu językach programowania.

Copilot OpenAI Codex jest przeszkolony w zakresie wybranego języka angielskiego, publicznych repozytoriów GitHub i innego publicznie dostępnego kodu źródłowego. Obejmuje to przefiltrowany zestaw danych zawierający 159 gigabajtów kodu Pythona pochodzącego z 54 milionów publicznych repozytoriów GitHub.

GPT-3 Open AI jest licencjonowany wyłącznie dla firmy Microsoft , firmy macierzystej GitHub .

Przyjęcie

Od czasu wydania Copilot pojawiły się obawy dotyczące jego bezpieczeństwa i wpływu na edukację, a także kontrowersje licencyjne dotyczące tworzonego przez niego kodu.

Kontrowersje dotyczące licencji

Podczas gdy dyrektor generalny GitHub, Nat Friedman, stwierdził w czerwcu 2021 r., że „szkolenie systemów ML na danych publicznych jest dozwolone ”, pozew zbiorowy złożony w listopadzie 2022 r. nazwał to „czystą spekulacją”, twierdząc, że „żaden sąd nie rozważył kwestii, czy” szkolenie systemów uczenia maszynowego na danych publicznych jest dozwolone”. Pozew złożony przez firmę prawniczą Joseph Saveri, LLP, kwestionuje legalność Copilot w związku z kilkoma roszczeniami, począwszy od naruszenia umowy z użytkownikami GitHub, po naruszenie prywatności w ramach CCPA w celu udostępniania danych osobowych .

GitHub przyznaje, że niewielka część danych wyjściowych narzędzia może zostać skopiowana dosłownie, co wywołało obawy, że kod wyjściowy nie jest wystarczająco transformujący, aby można go było sklasyfikować jako dozwolony użytek i może naruszać prawa autorskie pierwotnego właściciela. W czerwcu 2022 roku Software Freedom Conservancy ogłosiło, że zakończy wszelkie korzystanie z GitHub we własnych projektach, zarzucając Copilotowi ignorowanie licencji kodu używanych w danych szkoleniowych. W komunikacie obsługi klienta GitHub stwierdził, że „uczenie modeli uczenia maszynowego na publicznie dostępnych danych jest uważane za dozwolony użytek w całej społeczności uczenia maszynowego” [ Ten cytat wymaga cytatu ] , ale pozew zbiorowy nazwał to „fałszywym” i dodatkowo zauważył, że „niezależnie od poziomu akceptacji tej koncepcji w„ społeczności uczenia maszynowego ”, zgodnie z prawem federalnym jest to nielegalne”.

Białe księgi FSF

28 lipca 2021 r. Fundacja Wolnego Oprogramowania (FSF) opublikowała finansowane zaproszenie do składania białych ksiąg dotyczących kwestii filozoficznych i prawnych dotyczących Copilot. Donald Robertson, kierownik ds. Licencji i zgodności w FSF, stwierdził, że „Drugi pilot stawia wiele [...] pytań, które wymagają głębszej analizy”. 24 lutego 2022 r. FSF ogłosiło, że otrzymało 22 artykuły na ten temat i korzystając z anonimowego procesu recenzji wybrało 5 artykułów do wyróżnienia.

Obawy dotyczące prywatności

Usługa Copilot jest oparta na chmurze i wymaga ciągłej komunikacji z serwerami GitHub Copilot. Ta nieprzejrzysta architektura podsyciła obawy dotyczące telemetrii i eksploracji danych poszczególnych naciśnięć klawiszy.

Względy bezpieczeństwa

Artykuł zaakceptowany do publikacji na sympozjum IEEE na temat bezpieczeństwa i prywatności w 2022 r. oceniał bezpieczeństwo kodu generowanego przez Copilot dla wyliczeń 25 największych słabości kodu MITRE (np. cross-site scripting, path traversal) w 89 różnych scenariuszach i 1689 programy. Dokonano tego wzdłuż osi różnorodności słabych punktów (zdolność reagowania na scenariusze, które mogą prowadzić do różnych słabości kodu), różnorodności monitów (zdolność reagowania na tę samą słabość kodu z subtelnymi zmianami) i różnorodności domen (jego możliwość generowania specyfikacji sprzętu na poziomie transferu rejestru w Verilog ). Badanie wykazało, że na tych osiach w wielu językach 39,33% najlepszych sugestii i 40,73% wszystkich sugestii prowadziło do luk w kodzie. Ponadto odkryli, że małe, niesemantyczne (tj. komentarze) zmiany wprowadzone w kodzie mogą mieć wpływ na bezpieczeństwo kodu.

Obawy dotyczące edukacji

Artykuł opublikowany w lutym 2022 r. przez Association for Computing Machinery ocenia wpływ Codex, technologii używanej przez Github Copilot, na kształcenie początkujących programistów. Badanie wykorzystuje pytania oceniające z wprowadzających zajęć z programowania na Uniwersytecie w Auckland i porównuje odpowiedzi Codex z wynikami uczniów. Badacze odkryli, że średnio Codex radził sobie lepiej niż większość uczniów; jednak jego wydajność spadła w przypadku pytań, które ograniczały funkcje, które można wykorzystać w rozwiązaniu (np. warunki , kolekcje i pętle ). Biorąc pod uwagę tego typu problem, „tylko dwa z 10 rozwiązań [Codex] dały poprawny wynik, ale oba [...] naruszyły [to] ograniczenie”. W artykule stwierdza się, że Codex może być przydatny w dostarczaniu uczniom różnorodnych rozwiązań, ale może również prowadzić do nadmiernego polegania i plagiatu.

Zobacz też

Linki zewnętrzne