Technologia

Hugging Face i ServiceNow wypuszczają darmowy model generujący kod

  • 4 maja, 2023
  • 9 min read
Hugging Face i ServiceNow wypuszczają darmowy model generujący kod


Startup AI Hugging Face i ServiceNow Research, dział badawczo-rozwojowy ServiceNow, wydały StarCoder, bezpłatną alternatywę dla systemów AI generujących kod na wzór Copilot GitHub.

Systemy generujące kod, takie jak AlphaCode firmy DeepMind; Zaklinacz kodów Amazona; i OpenAI’s Codex, który napędza Copilot, dają kuszący wgląd w to, co jest możliwe dzięki sztucznej inteligencji w dziedzinie programowania komputerowego. Zakładając, że kwestie etyczne, techniczne i prawne zostaną kiedyś rozwiązane (a narzędzia do kodowania oparte na sztucznej inteligencji nie powodują więcej błędów i luk w zabezpieczeniach, niż rozwiązują), mogą znacznie obniżyć koszty rozwoju, jednocześnie pozwalając programistom skupić się na bardziej kreatywnych zadaniach.

Według badań przeprowadzonych przez University of Cambridge, co najmniej połowa wysiłków programistów jest poświęcona debugowaniu, a nie aktywnemu programowaniu, co kosztuje branżę oprogramowania szacunkowo 312 miliardów dolarów rocznie. Jednak do tej pory tylko garstka systemów sztucznej inteligencji do generowania kodu została udostępniona publicznie — co odzwierciedla komercyjne zachęty organizacji, które je budują (patrz: Replit).

StarCoder, który z kolei ma licencję umożliwiającą nieodpłatne korzystanie przez każdego, w tym korporacje, został przeszkolony w zakresie ponad 80 języków programowania, a także tekstu z repozytoriów GitHub, w tym dokumentacji i notatników programistycznych. StarCoder integruje się z edytorem kodu Microsoft Visual Studio Code i, podobnie jak ChatGPT OpenAI, może postępować zgodnie z podstawowymi instrukcjami (np. „utwórz interfejs użytkownika aplikacji”) i odpowiadać na pytania dotyczące kodu.

Leandro von Werra, inżynier uczenia maszynowego w Hugging Face i współprowadzący StarCoder, twierdzi, że StarCoder dorównuje lub przewyższa model AI z OpenAI, który był używany do zasilania początkowych wersji Copilot.

„Jedną z rzeczy, których nauczyliśmy się z wydań takich jak Stable Diffusion w zeszłym roku, jest kreatywność i możliwości społeczności open source” – powiedział von Werra TechCrunch w wywiadzie e-mailowym. „W ciągu kilku tygodni od premiery społeczność stworzyła dziesiątki wariantów modelu, a także niestandardowe aplikacje. Wydanie potężnego modelu generowania kodu pozwala każdemu na dopracowanie i dostosowanie go do własnych przypadków użycia i umożliwi niezliczone aplikacje niższego rzędu”.

Budowa modelu

StarCoder jest częścią ponad 600-osobowego projektu BigCode firmy Hugging Face i ServiceNow, rozpoczętego pod koniec ubiegłego roku, którego celem jest opracowanie „najnowocześniejszych” systemów sztucznej inteligencji do kodowania w „otwarty i odpowiedzialny” sposób. Usługa ServiceNow dostarczyła wewnętrzny klaster obliczeniowy składający się z 512 procesorów graficznych Nvidia V100 do trenowania modelu StarCoder.

Warto przeczytać!  Brakuje wszystkich 21 piosenek w stacjach radiowych w GTA San Andreas Definitive Edition (i dlaczego)

Różne grupy robocze BigCode koncentrują się na podtematach, takich jak gromadzenie zestawów danych, wdrażanie metod uczenia modeli kodu, opracowywanie pakietu ewaluacyjnego i omawianie najlepszych praktyk etycznych. Na przykład grupa robocza ds. prawnych, etyki i zarządzania badała kwestie licencjonowania danych, przypisywania wygenerowanego kodu do oryginalnego kodu, redagowania danych osobowych (PII) oraz ryzyka związanego z generowaniem złośliwego kodu.

