• AI-Sanomat
  • Posts
  • Kehotetekniikka: Reverse Chain-of-though

Kehotetekniikka: Reverse Chain-of-though

Tämä opas opettaa sinut ajatusketju-tekniikan saloihin

Tekoälyn käyttäjät ovat huomanneet, että se miten kysymyksen esittää vaikuttaa paljon vastaukseen. Kehotetekniikat tarkoittavat tapoja muotoilla pyyntöjä (prompteja) niin, että kielimalli vastaa mahdollisimman hyödyllisellä tavalla.

Tässä oppaassa tutustumme kahteen kehotetekniikkaan: Chain of Thought (CoT) ja Reverse Chain of Thought (RCoT). Nämä suomeksi “ajatusten ketjuksi” ja “käänteiseksi ajatusten ketjuksi” kutsutut menetelmät on suunniteltu parantamaan suurten kielimallien (kuten ChatGPT) vastauksia monimutkaisissa tehtävissä.

Selitämme myös, mitä nämä tekniikat tarkoittavat, miten ne toimivat ja miten ne eroavat toisistaan. Mukana on käytännön esimerkkejä, havainnollistavia kaavioita sekä vinkkejä, milloin kumpaakin lähestymistapaa kannattaa käyttää.

Lyhyesti: CoT rohkaisee tekoälyä ajattelemaan ääneen askel kerrallaan ennen vastausta. RCoT puolestaan pyytää tekoälyä tarkistamaan annetun vastauksen takaperin – ikään kuin peruutusvaihteella – etsimällä mahdollisia virheitä tai unohtuneita ehtoja.

Chain of Thought (CoT) – askel askeleelta ajatteleminen

Chain of Thought (CoT) on kehotetekniikka, jossa kielimallia kehotetaan perustelemaan ja ratkomaan ongelmaa vaiheittain ennen lopullista vastausta. Toisin kuin perinteinen tapa, jossa malli antaa suoraan lopputuloksen, CoT kannustaa sitä käymään läpi väliaskeleita ikään kuin “ajatusten ketjuna”.

Ajattele koulutilannetta: opettaja pyytää näyttämään laskutoimituksen kaikki vaiheet, ei vain lopputulosta. Samalla tavalla CoT-pyyntö saa tekoälyn “puhumaan läpi” oman ajatusprosessinsa askel kerrallaan, mikä yleensä johtaa tarkempaan ja ymmärrettävämpään vastaukseen.

Miten CoT toimii käytännössä?

CoT toimii yksinkertaisesti lisäämällä kehotteeseen vihjeen tai esimerkin, joka ohjaa mallia loogiseen päättelyyn vaihe vaiheelta. Tyypillinen tapa on pyytää: “Perustele vaiheittain” tai “Kerro ajatuksen kulkusi ennen vastausta”. Tekoäly alkaa silloin listata ajatuksiaan järjestyksessä ennen varsinaista vastausta.

Tämä auttaa erityisesti monivaiheisissa ongelmissa, kuten matemaattisissa laskuissa, päättelytehtävissä tai monimutkaisissa kysymyksissä, joissa on useita osia. CoT-kehotteet parantavat mallin suorituskykyä vaikeissa tehtävissä, koska malli pilkkoo ongelman pienempiin osiin ja ratkaisee ne yksi kerrallaan. Tällöin vastaus on usein sekä tarkempi että paremmin perusteltu kuin suoraan annettu vastaus.

Konkreettinen esimerkki (CoT):
Kuvittele seuraava pulma: Kallella on 2 karkkia. Villellä on 3 karkkia enemmän kuin Kallella. Ainolla on kaksinkertainen määrä karkkeja verrattuna Villeen. Kuinka monta karkkia Ainolla on?

  • Ilman CoT-kehotetta tekoäly voisi antaa vastauksen suoraan. Oikea vastaus on 10, mutta käyttäjä ei näkisi, miten tulos saatiin.

  • CoT-tekniikalla voimme pyytää mallia ajattelemaan askel kerrallaan: “Ratkaise vaiheittain:” Mallin vastaus voisi mennä esimerkiksi näin:

    1. Vaihe 1: Kallella on 2 karkkia.

    2. Vaihe 2: Koska Villellä on 3 enemmän, Villellä on 2 + 3 = 5 karkkia.

    3. Vaihe 3: Ainolla on kaksinkertainen määrä verrattuna Villeen, eli 2 * 5 = 10 karkkia.

    4. Lopputulos: Ainolla on 10 karkkia.

