DeepMind uporabil veliki jezikovni model za rešitev matematičnega problema

Matej Huš

18. dec 2023 ob 22:58:47

DeepMind je razvil že več orodij na osnovi umetne inteligence, ki so zmogla najrazličnejša opravila od igranja šaha do medicinske diagnostike. A praviloma niso uporabljala velikih jezikovnih modelov (LLM), ker so ti pri logično-matematičnih nalogah slabi. Njihov najnovejši dosežek pa združuje prav ta svetova, saj so z LLM-jem reševali matematične probleme, za katere pred tem rešitev nismo poznali. O dosežku pišejo v najnovejši številki revije Nature, prav tako so razkrili kodo.


Veliki jezikovni modeli se najbolje obnesejo, če jih sprašujemo reči, ki so zapisane v vhodnih podatkih za trening, pa še tedaj si lahko kaj izmislijo. DeepMind pa je razvil orodje FunSearch, ki se tem težavam sorazmerno uspešno izogiba. Gre za orodje, ki je namenjeno iskanju funkcij (od tod ime), kar ni prvi matematični otrok iz DeepMinda. Spomnimo, da je AlphaTensor iskal hitrejše načine množenja matrik, AlphaDev pa je izboljševal algoritme. Sedaj pa so razvili prvo orodje, ki za matematiko uporablja LLM.

Problema so se lotili tako, da so matematični izziv formulirali v Pythonu, vmes pa pustili prazne vrstice, ki vračajo rezultat. Reševali so znameniti matematični problem, ki predstavlja večrazsežno posplošitev vprašanja, koliko točk lahko postavimo na dvodimenzionalno mrežo, da skozi nobeno trojico ne bo možno potegniti premice. To je sicer nišni problem, a popularen, pristop pa je vsej prej kot nišni.

FunSearch je deloval tako, da je generiral več možnih odgovorov, ki so bili vrstice kode za reševanje problema. Najboljše približke so nato vrnili v program in po več milijonih iteracij so dobili splošen odgovor v obliki kode. Končni izplen so seveda številske rešitve, ki so jih lahko preverili, in so bile za nekatere dimenzije dejansko boljši od trenutno znanih rekordov. V praksi bi lahko tako reševali tudi druge matematične probleme, če bi jih zapisali v ustreznem formatu v Pythonu.