Zainspirowany wcześniejszymi wysiłkami Hugging Face na rzecz wyrafinowanych systemów generowania tekstu typu open source, BigCode stara się rozwiązać niektóre kontrowersje pojawiające się wokół praktyki generowania kodu opartego na sztucznej inteligencji. Organizacja non-profit Software Freedom Conservancy skrytykowała między innymi GitHub i OpenAI za używanie publicznego kodu źródłowego, z którego nie wszystkie są objęte licencją zezwalającą, do szkolenia i zarabiania na Codex. Codex jest dostępny za pośrednictwem płatnych interfejsów API OpenAI i Microsoftu, a GitHub niedawno zaczął pobierać opłaty za dostęp do Copilot.

Ze swojej strony GitHub i OpenAI zapewniają, że Codex i Copilot — chronione doktryną dozwolonego użytku, przynajmniej w USA — nie naruszają żadnych umów licencyjnych.

„Wydanie zdolnego systemu do generowania kodu może służyć jako platforma badawcza dla instytucji, które są zainteresowane tematem, ale nie mają niezbędnych zasobów ani wiedzy, aby trenować takie modele” — powiedział von Werra. „Wierzymy, że w dłuższej perspektywie prowadzi to do owocnych badań nad bezpieczeństwem, możliwościami i ograniczeniami systemów generujących kod”.

W przeciwieństwie do Copilota, StarCoder o 15 miliardach parametrów był szkolony przez kilka dni na zbiorze danych open source o nazwie The Stack, który zawiera ponad 19 milionów wyselekcjonowanych, licencjonowanych repozytoriów i ponad sześć terabajtów kodu w ponad 350 językach programowania. W uczeniu maszynowym parametry są częściami systemu sztucznej inteligencji wyuczonymi na podstawie historycznych danych szkoleniowych i zasadniczo określają umiejętności systemu w rozwiązywaniu problemu, takiego jak generowanie kodu.

Stos

Grafika przedstawiająca zawartość zestawu danych The Stack. Kredyty obrazkowe: BigCode

Ponieważ jest to licencja liberalna, kod z The Stack może być kopiowany, modyfikowany i redystrybuowany. Ale projekt BigCode zapewnia również programistom możliwość „zrezygnowania” z The Stack, podobnie jak inne wysiłki mające na celu umożliwienie artystom usunięcia ich pracy z zestawów danych szkoleniowych AI do przetwarzania tekstu na obraz.

Warto przeczytać!  Realme 11 Pro Series 5G Data zamówienia w przedsprzedaży i oferty wyciekły przed premierą 8 czerwca w Indiach

Zespół BigCode pracował również nad usunięciem danych osobowych ze stosu, takich jak nazwiska, nazwy użytkowników, adresy e-mail i IP oraz klucze i hasła. Stworzyli oddzielny zestaw danych zawierający 12 000 plików zawierających dane osobowe, które planują udostępnić badaczom poprzez „dostęp bramkowany”.

Poza tym zespół BigCode użył narzędzia Hugging Face do wykrywania złośliwego kodu, aby usunąć pliki z The Stack, które można uznać za „niebezpieczne”, takie jak te ze znanymi exploitami.

Kwestie prywatności i bezpieczeństwa związane z generatywnymi systemami sztucznej inteligencji, które w większości są szkolone na stosunkowo niefiltrowanych danych z sieci, są dobrze ugruntowane. ChatGPT kiedyś zgłosiło numer telefonu dziennikarza. A GitHub przyznał, że Copilot może generować klucze, poświadczenia i hasła widoczne w danych szkoleniowych na nowych ciągach.

„Kod stanowi jedną z najbardziej wrażliwych własności intelektualnych większości firm” — powiedział von Werra. „W szczególności udostępnianie ich poza ich infrastrukturą stanowi ogromne wyzwanie”.

Niektórzy eksperci prawni argumentowali, że systemy sztucznej inteligencji do generowania kodu mogą narazić firmy na ryzyko, gdyby nieświadomie włączyły chroniony prawem autorskim lub wrażliwy tekst z narzędzi do swojego oprogramowania produkcyjnego. Jak zauważa Elaine Atwell w artykule na korporacyjnym blogu Kolide, ponieważ systemy takie jak Copilot usuwają kod z licencji, trudno jest stwierdzić, który kod można wdrożyć, a który może mieć niezgodne warunki użytkowania.

