Velké jazykové modely (LLM) mají často potíže správně vyřešit i ty nejjednodušší matematické nebo logické (respektive podobně „exaktní“) problémy. Některé LLM si mohou pro zpracování symbolických dotazů generovat kód, modely ale ne vždy vědí, kdy mají kód použít nebo jaký druh kódu by fungoval nejlépe.
Proto vznikl CodeSteer: asistent pro LLM vyvinutý na MITu, který vede LLM k přepínání mezi využitím kódu a textu, dokud správně neodpoví na dotaz.
CodeSteer, který je sám o sobě menším LLM, automaticky generuje sérii pokynů k iterativnímu řízení většího LLM. Po každém kole zkontroluje aktuální a předchozí odpovědi modelu a poskytne pokyny, jak může dané řešení opravit nebo vylepšit, dokud nepovažuje odpověď za správnou.
Vědci zjistili, že doplnění většího LLM o CodeSteer zvýšilo jeho přesnost při symbolických úkolech, jako je násobení čísel, hraní Sudoku a skládání kostek, o více než 30 %. Umožnilo také méně sofistikovaným modelům překonat pokročilejší modely s vylepšenými schopnostmi uvažování.
Tento pokrok by mohl zlepšit schopnosti LLM řešit složité úkoly, které jsou zvlášť obtížné vyřešit pouze pomocí textového uvažování, jako je generování tras pro roboty v proměnlivých prostředích nebo plánování zásilek v mezinárodním dodavatelském řetězci.
Trochu podrobněji podle průvodní tiskové zprávy: Zeptáte-li se LLM, které číslo je větší, 9,11 nebo 9,9, na základě „textového uvažování“ je umělá inteligence schopna dát i na takto triviální otázku chybnou odpověď. Bude-li model na stejnou otázku odpovídat pomocí kódu, vygeneruje si spustí skript (typicky v Pythonu), který porovná obě čísla, a snadno tak vyřeší problém.
LLM, které byly původně trénovány k porozumění a předpovídání lidského jazyka, mají větší tendenci odpovídat na dotazy pomocí textu, i když by byl efektivnější kód (poznámka: míněno pro „mezipoužití“ v rámci procesu odpovídání, uživatel samotný kód vůbec uvidět nemusí). Navíc tyto modely někdy generují nesprávnou nebo méně efektivní verzi kódu. Místo toho, aby se pokoušeli přecvičit výkonný LLM jako GPT-4 nebo Claude a vylepšit jeho schopnosti, natrénovali výzkumníci z MITu menší, lehký LLM tak, aby vedl větší model k přepínání mezi textem a kódem. Doladění prostřednictvím menšího modelu nemění větší LLM, takže nehrozí riziko, že by to narušilo ostatní schopnosti většího modelu.
CodeSteer nejprve zkontroluje dotaz a určí, zda je pro tento problém vhodnější text nebo kód a jaký druh kódu by byl případně nejlepší.
Poté vygeneruje výzvu pro větší LLM a sdělí mu, aby k zodpovězení dotazu použil metodu kódu nebo textové uvažování. Větší model se řídí touto výzvou, zodpoví dotaz a odešle výsledek zpět do CodeSteer, který jej zkontroluje. Pokud odpověď není správná, CodeSteer bude LLM nadále vyzývat, aby vyzkoušel různé možnosti, které by mohly problém vyřešit, například začlenění vyhledávacího algoritmu nebo jiné úpravy kódu, dokud nebude odpověď správná. Autoři výzkumu v této souvislosti zmiňují, že větší LLM bývá často líný a používá kratší, méně efektivní kód, který třeba ani neprovede symbolický „výpočet“ správně. Uvádějí, že univerzální model doplněný o CodeSteer může dosáhnout vyšší přesnosti než nejmodernější modely zaměřené na komplexní uvažování a plánování, přičemž vyžaduje mnohem méně výpočetního výkonu.
Yongchao Chen et al, CodeSteer: Symbolic-Augmented Language Models via Code/Text Guidance, arXiv (2025). DOI: 10.48550/arxiv.2502.04350
Zdroj: Massachusetts Institute of Technology / MIT News / TechXplore.com













