Prompt engineering

ChatGPT ja edistynyt ohjelmointi: ohjaamassa AI-evoluutiota

mm
Lisää Unite.AI suosikkilähteisiisi Google-palvelussa

OpenAI on ollut keskeisessä asemassa kehittämässä vallankumouksellisia työkaluja, kuten OpenAI Gym, joka on suunniteltu vahvistusoppimisalgoritmien koulutukseen, ja GPT-malleja. Valot ovat myös DALL-E: ssä, joka on tekoälymalli, joka luo kuvia tekstisyötteistä. Yksi tällainen malli, joka on saanut merkittävää huomiota, on OpenAI: n ChatGPT, joka on loistava esimerkki suurten kielen mallien alueella.

GPT-4: Ohjelmointi

ChatGPT on muuttanut chatbot-maailman, tarjoamalla ihmismäisiä vastauksia käyttäjän syötteisiin ja laajentamalla sovelluksia eri aloilla – ohjelmistokehityksestä ja testaamisesta liiketoimintaviestintään ja jopa runouden luomiseen.

Käsiin, joissa yritykset ja yksityishenkilöt ovat, GPT-4 esimerkiksi voisi toimia loppumattomana tietovarantona, joka on taitava aiheissa, jotka ulottuvat matematiikasta ja biologiasta oikeustutkimuksiin. Tällaiset sofistit ja helposti saatavilla olevat tekoälymallit ovat valmiina uudelleenmäärittelemään tulevaisuuden työtä, oppimista ja luovuutta.

ChatGPT Futuristinen logo

Generatiiviset mallit, kuten GPT-4, voivat tuottaa uutta dataa olemassa olevien syötteiden perusteella. Tämä erottuva ominaisuus mahdollistaa niiden suorittamisen moninaisia tehtäviä, mukaan lukien tekstin, kuvien, musiikin ja videoiden generointi.

ChatGPT: n ja OpenAI-mallien kontekstissa ohjelmointi on syöte, jonka käyttäjät antavat malleille, yleensä tekstin muodossa. Ohjelmoinnit ovat ensisijainen keino ohjata mallien tuottamaa tulostetta, mikä tekee niistä tärkeitä onnistuneiden ja merkityksellisten keskustelujen kannalta.

Ohjelmoinnin laadun vaikutus

Hyvin määritellyt ohjelmoinnit ovat avain onnistuneisiin ja merkityksellisiin keskusteluihin tekoälyjärjestelmien kanssa. Huonosti määritellyt ohjelmoinnit voivat johtaa tuloksiin, jotka eivät ole käyttäjälle hyödyllisiä ja johtavat jopa harhaanjohtaviin sisältöihin.

Ohjelmoinnin laadun vaikutuksen havainnollistamiseksi vertaamme kahta eri ohjelmointia, jotka annettiin ChatGPT: lle. Ensimmäinen ohjelmointi, joka on huonosti määritelty ja olettaa aiempaa tietämystä, tuottaa mahdollisesti ei-hyödyllisen vastauksen käyttäjälle. Toisaalta toinen ohjelmointi tarjoaa enemmän kontekstia ja esimerkkejä, varmistaen enemmän relevantin ja ymmärrettävän vastauksen.

Ohjelmointi 1: “Kerro minulle konvoluutio-neuroverkoista.”

Vastaus 1: “Konvoluutio-neuroverkot (CNN) ovat monikerroksisia perceptron-verkkoja, jotka koostuvat täysin kytkettyjen kerrosten ja pooling-kerrosten yhdistelmästä. Ne ovat yleisesti käytettyjä kuvatunnistustehtävissä. Prosessiin kuuluu suodattimien soveltaminen syötekuviin ja niiden alentaminen pooling-kerrosten avulla.”

Ohjelmointi 2: “Haluan oppia konvoluutio-neuroverkoista, mutta minulla ei ole aiempaa tietämystä tekoälyverkoista. Voitko antaa aloittelijaystävällisen selityksen ja esimerkin siitä, miten CNN: t käytetään kuvatunnistuksessa?”

