Programiści mogą teraz używać dużych modeli językowych (LLM) do szybszego generowania kodu komputerowego. Jednak to ułatwia życie programistom, jeśli ten kod postępuje zgodnie z zasadami języka programowania i nie powoduje awarii komputera.
Istnieją niektóre metody zapewnienia, że LLM są zgodne z zasadami dowolnego języka, w którym generują tekst, ale wiele z tych metod albo zniekształca zamierzone znaczenie modelu, albo jest zbyt czasochłonne, aby można było być wykonalne dla złożonych zadań.
Nowe podejście opracowane przez naukowców z MIT i gdzie indziej automatycznie prowadzi LLM do generowania tekstu, który jest zgodny z regułami odpowiedniego języka, takiego jak konkretny język programowania, a także jest bezbłędne. Ich metoda pozwala LLM przydzielić wysiłki na wyniki, które najprawdopodobniej będą prawidłowe i dokładne, przy jednoczesnym odrzucaniu nietypowych wyników na początku procesu. To podejście probabilistyczne zwiększa wydajność obliczeniową.
Ze względu na te zyski z wydajności architektura naukowców umożliwiła małym LLM przewyższanie znacznie większych modeli w generowaniu dokładnych, odpowiednio ustrukturyzowanych wyników dla kilku rzeczywistych przypadków użycia, w tym biologii molekularnej i robotyki.
Na dłuższą metę ta nowa architektura może pomóc w UNSPerts kontrolować treści generowane AI. Na przykład może to pozwolić biznesmenom na pisanie złożonych zapytań w SQL, języku manipulacji bazą danych, używając tylko podpowiedzi języka naturalnego.
„Ta praca ma wpływ poza badaniami. Może poprawić asystentów programowania, analizę danych zasilanych AI i naukowe narzędzia do odkrywania poprzez zapewnienie, że wyniki generowane przez AI pozostają zarówno przydatne, jak i poprawne”, mówi João Loula, absolwent MIT i wspólnie autorka artykułu na temat tych ram.
Do Loula dołącza do artykułu autorki Benjamina Lebruna, asystenta badawczego w Milla-Quebec Artificial Intelligence Institute, oraz Li du, absolwentka z John Hopkins University; Autorzy współ-senior Vikash Mansinghka '05, Meng '09, PhD '09, główny naukowiec badawczy i lider projektu obliczeniowego probabilistycznego w Departamencie MIT Brain and Cognitive Sciences; Alexander K. Lew SM '20, adiunkt na Uniwersytecie Yale; Tim Vieira, postdok w Eth Zurych; oraz Timothy J. O'Donnell, profesor nadzwyczajny na Uniwersytecie McGill i przewodniczący Canada Cifar AI w Mili, który prowadził międzynarodowy zespół; a także kilka innych. Badania zostaną przedstawione na międzynarodowej konferencji na temat reprezentacji uczenia się.
Egzekwowanie struktury i znaczenia
Jednym z powszechnych podejść do kontrolowania strukturalnego tekstu generowanego przez LLMS jest sprawdzenie całego wyjścia, takiego jak blok kodu komputerowego, aby upewnić się, że jest on poprawny i będzie działał bezbłędnie. Jeśli nie, użytkownik musi zacząć od nowa, gromadząc zasoby obliczeniowe.
Z drugiej strony programista może przestać sprawdzić wyjście po drodze. Chociaż może to zapewnić, że kod jest zgodny z językiem programowania i jest prawidłowy strukturalnie, stopniowe korygowanie kodu może spowodować, że dryfuje go od znaczenia, które użytkownik zamierza, zraniając jego dokładność na dłuższą metę.
„O wiele łatwiej jest egzekwować strukturę niż znaczenie. Możemy szybko sprawdzić, czy coś jest we właściwym języku programowania, ale aby sprawdzić jego znaczenie, musisz wykonać kod. Nasza praca polega również na radzeniu sobie z tymi różnymi rodzajami informacji”, mówi Loula.
Podejście naukowców obejmuje wiedzę inżynieryjną w LLM, aby skierować ją do najbardziej obiecujących wyników. Wyjścia te częściej przestrzegają ograniczeń strukturalnych zdefiniowanych przez użytkownika i mają znaczenie, które użytkownik zamierza.
„Nie staramy się szkolić LLM, aby to zrobić. Zamiast tego inżynierujemy wiedzę, którą miałby ekspert i łączy go z wiedzą LLM, która oferuje zupełnie inne podejście do skalowania niż w głębokim uczeniu się” – dodaje Mansinghka.
Osiągają to za pomocą techniki zwanej sekwencyjnymi Monte Carlo, która umożliwia generowanie równoległego z LLM konkurować ze sobą. Model dynamicznie przydziela zasoby na różne wątki o równoległych obliczeniach w zależności od tego, jak obiecujące pojawiają się ich wyjściowe.
Każde wyjście otrzymuje wagę, która reprezentuje, jak prawdopodobne jest, że jest to prawidłowe strukturalnie i semantycznie dokładne. Na każdym etapie obliczeń model koncentruje się na tych o wyższych ciężarach i wyrzuca resztę.
W pewnym sensie jest to tak, jakby LLM ma eksperta przeglądającego swoje ramię, aby zapewnić właściwy wybór na każdym etapie, jednocześnie skupiając się na ogólnym celu. Użytkownik określa swoją pożądaną strukturę i znaczenie, a także sposób sprawdzania wyników, a następnie architektura naukowców prowadzi LLM do wykonania reszty.
„Opracowaliśmy twardą matematykę, aby w przypadku wszelkiego rodzaju ograniczeń, które chciałbyś włączyć, uzyskasz odpowiednie ciężary. Ostatecznie otrzymasz właściwą odpowiedź” – mówi Loula.
Zwiększenie małych modeli
Aby przetestować ich podejście, zastosowali framework do LLM, których zadaniem jest wygenerowanie czterech rodzajów wyjść: kod Pythona, zapytania bazy danych SQL, struktury molekularne i plany do naśladowania robota.
W porównaniu z istniejącymi podejściami metoda naukowców wykonała dokładniej, wymagając mniej obliczeń.
Na przykład w generowaniu kodu w Pythonie architektura naukowców umożliwiła mały model typu open source, aby przewyższyć wyspecjalizowany, komercyjny model zamkniętych, który jest ponad dwukrotnie większy.
„Jesteśmy bardzo podekscytowani, że możemy pozwolić tym małym modelom znacznie przekraczać ich wagę” – mówi Loula.
Idąc dalej, naukowcy chcą użyć swojej techniki do kontrolowania większych fragmentów wygenerowanego tekstu, zamiast pracować na jednym małym kawałku na raz. Chcą także połączyć swoją metodę z uczeniem się, aby kontrolować wyniki generowane przez model, uczy się być dokładniejsze.
Na dłuższą metę projekt ten może mieć szersze aplikacje dla użytkowników nietechnicznych. Na przykład można go połączyć z systemami do automatycznego modelowania danych i zapytania o generatywne modele baz danych.
Podejście to może również umożliwić systemy analizy danych wspomaganych maszynowo, w których użytkownik może rozmawiać z oprogramowaniem, które dokładnie modeluje znaczenie danych i pytania zadane przez użytkownika, dodaje Mansinghka.
„Jednym z podstawowych pytań dotyczących lingwistyki jest to, w jaki sposób znaczenie słów, fraz i zdań można uzasadnić modele świata, uwzględniając niepewność i niejasność w znaczeniu i odniesieniu. LLM, przewidując, że prawdopodobne jest, że jest to możliwe sekwencje tokenowe, nie zajmują się tym problemem. Nasz papier pokazuje, że w wąskich domenach symbolicznych jest to technicznie możliwe do mapowania słów do dystrybucji w gruntu. Jest to drobna krok w kierunku deepter w kierunku deepter, w kierunku uważają się za studentkę, w wąskiej nauce, wąska nauka, wąska nauka. Lingwistyka i sztuczna inteligencja musiały zrozumieć, w jaki sposób maszyny mogą komunikować się o świecie tak jak my ” – mówi O'Donnell.
Badania te są częściowo finansowane przez program Canada CIFAR AI Program oraz przez Siegel Family Foundation za pośrednictwem prezentu dla MIT Siegel Family Quest for Intelligence