Vytvořte si AI tutoriál na míru! Vyzkoušejte generátor tutoriálů a ušetřete čas.

Přesnější generování kódu pomocí umělé inteligence v libovolném programovacím jazyce

Sdílet na sociálních sítích:
Napsal: Jan Kubice
Umělá inteligence

Nová technika automaticky navádí velké jazykové modely k výstupům, které dodržují pravidla libovolného programovacího jazyka.

Obrázek novinky

Přesnější generování kódu pomocí umělé inteligence v libovolném programovacím jazyce

Programátoři nyní mohou používat velké jazykové modely (LLM) k rychlejšímu generování počítačového kódu. To však usnadňuje život programátorům pouze v případě, že tento kód dodržuje pravidla programovacího jazyka a nezpůsobí pád počítače.

Existují některé metody, které zajišťují, že LLM dodržují pravidla jazyka, ve kterém generují text. Mnohé z těchto metod však buď zkreslují zamýšlený význam modelu, nebo jsou příliš časově náročné na to, aby byly proveditelné pro komplexní úlohy.

Nový přístup vyvinutý výzkumníky na MIT a jinde automaticky navádí LLM k generování textu, který dodržuje pravidla příslušného jazyka, například konkrétního programovacího jazyka, a je také bezchybný. Jejich metoda umožňuje LLM alokovat úsilí směrem k výstupům, které mají největší pravděpodobnost, že budou platné a přesné, zatímco v rané fázi procesu zavrhuje neperspektivní výstupy. Tento pravděpodobnostní přístup zvyšuje výpočetní efektivitu.

Díky těmto ziskům v oblasti efektivity umožnila architektura výzkumníků malým LLM překonat mnohem větší modely při generování přesných, správně strukturovaných výstupů pro několik reálných případů použití, včetně molekulární biologie a robotiky.

V dlouhodobém horizontu by tato nová architektura mohla pomoci neexpertům ovládat obsah generovaný umělou inteligencí. Mohla by například umožnit obchodníkům psát komplexní dotazy v SQL, jazyce pro manipulaci s databázemi, pomocí pouhých dotazů v přirozeném jazyce.

„Tato práce má dopad i mimo výzkum. Mohla by zlepšit programovací asistenty, analýzu dat poháněnou umělou inteligencí a nástroje pro vědecký objev tím, že zajistí, aby výstupy generované umělou inteligencí zůstaly jak užitečné, tak správné,“ říká João Loula, postgraduální student MIT a spoluautor článku o tomto rámci.

K Loulovi se v článku připojují spoluautoři Benjamin LeBrun, výzkumný asistent na Mila-Quebec Artificial Intelligence Institute, a Li Du, postgraduální student na John Hopkins University; spoluautoři Vikash Mansinghka, hlavní výzkumný vědec a vedoucí projektu Probabilistic Computing Project na MIT Department of Brain and Cognitive Sciences; Alexander K. Lew, docent na Yale University; Tim Vieira, postdoktorand na ETH Zurich; a Timothy J. O’Donnell, docent na McGill University a předseda Canada CIFAR AI Chair at Mila, který vedl mezinárodní tým; a několik dalších. Výzkum bude představen na Mezinárodní konferenci o reprezentaci učení.

Vynucování struktury a významu

Jeden běžný přístup k řízení strukturovaného textu generovaného LLM zahrnuje kontrolu celého výstupu, například bloku počítačového kódu, aby se ujistili, že je platný a bude běžet bez chyb. Pokud ne, uživatel musí začít znovu a spotřebuje výpočetní zdroje.

Na druhou stranu by programátor mohl zastavit a zkontrolovat výstup cestou. I když to může zajistit, že kód dodržuje programovací jazyk a je strukturálně platný, postupná korekce kódu může způsobit, že se odchýlí od zamýšleného významu uživatele, takže v dlouhodobém horizontu dojde k poškození jeho přesnosti.

„Je mnohem snazší vynucovat strukturu než význam. Můžeme rychle zkontrolovat, zda je něco ve správném programovacím jazyce, ale abyste zkontrolovali jeho význam, musíte kód spustit. Naše práce se také zabývá těmito různými typy informací,“ říká Loula.

