Prompt engineering
Analoginen ja Askeltakaisin-ohjelmointi: Syväanalyysi Google DeepMindin uusimmista edistysaskelista

Johdanto
Ohjelmistojen kehittäminen keskittyy tehokkaiden ohjelmistojen kehittämiseen, jotta suuret kielimallit (LLM) voivat tuottaa halutun vastauksen. Hyvin suunniteltu ohjelmisto voi olla eroa epämääräiselle tai epätarkalle vastaukselle ja tarkalle, viisaalle vastaukselle.
Laajemmassa tekoälyekosysteemissä ohjelmistojen kehittäminen on yksi useista menetelmistä, joita käytetään saadakseen tarkemman ja asiayhteyden mukaisen tiedon kielimalleista. Muita menetelmiä ovat esimerkiksi vähäinen oppiminen, jossa mallille annetaan muutamia esimerkkejä auttamaan sen ymmärtämään tehtävän, ja hienosäätö, jossa malli koulutetaan edelleen pienemmällä aineistolla erikoistamaan sen vastauksia.
Google DeepMind (GOOGL ) on julkaissut äskettäin kaksi tutkimuspaperia, jotka käsittelevät ohjelmistojen kehittämistä ja sen potentiaalia parantaa vastauksia monissa tilanteissa.
Nämä paperit ovat osa jatkuvaa tutkimusta tekoälyyhteisössä parantamaan ja optimointi tapaa, jolla viestimme kielimalleihin, ja ne tarjoavat uusia näkökulmia ohjelmistojen rakentelemiseen paremman kysymyksen käsittelyä ja tietokanta vuorovaikutusta varten.
Tässä artikkelissa tarkastelemme näiden tutkimuspaperien yksityiskohtia, selventäen käsitteitä, menetelmiä ja vaikutuksia ehdotetuista tekniikoista, ja tehdään se helpoksi ymmärtää, myös lukijoille, joilla on rajoitettu tietämys tekoälystä ja luonnollisen kielen prosessoinnista.
Paperi 1: Suuret kielimallit analogisina päättelijöinä
Ensimmäinen paperi, “Suuret kielimallit analogisina päättelijöinä”, esittelee uuden ohjelmointitavan, jota kutsutaan analogiseksi ohjelmoinniksi. Kirjoittajat, Michihiro Yasunaga, Xinyun Chen ja muut, saavat inspiraation analogisesta päättelystä – kognitiivisesta prosessista, jossa ihmiset hyödyntävät aiempia kokemuksia ratkaisemaan uusia ongelmia.
Avainkäsitteet ja menetelmä
Analoginen ohjelmointi kannustaa LLM: iä luomaan itsenäisesti relevantteja esimerkkejä tai tietoa asiayhteydessä ennen kuin siirtyy ratkaisemaan annettua ongelmaa. Tämä lähestymistapa poistaa tarpeen merkityistä esimerkeistä, tarjoten yleisyyttä ja helppoutta, ja sovittaa luodut esimerkit kunkin tiettyyn ongelmaan, varmistaen mukautuvuuden.