Tässä CoT-esimerkissä malli perusteli vastauksensa jokaisen vaiheen. Hyöty käyttäjälle on selvä: näet, miten ratkaisu muodostuu. Samalla voit itsekin havaita, jos jokin välivaihe menisi pieleen. CoT-kehote siis parantaa luotettavuutta antamalla näkyviin mallin logiikan. Monimutkaisissa lasku- tai logiikkatehtävissä tämä on erittäin hyödyllistä – vähän kuin pyytäisit tekoälyä “ajattelemaan ääneen” ennen kuin se vastaa.

Milloin CoT on hyödyllinen?

CoT on parhaimmillaan tilanteissa, joissa tehtävä vaatii useita askeleita tai huolellista päättelyä:

  • Monivaiheiset laskut ja matemaattiset ongelmat: Jos kysymyksessä on useita laskutoimituksia tai ehtoja, CoT auttaa varmistamaan, että malli käsittelee ne oikeassa järjestyksessä. Esimerkiksi sanalliset matematiikkatehtävät ratkeavat luontevammin, kun malli käy jokaisen vaiheen läpi erikseen.

  • Loogiset arvoitukset ja päättely: Arvoitukset tai ongelmat, joissa on useita vinkkejä tai ehtoja, ratkeavat paremmin, kun malli punoo vihjeet yhteen askel kerrallaan. CoT-kehotteella vältetään se, että malli arvaa suoraan ja mahdollisesti pieleen.

  • Suunnittelu ja moniosaiset pyynnöt: Jos pyydät ChatGPT:ltä esimerkiksi pitkän toimintasuunnitelman tai analyysin, voi olla hyödyllistä kehottaa sitä jäsentämään vastauksensa vaiheiksi. Tällöin se esimerkiksi listaa ensin taustatiedot, sitten vaihtoehdot, ja lopuksi johtopäätökset – eli rakentaa vastauksen pala palalta.

On hyvä huomata, että CoT itsessään ei takaa oikeaa vastausta, mutta se tekee mallin ajattelusta läpinäkyvämpää ja usein loogisempaa

Suurten kielimallien kohdalla on tutkimuksissa havaittu merkittäviä parannuksia tarkkuudessa, kun käytetään CoT-kehotteita verrattuna suoraan vastaamiseen. Pienemmillä malleilla vaikutus ei ole yhtä suuri, mutta periaate on sama: “hidastaakseen vauhtia” malli tekee vähemmän hätiköityjä virheitä.

Seuraavaksi tutustutaan tekniikkaan, joka menee vielä pidemmälle virheiden välttämisessä – nimittäin käänteiseen ajatusten ketjuun.

Reverse Chain of Thought (RCoT) – käänteinen ajatusketju

Reverse Chain of Thought (RCoT) on CoT-tekniikan “käänteinen serkku”. Siinä missä CoT kulkee eteenpäin askeleita luoden, RCoT menee takaperin jo annetusta vastauksesta takaisin kysymykseen.

RCoT:n idea on auttaa havaitsemaan ja korjaamaan mahdolliset virheet mallin ajattelussa jälkikäteen.

Toisin sanoen, ensin annetaan tai saadaan vastaus (joko mallin itsensä tuottama tai aiempi vastaus), ja sitten pyydetään mallia tarkastelemaan vastausta kriittisesti: “Oletetaan, että vastauksesi on lopputulos – mistä alkuoletuksista se on johdettu?”.

RCoT-tektiikassa malli rakentaa alkuperäisen kysymyksen uudelleen oman vastauksensa perusteella ja vertailee sitten, vastaavatko sen tekemät oletukset sitä, mitä kysymyksessä oikeasti sanottiin. Tällä tavoin se voi tunnistaa, jos se on esimerkiksi jättänyt huomiotta jonkin ehdon, ymmärtänyt kysymyksen väärin tai lisännyt omia keksittyjä oletuksia (hallusinaatioita). Kun erot alkuperäisen kysymyksen ja mallin rekonstruoidun version välillä löytyvät, malli voi korjata vastauksensa niiden pohjalta. RCoT on siis eräänlainen itsekritiikin ja tarkistuslukemisen muoto tekoälylle: malli toimii sekä ratkaisijana että tarkastajana.

Miten RCoT toimii käytännössä?