Přístup výzkumníků zahrnuje začlenění znalostí do LLM, aby se řídil směrem k nejslibnějším výstupům. Tyto výstupy s větší pravděpodobností budou dodržovat strukturální omezení definovaná uživatelem a budou mít zamýšlený význam uživatele.

„Nesnažíme se trénovat LLM, aby to dělal. Místo toho vkládáme znalosti, které by měl expert, a kombinujeme je se znalostmi LLM, což nabízí zcela jiný přístup k škálování, než jaký vidíte v hlubokém učení,“ dodává Mansinghka.

Toho dosahují pomocí techniky zvané sekvenční Monte Carlo, která umožňuje paralelní generování z LLM, aby mezi sebou soupeřily. Model dynamicky přiděluje zdroje různým vláknům paralelního výpočtu na základě toho, jak slibný se jejich výstup jeví.

Každý výstup dostane váhu, která představuje, jak pravděpodobné je, že bude strukturálně platný a sémanticky přesný. V každém kroku výpočtu se model zaměřuje na ty s vyšší váhou a zbytek zahodí.

V jistém smyslu je to tak, jako kdyby LLM měl experta, který mu kouká přes rameno a zajišťuje, aby dělal správná rozhodnutí v každém kroku, a současně ho udržuje zaměřeného na celkový cíl. Uživatel specifikuje požadovanou strukturu a význam, stejně jako způsob kontroly výstupu, a architektura výzkumníků pak LLM navede, aby zbytek udělal.

„Vyřešili jsme složitou matematiku tak, aby pro jakékoli druhy omezení, které byste chtěli začlenit, dostali správnou váhu. Nakonec dostanete správnou odpověď,“ říká Loula.

Posilování malých modelů

Ke testování svého přístupu aplikovali výzkumníci rámec na LLM, které měly za úkol generovat čtyři typy výstupů: kód Pythonu, dotazy na databázi SQL, molekulární struktury a plány pro robota.

Ve srovnání s existujícími přístupy metoda výzkumníků fungovala přesněji a vyžadovala méně výpočtů.

Například v generování kódu Pythonu architektura výzkumníků umožnila malému open-source modelu překonat specializovaný, komerční uzavřený model, který je více než dvakrát větší.

„Jsme velmi nadšeni, že můžeme umožnit těmto malým modelům, aby předčily své možnosti,“ říká Loula.

V budoucnu chtějí výzkumníci použít svou techniku ​​k ovládání větších částí generovaného textu, místo aby pracovali s jedním malým kouskem najednou. Také chtějí kombinovat svou metodu s učením, takže jak řídí výstupy, které model generuje, učí se být přesnější.

V dlouhodobém horizontu by tento projekt mohl mít širší využití pro netechnické uživatele. Například by mohl být kombinován se systémy pro automatické modelování dat a dotazování generativních modelů databází.

Tento přístup by také mohl umožnit systémy strojově asistované analýzy dat, kde si uživatel může konverzovat se softwarem, který přesně modeluje význam dat a otázky položené uživatelem, dodává Mansinghka.

„Jednou ze základních otázek lingvistiky je, jak lze význam slov, frází a vět zakotvit v modelech světa, které zohledňují nejistotu a neurčitost významu a reference. LLM, které předpovídají pravděpodobné sekvence tokenů, tento problém neřeší. Náš článek ukazuje, že v úzkých symbolických doménách je technicky možné mapovat ze slov na rozdělení na zakotvené významy. Je to malý krok směrem k hlubším otázkám v kognitivní vědě, lingvistice a umělé inteligenci, které jsou potřebné k pochopení toho, jak mohou stroje komunikovat o světě stejně jako my,“ říká O’Donnell.

Tento výzkum je financován a podporován částečně programem Canada CIFAR AI Chairs Program, MIT Quest for Intelligence a Convergent Research.

Související články

Sdílet na sociálních sítích:

Komentáře

Zatím žádné komentáře. Buďte první, kdo napíše svůj názor!