Vastaus 2: “Konvoluutio-neuroverkot (CNN) ovat tietynlainen neuroverkko, jota käytetään pääasiassa kuvatunnistustehtävissä. Toisin kuin muut neuroverkot, ne hyödyntävät konvoluutio- ja pooling-kerroksia kuvien prosessointiin. Kuvittele, että sinulla on kuva kissasta. CNN: t voivat tunnistaa eri piirteitä kuvassa, kuten viiksiä, korvia ja häntää, soveltamalla suodattimia ja alentamalla kuvaa pooling-kerrosten avulla. Tämä prosessi tekee CNN: t erittäin tehokkaiksi objektien tunnistamisessa kuvissa.”

Vertaamalla kahta vastausta on selvää, että hyvin määritelty ohjelmointi johtaa relevantimpaan ja käyttäjälle ystävällisempään vastaukseen. Ohjelmoinnin suunnittelu ja insinööritaito ovat kasvavia aloja, jotka pyrkivät optimoimaan tekoälymallien, kuten ChatGPT: n, tulosteen laatua.

Seuraavissa artikkelin osioissa syvennymme edistyneiden menetelmien maailmaan, joilla voidaan jalostaa suuria kielen malleja (LLM), kuten ohjelmointitekniikoita ja taktiikoita. Nämä sisältävät vähän opettelun, ReActin, ketjuajattelun, RAG: n ja muita.

Edistyneet insinööritaidot

Ennen kuin jatkamme, on tärkeää ymmärtää yksi LLM:ien ongelma, jota kutsutaan “hallusinaatioksi”. LLM:ien kontekstissa “hallusinaatio” tarkoittaa näiden mallien taipumusta tuottaa tuloksia, jotka saattavat vaikuttaa järkeviltä, mutta eivät perustu tosiasioihin tai annettuun kontekstiin.

Tämä ongelma korostui äskettäisessä oikeustapauksessa, jossa puolustusasianajaja käytti ChatGPT: ää oikeudelliseen tutkimukseen. Tekoälytyökalu, joka epäonnistui hallusinaatio-ongelmansa vuoksi, mainitsi olemattomia oikeustapauksia. Tämä virhepäätös aiheutti merkittäviä seurauksia, aiheuttaen sekaannusta ja vahingoittaen uskottavuutta oikeudenkäynnissä. Tämä tapaus on voimakas muistutus tekoälyjärjestelmien “hallusinaatio”-ongelman kiireellisestä ratkaisemistarpeesta.

Ohjelmointitekniikoiden tutkimisemme pyrkii parantamaan näitä LLM:ien puolia. Tehostamalla niiden tehokkuutta ja turvallisuutta, luomme innovatiivisia sovelluksia, kuten tietojen hakua. Lisäksi se mahdollistaa LLM:ien helpon integroimisen ulkoisiin työkaluihin ja tietolähteisiin, laajentamalla niiden soveltamisalueita.

Nolla- ja vähäopettelun oppiminen: Optimointi esimerkkien avulla

Generatiiviset esikoulutetut transformaattorit (GPT-3) merkitsivät tärkeää käännekohtaa generatiivisten AI-mallien kehityksessä, koska se esitteli “vähäopettelun” käsitteen. Tämä menetelmä oli pelinmuuttaja sen kyvyn vuoksi toimia tehokkaasti ilman kattavaa hienosäätöä. GPT-3-kehys on käsitelty tutkimuksessa “Kielen mallit ovat vähäopettelijoita“, jossa tutkijat osoittavat, miten malli menestyy erilaisissa sovelluksissa ilman mukautettuja tietoja tai koodia.

Toisin kuin hienosäätö, joka vaatii jatkuvaan ponnistelua ratkaistaessaan erilaisia sovelluksia, vähäopettelumallit osoittavat helpomman sopeutumisen laajempaan sovellusvalikoimaan. Vaikka hienosäätö saattaa tarjota vahvoja ratkaisuja joissakin tapauksissa, se voi olla kallista suuremmassa mittakaavassa, mikä tekee vähäopettelumallien käytön käytännöllisemmäksi, erityisesti yhdistettynä ohjelmointitekniikkaan.

Kuvittele, että yrität kääntää englantia ranskaan. Vähäopettelussa antaisit GPT-3: lle joitain käännösesimerkkejä, kuten “sea otter -> loutre de mer”. GPT-3, ollen kehittynyt malli, pystyy jatkamaan antamalla tarkkoja käännöksiä. Nollaopettelussa et antaisi esimerkkejä, ja GPT-3 pystyisi silti kääntämään englannin kielen ranskaan tehokkaasti.

