GitHub Copilot — duże modele językowe (LLMs)

Ukończone

Narzędzie GitHub Copilot jest obsługiwane przez duże modele językowe (LLMs), aby ułatwić bezproblemowe pisanie kodu. W tej lekcji skupimy się na zrozumieniu integracji i wpływu funkcji LLMs w usłudze GitHub Copilot. Zapoznajmy się z następującymi tematami:

  • Co to są LLMs?
  • Rola LLMs w usłudze GitHub Copilot i monitowanie
  • Dostrajanie llMs
  • Dostrajanie loRA

Co to są LLMs?

Duże modele językowe (LLM) to modele sztucznej inteligencji zaprojektowane i wytrenowane w celu zrozumienia, wygenerowania i manipulowania językiem ludzkim. Modele te są zakorzenione dzięki możliwości obsługi szerokiej gamy zadań obejmujących tekst dzięki obszernej ilości danych tekstowych, na których są trenowane. Poniżej przedstawiono niektóre podstawowe aspekty, które należy zrozumieć na temat llMs:

Ilość danych treningowych

Maszyny LLM są narażone na ogromne ilości tekstu z różnych źródeł. Ta ekspozycja zapewnia im szerokie zrozumienie języka, kontekstu i zawiłości zaangażowanych w różne formy komunikacji.

Kontekstowe zrozumienie

Doskonale sprawdzają się w generowaniu kontekstowo istotnego i spójnego tekstu. Ich zdolność do zrozumienia kontekstu pozwala im zapewnić znaczący wkład, niezależnie od tego, czy wykonuje zdania, akapity, czy nawet generuje całe dokumenty, które są kontekstowo trafne.

Integracja uczenia maszynowego i sztucznej inteligencji

LlMs są zakorzenione w uczeniu maszynowym i zasadach sztucznej inteligencji. Są to sieci neuronowe z milionami, a nawet miliardami parametrów, które są precyzyjnie dostrojone podczas procesu trenowania w celu efektywnego zrozumienia i przewidywania tekstu.

Wszechstronność

Te modele nie są ograniczone do określonego typu tekstu lub języka. Można je dostosować i dostosować do wykonywania wyspecjalizowanych zadań, co czyni je bardzo wszechstronnymi i mającymi zastosowanie w różnych domenach i językach.

Rola LLMs w narzędziu GitHub Copilot i monitowaniu

GitHub Copilot korzysta z funkcji LLMs w celu udostępniania sugestii dotyczących kodu z obsługą kontekstu. LlM uwzględnia nie tylko bieżący plik, ale także inne otwarte pliki i karty w środowisku IDE w celu wygenerowania dokładnych i odpowiednich uzupełniania kodu. To dynamiczne podejście zapewnia dostosowane sugestie, zwiększając produktywność.

Dostrajanie llMs

Dostrajanie jest krytycznym procesem, który umożliwia dostosowanie wstępnie wytrenowanych dużych modeli językowych (LLMs) do określonych zadań lub domen. Obejmuje trenowanie modelu na mniejszym, specyficznym dla zadania zestawie danych, znanym jako docelowy zestaw danych, przy użyciu wiedzy i parametrów uzyskanych z dużego wstępnie wytrenowanego zestawu danych nazywanego modelem źródłowym.

Diagram pokazujący, jak dostrajanie jest używane w dużych modelach językowych.

Dostrajanie jest niezbędne, aby dostosować maszyny LLM do określonych zadań, zwiększając ich wydajność. Jednak usługa GitHub wykonała krok dalej, korzystając z metody dostrajania grzywny LoRA, którą omówimy w następnej kolejności.

Dostrajanie loRA

Tradycyjne pełne dostrajanie oznacza trenowanie wszystkich części sieci neuronowej, które mogą być powolne i mocno zależne od zasobów. Ale LoRA (Adaptacja o niskiej rangi) dostrajanie jest sprytną alternatywą. Służy do tego, aby duże wstępnie wytrenowane modele językowe działały lepiej w przypadku określonych zadań bez ponownego trenowania.

Oto jak działa loRA:

  • LoRA dodaje mniejsze części do trenowania do każdej warstwy wstępnie wytrenowanego modelu, zamiast zmieniać wszystko.
  • Oryginalny model pozostaje taki sam, co pozwala zaoszczędzić czas i zasoby.

Co jest wspaniałe w przypadku loRA:

  • Bije inne metody adaptacji, takie jak adaptery i dostrajanie prefiksów.
  • To jak uzyskanie świetnych wyników z mniejszą liczbą ruchomych części.

Mówiąc prosto, dostrajanie LoRA polega na pracy mądrzejszej, a nie trudniejszej, aby uczynić llMs lepszymi dla konkretnych wymagań kodowania podczas korzystania z Copilot.