RCoT-prosessi voidaan ajatella kolmivaiheisena tarkistusketjuna. Yleinen etenemismalli on seuraava:

  1. Alustava vastaus: Ensin malli antaa normaalin vastauksen kysymykseen (mahdollisesti käyttäen CoT:ia, tai ilman). Tämä vastaus voi sisältää perusteluita tai vain lopputuloksen.

  2. Ongelman uudelleenmuotoilu: Seuraavaksi mallia kehotetaan luomaan uusi kysymys tai kuvaus ongelmasta käyttäen omaa vastaustaan lähtökohtana. Ajatuksena on, että malli paljastaa, mitä se oletti kysymyksen tarkoittaneen. (Esim. “Muotoile alkuperäinen kysymys uudelleen käyttäen antamiasi tietoja”.)

  3. Vertailu ja virheiden tunnistus: Malli vertaa alkuperäistä kysymystä ja uutta, vastauksen pohjalta tehtyä versiota keskenään. Poikkeamat paljastavat, unohtiko malli jonkin alkuperäisen ehdon tai lisäsikö se jotain ylimääräistä omasta päästään. Löydetyt erot kirjataan ylös.

  4. Korjaus (palautesilmukka): Mallille annetaan palaute löydetyistä virheistä tai puutteista, ja sitä pyydetään muokkaamaan vastaustaan niiden perusteella . Näin malli tuottaa uuden, parannetun vastauksen, joka toivottavasti on nyt linjassa kaikkien alkuperäisten ehtojen kanssa.

Käytännössä ChatGPT:n käyttäjä voi toteuttaa RCoT-tekniikkaa esimerkiksi näin: Ensin esitetään kysymys ja saadaan vastaus. Sitten käyttäjä kysyy jatkokysymyksen, kuten “Kuvaile, mihin oletuksiin vastauksesi perustui, ja muodosta niiden pohjalta alkuperäinen kysymys uudestaan”. Tämän jälkeen käyttäjä voi verrata mallin kuvausta alkuperäiseen kysymykseen tai pyytää mallia itse tekemään vertailun. Lopuksi voidaan pyytää korjattua vastausta: “Huomasitko eroja? Korjaa alkuperäistä vastaustasi huomioiden nämä erot.” – Tämä on suora sovellus RCoT-konseptista.

Konkreettinen esimerkki (RCoT):
Katsotaan esimerkki, jossa RCoT paljastaa hienovaraisen virheen:
Kysymys: “Tämän päivän kokous on siirretty huomiselle klo 11, päivämäärälle 16.10.2024. Mikä päivämäärä oli tasan vuosi sitten tästä päivästä lukien?”

  • Alustava vastaus (ChatGPT): “Tänään on 16.10.2024, joten vuosi sitten oli 16.10.2023.” – Tämä vastaus vaikuttaa uskottavalta, mutta siinä on virhe: jos huomenna on 16.10.2024, tänään on oikeasti 15.10.2024, ei 16.10.2024. Malli siis ylihyppäsi yhden oleellisen tiedon.

  • RCoT-vaihe 2 – ongelman uudelleenmuotoilu: Pyydämme mallia tarkastelemaan vastaustaan takaperin: “Laadi alkuperäistä kysymystä vastaava uusi kysymys käyttäen vastauksesi tietoja.” Malli saattaa tuottaa jotain tämän suuntaista: “Oletetaan, että nykyinen päivämäärä on 16.10.2024 ja kokous on siirretty huomiselle. Mikä olisi päivämäärä vuosi sitten tänään?”

  • Vertailu: Huomaamme heti ristiriidan: alkuperäinen kysymys implikoi, että tänään on 15.10.2024 (koska huomenna on 16.10.), kun taas mallin rekonstruoima kysymys oletti tämän päivän olevan 16.10.2024. RCoT-menetelmä paljasti, että malli sivuutti yhden ehdon (nykyisen päivän määritelmän).

  • Korjaus: Annetaan mallille palaute: “Huomaa, että alkuperäisen kysymyksen mukaan tänään on 15.10.2024, ei 16.10.2024. Ole hyvä ja korjaa vastauksesi sen mukaisesti.” Nyt malli pystyy korjaamaan: “Oikea vastaus on 15.10.1923.” (tai 15.10.2023, jos käytettiin vuotta 2024).

Tässä esimerkissä RCoT auttoi löytämään virheen, joka olisi muuten voinut mennä läpi huomaamatta, koska vastaus näytti oikealta päällisin puolin. RCoT toimi eräänlaisena laatuseulana, joka varmisti, että mallin kaikki oletukset vastaavat kysymyksen tietoja ennen kuin vastaus hyväksytään lopulliseksi. Yleistettynä: aina kun vastauksessa on riski, että jokin ehto jäi huomioimatta tai malli keksi omia tietojaan, RCoT tarjoaa menetelmän tarkistaa ja korjata asia.

Milloin RCoT on hyödyllinen?