“Vähäopettelun” käsite tulee siitä, että malli saa rajoitetun määrän esimerkkejä “opettelemaan” niistä. On tärkeää huomata, että “opetteleminen” tässä kontekstissa tarkoittaa, että mallin suorituskykyä vaikuttaa, eikä se vaadi mallin parametrejen tai painojen päivittämistä.

Vähäopettelun esimerkki GPT-3-tutkimuksesta

Vähäopettelun esimerkki GPT-3-tutkimuksesta

Nollaopettelussa ei anneta mallille esimerkkejä tehtävän suorittamisesta. Malli odotetaan suoriutuvan tehtävästä sen alkuperäisen koulutuksen perusteella, mikä tekee tämän menetelmän ihanteelliseksi avoimen kysymyksen vastaamisen tilanteisiin, kuten ChatGPT: ssä.

Monissa tapauksissa malli, joka on taitava nollaopettelussa, voi suoriutua hyvin, kun sille annetaan vähäopetteluesimerkkejä tai jopa yksittäisiä esimerkkejä. Tämä kyky vaihdella nolla-, yksittäinen- ja vähäopettelutilanteiden välillä korostaa suurten mallien sopeutumiskykyä ja parantaa niiden soveltamismahdollisuuksia eri aloilla.

Nollaopettelumenetelmät ovat yhä yleisempiä. Nämä menetelmät ovat tunnettuja kyvystään tunnistaa objekteja, joita ei ole nähty koulutuksessa. Tässä on käytännön esimerkki vähäopettelupyyntöä:

Käännä seuraavat englanninkieliset lauseet ranskaan:

'sea otter' kääntyy 'loutre de mer'
'sky' kääntyy 'ciel'
Mitä 'cloud' kääntyy ranskaan?"

Antamalla mallille joitain esimerkkejä ja asettamalla sille kysymys, voimme ohjata mallin tuottamaan halutun tuloksen. Tässä tapauksessa GPT-3 todennäköisesti kääntäisi “cloud” oikein ranskaan “nuageksi”.

Me tutkimme syvemmälle ohjelmointitekniikoiden moninaisuutta GPT-malleissa ja niiden olennaista roolia mallien suorituskyvyn optimoimisessa johtopäätöksessä. Selvitämme myös, miten niitä voidaan käyttää luomaan kustannustehokkaita ja skaalattavia ratkaisuja laajalle sovellusvalikoimalle.

Kun tutkimme ohjelmointitekniikoiden moninaisuutta GPT-malleissa, on tärkeää korostaa aiempaa postaustamme “Ohjelmointitekniikkaopas ChatGPT: ssä“. Tämä opas tarjoaa näkemyksiä strategioista tekoälymallien ohjaamiseksi tehokkaasti laajalla sovellusvalikoimalla.

Aiemmissa keskusteluissamme syvennymme perusohjelmointimenetelmiin suurten kielen mallien (LLM) kanssa, kuten nolla- ja vähäopettelussa sekä ohjelmointipyyntöissä. Näiden menetelmien hallitseminen on olennaista navigoidessaan monimutkaisempien ohjelmointitekniikoiden haasteiden kanssa, joita tutkimme tässä.

Vähäopettelun voi rajoittaa usein LLM:ien rajoitettu kontekstisäie. Lisäksi ilman asianmukaisia varotoimia LLM: t voidaan johtaa antamaan mahdollisesti haitallista tulostetta. Monet mallit kamppailevat myös päättelytehtävien tai useamman vaiheen ohjeiden seuraamisen kanssa.

Näiden rajoitusten vuoksi haasteena on hyödyntää LLM: iä monimutkaisiin tehtäviin. Ilmeinen ratkaisu voisi olla kehittää edistyneempiä LLM: iä tai parantaa olemassa olevia, mutta se vaatisi merkittävää ponnistelua. Kysymys on: miten voimme optimoida nykyisiä malleja parantamaan ongelmanratkaisukykyä?

Yhtä mielenkiintoista on tutkia, miten tämä tekniikka liittyy luovuuden sovelluksiin Unite AI: n “Tekoälytaiteen mestaruus: Lyhyt opas Midjourneyhin ja ohjelmointitekniikkaan“, joka kuvaa, miten taiteen ja tekoälyn yhdistäminen voi johtaa hämmästyttäviin taideteoksiin.