Vasen: Perinteiset LLM-ohjelmointimenetelmät riippuvat joko geneerisistä syötteistä (0-laukaus CoT) tai vaativat merkittyjä esimerkkejä (vähäinen laukaus CoT). Oikea: Uusi lähestymistapa ohjelmoi LLM: t luomaan itsenäisesti esimerkkejä ennen ongelman ratkaisemista, poistamalla tarpeen merkitsemiseen ja räätälmoiden esimerkit kunkin yksilölliseen ongelmaan
Itsenäisesti luodut esimerkit
Ensimmäinen esitetty tekniikka on itsenäisesti luodut esimerkit. Ideana on hyödyntää LLM: n laajaa tietopohjaa, jonka se on hankkinut koulutuksen aikana, auttamaan sitä ratkaisemaan uusia ongelmia. Prosessi sisältää kohdeongelman täydentämisen ohjeilla, jotka ohjelmoivat mallin muistamaan tai luomaan relevantteja ongelmia ja ratkaisuja.
Esimerkiksi annetun ongelman kohdalla malli ohjelmoitaisiin muistamaan kolme erilaista ja relevanttia ongelmaa, kuvailemaan niitä ja selittämään niiden ratkaisuja. Tämä prosessi on suunniteltu suoritettavaksi yhdessä vaiheessa, jolloin LLM pystyy luomaan relevantteja esimerkkejä ja ratkaisemaan alkuperäisen ongelman vaivattomasti. Ohjeiden “#”-merkkien käyttö ohjelmoissa auttaa rakentelemassa vastausta, tehdessä siitä järjestelmällisemmän ja helpomman mallille seurattavaksi.
Teknisenä tärkeänä päätöksenä korostetaan relevanttien ja monipuolisten esimerkkien luomista, yhden vaiheen lähestymistavan käyttöä suuremman helppouden vuoksi ja havaintoa, että kolmen tai viiden esimerkin luominen johtaa parhaisiin tuloksiin.
Itsenäisesti luodut tiedot + esimerkit
Toinen tekniikka, itsenäisesti luodut tiedot + esimerkit, esitetään ratkaisemaan haasteita monimutkaisemmissa tehtävissä, kuten koodin luomisessa. Näissä tilanteissa LLM: t voivat riippua liikaa matalatasoisista esimerkeistä ja kamppailla yleistämisen kanssa ratkaisemalla kohdeongelmaa. Tätä varten kirjoittajat ehdottavat ohjelmoinnin täydentämistä ohjeella, joka kannustaa mallia tunnistamaan keskeiset käsitteet ongelman ja antamaan tutoriaalin tai korkean tason otteen.
Yksi kriittinen huomio on järjestyksessä, jossa tiedot ja esimerkit luodaan. Kirjoittajat totesivat, että tietojen luominen ennen esimerkkejä johtaa parempiin tuloksiin, koska se auttaa LLM: ää keskittymään perustaviin ongelmanratkaisumenetelmiin eikä pelkästään pinnan tasolla oleviin yhdennäköisyyksiin.
Edut ja sovellukset
Analogisen ohjelmoinnin lähestymistapa tarjoaa useita etuja. Se tarjoaa yksityiskohtaisia esimerkkejä päättelystä ilman manuaalisen merkitsemisen tarvetta, ratkaisemalla haasteita, jotka liittyvät 0-laukaus- ja vähäiseen laukausketjuun (CoT) -menetelmiin. Lisäksi luodut esimerkit ovat sovellettavissa kunkin ongelman yksilöllisiin tarpeisiin, tarjoten relevantimman ohjaamisen verrattuna perinteiseen vähäiseen laukausketjuun, joka käyttää kiinteitä esimerkkejä.
Paperi osoittaa tämän lähestymistavan tehokkuuden erilaisissa päättelytehtävissä, mukaan lukien matemaattinen ongelmanratkaisu, koodin luominen ja muut päättelytehtävät BIG-Benchissä.
Alempana olevat taulukot esittävät eri ohjelmointimenetelmien suorituskykyä eri mallirakenteissa. Huomionarvoista on, että “Itsenäisesti luodut esimerkit” -menetelmä ylittää johdonmukaisesti muut menetelmät tarkkuuden suhteen. GSM8K-tarkkuudessa tämä menetelmä saavuttaa korkeimman suorituskyvyn PaLM2-mallissa 81,7 prosentilla. Vastaavasti MATH-tarkkuudessa se on paras GPT3.5-turbo-mallissa 37,3 prosentilla.
Toisessa taulukossa GPT3.5-turbo-16k- ja GPT4-malleissa “Itsenäisesti luodut tiedot + esimerkit” näyttävät parhaimman suorituskyvyn.
Paperi 2: Ottaa Askelen Taakse: Herättäen päättelyä abstrahoinnin kautta suurissa kielimalleissa
Yleiskatsaus
Toinen paperi, “Ottaa Askelen Taakse: Herättäen päättelyä abstrahoinnin kautta suurissa kielimalleissa“, esittelee Askeltakaisin-ohjelmoinnin, tekniikan, joka kannustaa LLM: iä abstrahoimaan korkean tason käsitteitä ja periaatteita yksityiskohtaisista tapauksista. Kirjoittajat, Huaixiu Steven Zheng, Swaroop Mishra ja muut, pyrkivät parantamaan LLM: n päättelykykyä ohjaamalla niitä seuraamaan oikeaa päättelyreittiä kohti ratkaisua.