RCoT on erityisen hyödyllinen tilanteissa, joissa vastauksen oikeellisuus on kriittistä tai kysymys on monimutkainen ja sisältää useita ehtoja. Muutamia käytännön tilanteita:

  • Moniehtoisten kysymysten tarkistus: Kun kysymyksessä on monta osaa tai ehtoa (“tee X, jos Y, muuten Z…” tms.), mallin vastaus saattaa unohtaa jonkin ehdon. RCoT-tekniikalla voi pyytää mallia tarkistamaan, tuliko kaikki ehdot huomioitua. Tämä vähentää riskiä, että vastaus sivuuttaa jotain tärkeää.

  • Faktavastausten varmistus: Jos kysyt esimerkiksi historiallista tai tieteellistä faktaa ja haluat varmistaa, ettei malli “hallusinoi” eli keksi omasta päästä tietoa, voit käyttää RCoT-lähestymistapaa. Ensin malli antaa vastauksen, sitten pyydät sitä perustelemaan vastauksen takaperin – eli mistä tiedoista se päätteli faktan. Jos huomaat perusteluissa virheellisiä oletuksia, voit pyytää korjausta. Tämä on hyödyllistä, koska kielimallit voivat joskus vastata vakuuttavasti, vaikka tieto olisi hataraa. RCoT ikään kuin pakottaa mallin kohtaamaan omat perustelunsa ja karsimaan virheelliset oletukset.

  • Kriittiset päätökset ja ongelmat: Jos käytät ChatGPT:tä apuna jossain tärkeässä asiassa (esim. lääketieteellisten tietojen tarkistus, lakiasiat, tms.), RCoT tarjoaa varmuutta. Voit pyytää mallia tarkistamaan vastauksensa koherenttiuden: “Jos tämä on vastaus, vastaako se varmasti kaikkia kysymyksessä annettuja tietoja?” Tämä lisävaihe voi paljastaa virheen, joka muuten jäisi huomaamatta.

  • Oppimistilanteet: RCoT on myös hyödyllinen opetuksessa tai itseopiskelussa. Jos opiskelija saa harjoitustehtävään vastauksen ChatGPT:ltä, hän voi pyytää mallia perustelemaan vastauksen takaperin varmistaakseen, että vastaus on looginen eikä oikaise mutkia. Samalla opiskelija itse ymmärtää tehtävän paremmin.

On syytä muistaa, että RCoT lisää yhden kierroksen keskusteluun mallin kanssa, mikä voi viedä hieman enemmän aikaa. Toisaalta se parantaa vastausten luotettavuutta etenkin vaikeammissa pulmissa.

RCoT ei välttämättä löydä kaikkia virheitä – esimerkiksi puhtaita laskuvirheitä se ei aina havaitse – mutta se on tehokas nappaamaan loogiset epäjohdonmukaisuudet, väärin tulkitut kohdat ja hatusta vedetyt oletukset.

CoT ja RCoT – erot ja vertailu

Sekä CoT että RCoT ovat hyödyllisiä työkaluja, mutta ne palvelevat vähän eri tarkoituksia. Alla on yhteenveto tärkeimmistä eroista näiden tekniikoiden välillä:

Ominaisuus

Chain of Thought (CoT)

Reverse Chain of Thought (RCoT)

Lähestymistapa

Etenee eteenpäin kysymyksestä vastaukseen loogisena ajatusketjuna.

Etenee takaperin annetusta vastauksesta takaisin kysymykseen virheitä etsien

Tavoite

Pilkkoa monimutkainen ongelma osiin ja johdattaa malli kohti oikeaa vastausta vaiheittain. Tuo esiin mallin ajatuksenkulun läpinäkyvästi.

Tarkistaa ja varmistaa vastauksen paikkansapitävyys. Löytää unohdetut ehdot, väärintulkinnat tai keksityt oletukset ja korjaa ne.

Milloin käytetään?

Jo alkuvaiheessa kysymyksen ratkomiseen, kun halutaan heti kerralla perusteltu vastaus (esim. vaikea lasku tai päättelytehtävä).

Vasta ensimmäisen vastauksen jälkeen tilanteissa, joissa halutaan varmistaa tai parantaa vastauksen oikeellisuutta (esim. kriittiset tai moniehtoiset kysymykset).

Hyödyt

Parantaa vastauksen tarkkuutta monissa tapauksissa, tekee päättelystä ymmärrettävämpää käyttäjälle. Malli “ajattelee ääneen”, mikä voi ehkäistä ajatusvirheitä.

Auttaa huomaamaan vastausten virheet, joita malli ei itse ensin tajua. Vähentää hallusinaatioita ja väärien oletusten riskiä tuomalla mukaan korjaavan kierroksen. Tuloksena luotettavampi vastaus.