Ketjuajattelupyyntö

Ketjuajattelupyyntö hyödyntää suurten kielen mallien (LLM) sisäisiä auto-regressiivisia ominaisuuksia, jotka ovat erittäin tehokkaita ennustamaan seuraavaa sanaa annetussa järjestyksessä. Ohjelmoidessaan mallia selittämään ajatteluprosessiaan, se indusoi perusteellisemman, systemaattisemman ideoiden generoinnin, joka yleensä vastaa tarkkaa tietoa. Tämä suuntautuminen johtuu mallin taipumuksesta prosessoida ja toimittaa tietoa järjestyksessä ja johdonmukaisesti, samalla tavalla kuin ihmisasiantuntija selittäisi monimutkaisen käsitteen kuulijalle. Yksinkertainen lause, kuten “ohjaa minua askel askeleelta…”, on usein riittävä laukaisemaan tämän tarkemman ja yksityiskohtaisemman tuloksen.

Nolla-ketjuajattelupyyntö

Vaikka perinteinen ketjuajattelupyyntö vaatii esimerkkejä, nolla-ketjuajattelupyyntö on nouseva ala. Tämä lähestymistapa, jota Kojima et al. (2022) esittivät, lisää innovatiivisesti lauseen “Ajatellaan askel askeleelta” alkuperäiseen pyyntöön.

Luo edistynyt pyyntö, jossa ChatGPT: tä pyydetään tiivistämään tärkeät havainnot tekoäly- ja NLP-tutkimusartikkeleista.

Tässä esimerkissä käytämme mallin kykyä ymmärtää ja tiivistää monimutkaisia tietoja akateemisista teksteistä. Käyttämällä vähäopettelumenetelmää, opetamme ChatGPT: ä tiivistämään tärkeät havainnot tekoäly- ja NLP-tutkimusartikkeleista:

1. Artikkelin otsikko: "Huomio on kaikki, mitä tarvitaan"
Tärkein havainto: Esiteltiin transformer-malli, jossa korostettiin huomion mekanismien tärkeyttä toistuvien kerrosten sijaan järjestysmuunnoksissa.

2. Artikkelin otsikko: "BERT: Syvän bidirectional transformerin esikoulutus kielen ymmärtämiselle"
Tärkein havainto: Esiteltiin BERT, joka osoitti syvän bidirectionaalin mallin esikoulutuksen tehokkuuden saavuttamalla valmiudet useilla NLP-tehtävillä.

Nyt, tämän esimerkin kontekstissa, tiivistä tärkeät havainnot seuraavasta artikkelista:

Artikkelin otsikko: "Ohjelmointitekniikka suurissa kielen malleissa: Tutkimus"

Tämä pyyntö ei ainoastaan säilytä selkeää ketjuajattelua, vaan hyödyntää myös vähäopettelumenetelmää ohjaamaan mallia. Se liittyy avainsanoihimme keskittyen tekoäly- ja NLP-aloihin, erityisesti pyytäen ChatGPT: ä suorittamaan monimutkaisen toiminnon, joka liittyy ohjelmointitekniikkaan: tiivistämään tutkimusartikkeleita.

ReAct-pyyntö

ReAct, tai “Päättely ja toiminta”, esiteltiin Googlella tutkimuksessa “ReAct: Synergizing Reasoning and Acting in Language Models“, ja se vallankumous tekoälymallien vuorovaikutuksessa tehtävän kanssa, ohjelmoiden mallin dynaamiseen verbaliseen päättelyjäljen ja tehtäväkohtaiseen toiminnan generointiin.

Kuvittele, että olet keittiössä kuin ihmiskokki: sinun on suoritettava sarja toimia (viipaloida vihanneksia, keittää vettä, sekoittaa aineita) ja osallistua myös verbaleen päättelyyn tai sisäiseen puheeseen (“nyt kun vihannekset on viipaloidu, minun pitäisi laittaa kattila liedelle”). Tämä jatkuva mentaalinen dialogi auttaa suunnittelemaan prosessia, sopeutumaan äkillisiin muutoksiin (“minulla ei ole oliiviöljyä, käytän voita sen sijaan”) ja muistamaan tehtävien järjestyksen. ReAct jäljittelee tämän ihmisen kyvyn, mahdollistaen mallille nopeasti oppia uusia tehtäviä ja tehdä vahvoja päätöksiä, kuten ihminen tekisi uusissa tai epävarmoissa olosuhteissa.