Kuvaus Askeltakaisin-ohjelmoinnista kahdessa vaiheessa: Abstrahoinnissa ja päättelyssä, johdattuna keskeisillä käsitteillä ja periaatteilla.
Luodaan yksinkertainen esimerkki perusmatemaattisella kysymyksellä demonstroidaksemme “Askeltakaisin-kysymys” -tekniikkaa:
Alkuperäinen kysymys: Jos juna kulkee 60 km/h nopeudella ja kattaa 120 km matkan, kuinka kauan se kestää?
Vaihtoehdot:
3 tuntia
2 tuntia
1 tunti
4 tuntia
Alkuperäinen vastaus [Väärä]: Oikea vastaus on 1).
Askeltakaisin-kysymys: Mikä on peruskaava ajan laskemiseen, kun nopeus ja etäisyys tiedetään?
Periaatteet:
Ajan laskemiseen käytetään kaavaa:
Aika = Etäisyys / Nopeus
Lopullinen vastaus:
Käyttämällä kaavaa, Aika = 120 km / 60 km/h = 2 tuntia.
Oikea vastaus on 2) 2 tuntia.
Vaikka nykyiset LLM: t voivat helposti vastata edelliseen kysymykseen, tämä esimerkki on vain demonstraatio siitä, miten askeltakaisin-tekniikka toimisi. Haastavampien tilanteiden kohdalla samaa tekniikkaa voidaan soveltaa jäsentämään ja ratkaisemaan ongelmaa systemaattisesti. Alla on esitetty monimutkaisempi tapaus, joka on esitetty paperissa:
Avainkäsitteet ja menetelmä
Askeltakaisin-ohjelmoinnin ydin on kyky saada LLM: t ottamaan metaforisen askelen taakse, kannustaen niitä katsomaan suurempaa kuvaa sen sijaan, että ne menettävät fokus yksityiskohtiin. Tämä saavutetaan sarjan huolellisesti suunniteltujen ohjelmistojen avulla, jotka ohjaavat LLM: iä abstrahoimaan tietoa, johtamaan korkean tason käsitteitä ja soveltamaan näitä käsitteitä ratkaisemaan annettua ongelmaa.
Prosessi alkaa LLM: n ohjelmoinnista abstrahoida yksityiskohtia annetuista tapauksista, kannustaen sitä keskittymään perustaviin käsitteisiin ja periaatteisiin. Tämä vaihe on kriittinen, koska se asettaa LLM: n lähestymään ongelmaa tietoisemmin ja periaatteellisemmin.
Kun korkean tason käsitteet on johdettu, niitä käytetään ohjaamaan LLM: ää päättelyvaiheissa kohti ratkaisua. Tämä ohjaus varmistaa, että LLM: ää pysyy oikealla tiellä, seuraamalla loogista ja johdonmukaista reittiä, joka perustuu abstrahoiduihin käsitteisiin ja periaatteisiin.
Kirjoittajat suorittavat sarjan kokeita vahvistamaan Askeltakaisin-ohjelmoinnin tehokkuutta, käyttäen PaLM-2L-malleja laajalla valikoimalla haastavia päättelytehtäviä. Nämä tehtävät sisältävät STEM-ongelmia, Tietopankkikysymyksiä ja Monihyppypäättelyä, tarjoten kattavan testipohjan tekniikan arvioimiseksi.
Merkittävät parannukset tehtävissä
Tulokset ovat vaikuttavia, ja Askeltakaisin-ohjelmointi johtaa merkittäviin suorituskyvyn parannuksiin kaikissa tehtävissä. Esimerkiksi tekniikka parantaa PaLM-2L-suorituskykyä MMLU Fysiikassa ja Kemistiikassa 7 prosentilla ja 11 prosentilla. Vastaavasti se parantaa suorituskykyä TimeQA: ssä 27 prosentilla ja MuSiQue: ssä 7 prosentilla.
Nämä tulokset korostavat Askeltakaisin-ohjelmoinnin potentiaalia parantaa merkittävästi LLM: n päättelykykyä.
Johtopäätös
Molemmat Google DeepMindin paperit esittävät innovatiivisia lähestymistapoja ohjelmointiin, pyrkien parantamaan suurten kielimallien päättelykykyä. Analoginen ohjelmointi hyödyntää analogista päättelyä, kannustaen malleja luomaan itsenäisesti esimerkkejä ja tietoa, johtaen sopeutuvampiin ja tehokkaampiin ongelmanratkaisumenetelmiin. Toisaalta Askeltakaisin-ohjelmointi keskittyy abstrahointiin, ohjaten malleja johtamaan korkean tason käsitteitä ja periaatteita, mikä parantaa niiden päättelykykyä.
Nämä tutkimuspaperit tarjoavat arvokkaita näkökulmia ja menetelmiä, joita voidaan soveltaa eri aloilla, johtaen älykkäämpiin ja kykyisempiin kielimalleihin. Kun jatkamme ohjelmointitekniikoiden tutkimista ja ymmärtämistä, nämä lähestymistavat toimivat tärkeinä askelmerkkeinä edistyneempien ja monimutkaisempien tekoälyjärjestelmien saavuttamiseksi.
