Haasteet

Voi tuottaa tarpeettoman pitkiä vastauksia yksinkertaisissa tehtävissä. Pienemmät mallit eivät aina hyödytä CoT:sta, ja joskus malli saattaa keksiä epäloogisia väliaskeleita.

Lisää ylimääräisen vaiheen: enemmän aikaa ja vaivaa. Ei takaa kaikkien virheiden löytymistä (esim. laskuvirhe tai erittäin hienovarainen virhe voi jäädä). Edellyttää, että käyttäjä osaa pyytää tarkistusta.

Kuten taulukosta näkyy, CoT on ennaltaehkäisevä strategia – se ohjaa mallia heti alusta lähtien ajattelemaan huolellisesti. RCoT on korjaava strategia – se puuttuu peliin sen jälkeen kun vastaus on jo pöydällä, ja tekee laatukontrollin ennen lopullista hyväksyntää. Seuraavaksi annamme vielä lyhyen yhteenvedon ja suositukset kummankin tekniikan käyttöön.

Yhteenveto ja suositukset

Yhteenveto: Chain of Thought (CoT) ja Reverse Chain of Thought (RCoT) ovat kaksi tehokasta tapaa parantaa tekoälymallien vastauksia. CoT kannustaa mallia perustelemaan vastauksensa vaihe vaiheelta etukäteen, mikä parantaa monesti monimutkaisten tehtävien tuloksia. RCoT puolestaan pyytää mallia tarkistamaan ja hiomaan vastaustaan jälkikäteen käymällä ajatuksensa läpi takaperin. Molemmat menetelmät tekevät mallin toiminnasta läpinäkyvämpää ja auttavat käyttäjää luottamaan vastauksiin enemmän.

Milloin käyttää CoT:ia? Kun kohtaat monimutkaisen kysymyksen tai tehtävän, jossa on useita vaiheita, ehtoja tai epäselvyyttä, aloita CoT-kehotteella. Esimerkiksi vaikeissa matikkatehtävissä, pitkissä päättelyissä tai tilanteissa, joissa haluat ymmärtää miksi ChatGPT antaa tietyn vastauksen, CoT on omiaan. Yksinkertainen tapa on lisätä pyyntö “ajattele ääneen vaihe kerrallaan”. Tällöin saat vastauksen, josta näet kaikki perustelut – ikään kuin näkisit tekoälyn “muistiinpanot” ennen lopputulosta.

Milloin käyttää RCoT:ia? Jos olet jo saanut vastauksen (CoT:ia käyttäen tai ilman) ja epäilet sen paikkansapitävyyttä tai haluat varmistaa, ettei mitään jäänyt huomiotta, ota käyttöön RCoT. Pyydä mallia tarkistamaan vastaustaan: “perustele vastauksesi takaperin” tai “käy läpi, miten tästä vastauksesta päädyttäisiin takaisin alkuperäiseen kysymykseen”. RCoT on erityisen suositeltavaa, kun kysymys oli monitahoinen, vastaus on kriittisen tärkeä, tai kun panokset ovat korkeat (esimerkiksi terveyteen tai turvallisuuteen liittyvät neuvot). Se toimii myös hyvin yhdessä CoT:n kanssa: voit ensin hakea vastauksen CoT-metodilla ja sen jälkeen tehdä RCoT-tarkistuksen viimeistelläksesi vastauksen luotettavuuden.

Lopuksi on hyvä muistaa, että sekä CoT että RCoT ovat työkaluja käyttäjän käsissä. Niitä kannattaa käyttää joustavasti tilanteen mukaan. Yhdessä käytettynä ne muodostavat tehokkaan yhdistelmän: CoT tuottaa perustellun ratkaisun, ja RCoT varmistaa lopputuloksen oikeellisuuden. Tällä tavoin saat ChatGPT:stä enemmän irti – vastaukset eivät ole vain oikein, vaan myös ymmärrettäviä ja luotettavia. Happy prompting ja rohkeasti kokeilemaan näitä tekniikoita käytännössä!

Haluatko sparrailla AI:sta etäkahvitellen?

Tekoäly voi olla voimakas työkalu, ja näiden aloittelijaystävällisten vaihtoehtojen avulla voit hyödyntää sitä omissa projekteissasi – olipa kyseessä sisällöntuotanto, ohjelmointi, markkinointi tai oppiminen.

Jos kaipaat koulutusta tekoäly-työkalujen käyttöön, nappaa tästä sitoumukseton etäkahvitteluaika ja jutellaan tarpeistasi 👇

Reply

or to participate.