ReAct voi ratkaista hallusinaation, yleisen ongelman ketjuajattelujärjestelmissä (CoT). CoT on tehokas tekniikka, mutta se puuttuu kyvystä vuorovaikuttaa ulkoisen maailman kanssa, mikä voi johtaa faktahallusinaatioon ja virheen leviämiseen. ReAct kuitenkin korvaa tämän puutteen vuorovaikuttaen ulkoisten tietolähteiden kanssa. Tämä vuorovaikutus mahdollistaa järjestelmän validoida päättelynsä ja päivittää tietämys perustuen ulkoisen maailman viimeisimpiin tietoihin.

ReActin perustoimintaa voidaan selittää esimerkin avulla HotpotQA-tehtävästä, joka vaatii korkean tason päättelyä. Kun ReAct-malli vastaanottaa kysymyksen, se hajottaa kysymyksen hallitettaviin osiin ja luo toimintasuunnitelman. Malli generoi päättelyjäljen (ajattelun) ja tunnistaa relevantin toiminnan. Se saattaa päättää etsiä tietoa Apple (AAPL ) Remote -laitteesta ulkoisesta lähteestä, kuten Wikipediasta (toiminta), ja päivittää ymmärryksensä hankittujen tietojen perusteella (havainto). Useiden ajattelu-toiminta-havaintoaskelien kautta ReAct voi hakea tietoa, jotta se voi perustella päättelynsä ja parantaa sitä seuraavassa haussa.

Muistiinpano:

HotpotQA on tietokanta, joka on johdettu Wikipediasta, ja se koostuu 113 000 kysymys-vastausparista, jotka on suunniteltu kouluttamaan tekoälyjärjestelmiä monimutkaisiin päättelytehtäviin, joissa kysymykset edellyttävät päättelyä useiden asiakirjojen yli. Toisaalta CommonsenseQA 2.0, joka on rakennettu pelin avulla, sisältää 14 343 kyllä/ei-kysymystä ja on suunniteltu haastamaan tekoälyn ymmärtämään yleistä järkeä, koska kysymykset on tarkoitettu tietoisesti harhaanjohtaviksi tekoälymallit.

Prosessi voisi näyttää tältä:

  1. Ajattelu: “Minun on etsittävä tietoa Apple Remotesta ja sen yhteensopivista laitteista.”
  2. Toiminta: Etsii “Apple Remote -yhteensopivat laitteet” ulkoisesta lähteestä.
  3. Havainto: Hankkii listan laitteista, jotka ovat yhteensopivia Apple Remoten kanssa, hakutuloksista.
  4. Ajattelu: “Perustuen hakutuloksiin, useat laitteet, Apple Remoten lisäksi, voivat ohjata ohjelmaa, johon se alun perin suunniteltiin.”

Tuloksena on dynaaminen, päättelyperustainen prosessi, joka voi kehittyä vuorovaikutuksen mukaan saadun tiedon kanssa, johtaen tarkempiin ja luotettavampiin vastauksiin.

ReAct-pyyntötekniikan tutkimuspaperin viitekuva