W odpowiedzi na krytykę GitHub dodał przełącznik, który pozwala klientom zapobiegać wyświetlaniu sugerowanego kodu pasującego do publicznych, potencjalnie chronionych prawem autorskim treści z GitHub. Amazon, idąc w jego ślady, wyróżnia CodeWhisperer i opcjonalnie filtruje licencję powiązaną z funkcjami, które sugeruje, że są podobne do fragmentów znalezionych w danych szkoleniowych.

Kierowcy komercyjni

Co więc ma z tego ServiceNow, firma zajmująca się głównie oprogramowaniem do automatyzacji przedsiębiorstw? „Wydajny model i odpowiedzialna licencja na model AI, która pozwala na komercyjne wykorzystanie” — powiedział Harm de Vries, kierownik Laboratorium Modeli Dużych Języków w ServiceNow Research i współkierownik projektu BigCode.

Można sobie wyobrazić, że ServiceNow ostatecznie wbuduje StarCoder w swoje komercyjne produkty. Firma nie ujawniła, ile w dolarach zainwestowała w projekt BigCode, z wyjątkiem tego, że ilość przekazanych mocy obliczeniowych była „znaczna”.

Warto przeczytać!  Dlaczego branża medyczna musi dziś przyjąć Big Data, aby zrewolucjonizować sektor diagnostyki

„Laboratorium dużych modeli językowych w ServiceNow Research gromadzi wiedzę specjalistyczną na temat odpowiedzialnego rozwoju generatywnych modeli sztucznej inteligencji, aby zapewnić bezpieczne i etyczne wdrażanie tych potężnych modeli dla naszych klientów” — powiedział de Vries. „Otwarte naukowe podejście badawcze do BigCode zapewnia programistom ServiceNow i klientom pełną przejrzystość tego, jak wszystko zostało opracowane i pokazuje zaangażowanie ServiceNow we wnoszenie społecznie odpowiedzialnego wkładu w społeczność”.

StarCoder nie jest open source w ścisłym tego słowa znaczeniu. Jest raczej wydawany w ramach programu licencyjnego OpenRAIL-M, który obejmuje „prawnie egzekwowalne” ograniczenia dotyczące przypadków użycia, których muszą przestrzegać pochodne modelu — i aplikacje korzystające z tego modelu.

Na przykład użytkownicy StarCoder muszą wyrazić zgodę na niewykorzystywanie modelu do generowania lub rozpowszechniania złośliwego kodu. Chociaż rzeczywistych przykładów jest niewiele (przynajmniej na razie), badacze wykazali, w jaki sposób sztuczna inteligencja, taka jak StarCoder, może zostać wykorzystana w złośliwym oprogramowaniu, aby uniknąć podstawowych form wykrywania.

To, czy programiści faktycznie przestrzegają warunków licencji, dopiero się okaże. Pomijając zagrożenia prawne, na podstawowym poziomie technicznym nic nie stoi na przeszkodzie, by lekceważyli warunki dla własnych celów.

Tak stało się ze wspomnianym wcześniej Stable Diffusion, którego podobnie restrykcyjną licencję zignorowali deweloperzy, którzy wykorzystali model generatywnej sztucznej inteligencji do stworzenia zdjęć deepfake’ów celebrytów.

Jednak taka możliwość nie zniechęciła von Werrę, który uważa, że ​​wady nieudostępnienia StarCodera nie przeważają nad zaletami.

„Na starcie StarCoder nie będzie dostarczał tak wielu funkcji jak GitHub Copilot, ale dzięki otwartemu oprogramowaniu społeczność może pomóc w ulepszaniu go po drodze, a także w integracji niestandardowych modeli” — powiedział.

Repozytoria kodu StarCoder, platforma szkolenia modeli, metody filtrowania zbiorów danych, pakiet do oceny kodu i notatniki do analizy badań są dostępne na GitHub od tego tygodnia. Projekt BigCode utrzyma je w przyszłości, ponieważ grupy będą dążyć do opracowania bardziej wydajnych modeli generowania kodu, napędzanych wkładem społeczności.

Na pewno jest praca do wykonania. W dokumencie technicznym dołączonym do wydania StarCoder, Hugging Face i ServiceNow twierdzą, że model może generować niedokładne, obraźliwe i wprowadzające w błąd treści, a także dane osobowe i złośliwy kod, który zdołał przejść przez etap filtrowania zestawu danych.


Źródło