Vertaileva visualisointi neljästä pyyntömenetelmästä – Standard, Chain-of-Thought, Act-Only ja ReAct, ratkaisemassa HotpotQA- ja AlfWorld-tehtäviä (https://arxiv.org/pdf/2210.03629.pdf)

ReAct-mallien suunnittelu on erikoistunut tehtävä, ottaen huomioon sen kyvyn saavuttaa monimutkaisia tavoitteita. Esimerkiksi keskustelumalli, joka perustuu ReAct-perusmalliin, sisällyttää keskustelumuisti tarjoamaan rikkaamman vuorovaikutuksen. Kuitenkin tämän tehtävän monimutkaisuus on sujuvampaa työkalujen avulla, kuten Langchain, josta on tullut standardi näiden agenttien suunnittelussa.

Kontekstiuskovainen pyyntö

Tutkimuksessa “Kontekstiuskovainen pyyntö suurille kielen malleille” korostetaan, että vaikka LLM: t ovat osoittaneet merkittävää menestystä tietopohjaisissa NLP-tehtävissä, niiden liiallinen riippuvuus parametrillisesta tiedosta voi johtaa niitä harhaan kontekstiherkissä tehtävissä. Esimerkiksi, kun kielen malli on koulutettu vanhentuneilla faktoilla, se voi tuottaa virheellisiä vastauksia, jos se jättää huomiotta kontekstihavit.

Tämä ongelma on ilmeinen tilanteissa, joissa on tietoristiriita, jossa konteksti sisältää tosiasioita, jotka poikkeavat LLM: n aiemmin koulutetusta tiedosta. Kuvittele tilannetta, jossa suuri kielen malli (LLM), joka on koulutettu ennen vuoden 2022 jalkapallon MM-kilpailuja, saa kontekstin, joka osoittaa, että Ranska voitti turnauksen. Kuitenkin LLM, joka luottaa koulutukseensa, jatkaa väittämistä, että edellinen voittaja, eli joukkue, joka voitti vuoden 2018 MM-kilpailut, on edelleen hallitseva mestari. Tämä osoittaa klassisen “tietoristiriidan” tapauksen.

LLM: ssä tietoristiriita syntyy, kun uudet tiedot, jotka annetaan kontekstissa, ristiriitaisia mallin aiemmin koulutetun tiedon kanssa. Mallin taipumus nojata enemmän aiempaan koulutukseen kuin uusiin tietoihin johtaa virheellisiin tuloksiin. Toisaalta LLM:ien hallusinaatio on vastausten generointi, jotka saattavat vaikuttaa uskottavilta, mutta eivät perustu mallin koulutusdataan tai annettuun kontekstiin.

Toinen ongelma ilmenee, kun annettu konteksti ei sisällä riittävästi tietoa vastata kysymyksiin tarkasti, tilanne, jota kutsutaan “ennustamiseksi pidättäytymisellä”. Esimerkiksi, jos LLM: ä pyydetään kertomaan Microsoftin perustajasta kontekstissa, joka ei sisällä tätä tietoa, se pitäisi pidättäytyä arvaamasta.

Tietoristiriita- ja pidättäytymisen esimerkit

Lisää tietoristiriita- ja pidättäytymisen esimerkkejä

Parantamaan LLM:ien kontekstiuskollisuutta näissä tilanteissa, tutkijat esittivät joukon pyyntöstrategioita. Nämä strategiat pyrkivät tekemään LLM:ien vastauksia kontekstiin paremmin soveltuviksi eikä enää riippuviksi koodatusta tiedosta.

Yksi tällainen strategia on muotoilla pyynnöt mielipidekysymyksiksi, joissa konteksti tulkitaan kertojan lausumaksi, ja kysymys liittyy tähän kertojaan. Tämä lähestymistapa kiinnittää LLM:ien huomion esitettyyn kontekstiin eikä enää aiempaan koulutukseen.

Lisäämällä vastakkaisten esimerkkien demontointeja pyynnöksiin on myös tunnistettu tehokkaaksi tavaksi lisätä uskollisuutta tietoristiriitatilanteissa. Nämä demontoinnit esittävät skenaarioita, joissa on virheellisiä tosiasioita, jotta malli kiinnittää enemmän huomiota kontekstiin antaakseen tarkat vastaukset.

Ohjeiden hienosäätö

Ohjeiden hienosäätö on valvottu oppimisen vaihe, jossa mallille annetaan tiettyjä ohjeita, kuten “Selitä eroa auringon nousun ja laskun välillä”. Ohje on yhdistetty sopivaan vastaukseen, kuten “Auringon nousu viittaa siihen, kun aurinko nousee horisontin yläpuolelle aamulla, kun taas auringon lasku merkitsee sitä, kun aurinko laskee horisontin alapuolelle illalla.” Tämän menetelmän avulla malli oppii noudattamaan ja suorittamaan ohjeita.

Tämä lähestymistapa vaikuttaa merkittävästi LLM:ien pyyntöprosessiin, johtaen radikaaliin muutokseen pyyntötyyliin. Ohjeiden hienosäätöllä LLM: t sallivat välittömän suorittamisen nolla-tehtävissä, tarjoamalla vaivattoman tehtäväsuorituksen. Jos LLM: ä ei ole vielä hienosäätöä, vähäopettelumenetelmä saattaa vaatia joitain esimerkkejä pyyntöön sisällyttämistä ohjaamaan mallia haluttuun vastaukseen.

Ohjeiden säätö GPT-4: llä” keskustellaan yrityksestä käyttää GPT-4: ä luomaan ohjeiden noudattamiseen liittyvää dataa LLM:ien hienosäätöä varten. He käyttivät rikasta tietokantaa, joka koostui 52 000 yksilöllisestä ohjeiden noudattamisesta sekä englannin että kiinan kielillä.

Tietokanta on avainasemassa ohjeiden säätössä LLaMA-malleissa, avoimen lähdekoodin LLM-sarjassa, johtaen parantuneeseen nolla-tehtävien suorituskykyyn uusissa tehtävissä. Merkittävät projektit, kuten Stanfordin Alpaca, ovat tehokkaasti käyttäneet itseohjeiden säätöä, tehokasta menetelmää LLM:ien kohdistamiseen ihmisen aikomusten mukaisesti, hyödyntämällä edistyneiden ohjeiden säätöä opettajamalleista luotuja tietoja.

Edistynyt ohjelmointitekniikkaa koskeva tutkimuspaperin viite

Ohjeiden säätöön liittyvän tutkimuksen ensisijainen tavoite on parantaa LLM:ien nolla- ja vähäopettelun yleistymiskyky. Lisätutkimus ja mallien skaalaaminen voivat tarjota arvokkaita havaintoja. Nykyisellä GPT-4-tietokannan koolla 52K ja perus-LLaMA-mallin koolla 7 miljardia parametriä on valtava potentiaali kerätä enemmän GPT-4-ohjeiden noudattamiseen liittyvää dataa ja yhdistää sen muihin tietolähteisiin, johtaen suurempien LLaMA-mallien kouluttamiseen paremman suorituskyvyn saavuttamiseksi.

STaR: Päättelyn itseopetus päättelyllä

LLM:ien potentiaali on erityisen näkyvä monimutkaisissa päättelytehtävissä, kuten matematiikassa tai yleisen järjen kysymyksissä. Kuitenkin prosessi, jossa LLM: ä pyydetään generoimaan perustelut – sarja askelkohtaisia perusteluja tai “ketjuajattelua” – sisältää omat haasteensa. Se usein vaatii suurten perusteludatasten rakentamista tai tarkkuuden uhraamista, joka perustuu ainoastaan vähäopettelun päättelyyn.

“Itseopetus Päättelijä” (STaR) tarjoaa innovatiivisen ratkaisun näihin haasteisiin. Se käyttää yksinkertaista silmukkaa jatkuvasti parantamaan mallin päättelykykyä. Tämä iteraatioprosessi alkaa generoimalla perusteluita useiden kysymysten vastaamiseksi muutamilla rationaalisilla esimerkeillä. Jos generoidut vastaukset ovat virheellisiä, malli yrittää uudelleen generoida perustelun, tällä kertaa antaen oikean vastauksen. Malli sitten hienosäädetään kaikilla perusteluilla, jotka johtivat oikeisiin vastauksiin, ja prosessi toistetaan.

STaR-tekniikan tutkimuspaperin viite

STaR-metodologia, osoittamassa sen hienosäätösilmmukkaa ja perustelun generointia CommonsenseQA-tietokannassa (https://arxiv.org/pdf/2203.14465.pdf)

Esimerkiksi, otetaan kysymys “Mikä voidaan käyttää pienen koiran kuljettamiseen?” vastausvaihtoehtoina uima-allas, korisi tai muu vastaava. STaR-malli generoi perustelun, joka tunnistaa, että vastaus on jokin, joka on suunniteltu kuljettamaan asioita, ja päätyy siihen, että korin suunnittelun perusteella se on oikea vastaus.

STaR: n lähestymistapa on ainutlaatuinen, koska se hyödyntää kielen mallin aiemmin olemassa olevaa päättelykykyä. Se käyttää itsegeneroivaa ja perustelujen hienosäätöä, jolla mallin päättelykykyä parannetaan itseopetuksella. STaR: n silmukassa on kuitenkin rajoituksia. Malli saattaa epäonnistua uusien ongelmien ratkaisemisessa koulutusjoukossa, koska se ei saa suoraa koulutussignaalia ongelmista, joita se ei pysty ratkaisemaan. Ratkaisemaan tämän ongelman STaR esittää rationalisoinnin. Kunkin ongelman kohdalla, jonka malli ei pysty vastaamaan oikein, se generoi uuden perustelun antamalla mallille oikean vastauksen, mikä mahdollistaa mallille päättelyä taaksepäin.

STaR on siis skaalautuva itseopetusmenetelmä, joka sallii malleille oppia generoimaan omat perustelunsa ja samalla oppia ratkaisemaan yhä haasteellisempia ongelmia. STaR: n soveltaminen on osoittanut lupaavia tuloksia tehtävissä, jotka liittyvät aritmetiikkaan, matemaattisiin sanallisiin ongelmiin ja yleiseen järkeen. CommonsenseQA: ssä STaR paransi sekä vähäopetteluperustaa että perusmallia, joka oli suunniteltu suoraan vastaamaan kysymyksiin, ja suoritti vertailukelpoisesti 30-kertaa suuremman mallin kanssa.

Tagged Context Prompts

“Tagged Context Prompts” -käsitteeseen liittyy antaminen tekoälymallille lisäkerrosta kontekstia merkkimällä tiettyjä tietoja syötteenä. Nämä merkit toimivat tekoälylle ohjaajina, jotta se tulkitsee kontekstin oikein ja generoi vastauksen, joka on sekä relevantti että faktapohjainen.

Kuvittele, että keskustelet ystävän kanssa tietystä aiheesta, sanotaan “shakki”. Teet lausunnon ja merkitset sen viittauksella, kuten “(lähde: Wikipedia)”. Nyt ystävänne, joka on tässä tapauksessa tekoälymalli, tietää tarkalleen, mistä tiedot ovat peräisin. Tämä lähestymistapa pyrkii tekemään tekoälyn vastauksista luotettavampia vähentämällä hallusinaation vaaran.

Tagged Context Prompts -menetelmän ainutlaatuinen puoli on sen kyky parantaa tekoälymallien “kontekstuaalista älykkyyttä”. Esimerkiksi tutkimus osoittaa tämän käyttämällä monipuolista kysymysjoukkoa, joka on poimittu eri lähteistä, kuten tiivistetyistä Wikipedia-artikkeleista ja äskettäin julkaistun kirjan osioista. Kysymykset on merkitty, antaen tekoälylle lisäkontekstia tiedon lähteestä.

Tämä lisäkonteksti on erittäin hyödyllinen, kun on kyse vastausten generoimisesta, jotka eivät ainoastaan ole tarkkoja vaan myös noudattavat annettua kontekstia, tehdessä tekoälyn tuloksesta luotettavamman.

Johtopäätös: Tulevaisuuden näkymät ja luvattavat tekniikat

OpenAI: n ChatGPT osoittaa suurten kielen mallien (LLM) valttamattoman potentiaalin ratkaisemalla monimutkaisia tehtäviä huomattavalla tehokkuudella. Edistyneet tekniikat, kuten vähäopettelun oppiminen, ReAct-pyyntö, ketjuajattelu ja STaR, antavat meille mahdollisuuden hyödyntää tätä potentiaalia laajasti soveltamalla näitä menetelmiä.

Vaikka haasteita, kuten tietoristiriita, liiallinen riippuvuus parametrillisesta tiedosta ja hallusinaatio, nämä tekoälymallit, oikein ohjelmoiduilla pyynnöillä, ovat osoittaneet itsensä muodonmuuttuviksi työkaluiksi. Ohjeiden hienosäätö, kontekstiuskovainen pyyntö ja integrointi ulkoisiin tietolähteisiin lisäävät edelleen niiden kykyä päättelyyn, oppimiseen ja sopeutumiseen.

Olen viettänyt viimeiset viisi vuotta uppoutumalla kiinnostavaan koneoppimisen ja syvän oppimisen maailmaan. Minun intohimoni ja asiantuntemukseni ovat johtaneet minun osallistumiseen yli 50:een monipuoliseen ohjelmistosuunnitteluhankkeeseen, joissa on erityisesti painottunut AI/ML. Minun jatkuva uteliaisuuteni on myös ohjannut minun luontaisen kielen prosessoinnin pariin, jota haluan tutkia tarkemmin.