Some grammar checked translations

This commit is contained in:
S4MFI 2023-05-15 17:32:20 +03:00
parent 2e181ef00e
commit 5ac17e796a
17 changed files with 108 additions and 108 deletions

View File

@ -1,8 +1,8 @@
# Johdanto
Kehotesuunnittelu on suhteellisen uusi tieteenala, joka keskittyy kehotteiden kehittämiseen ja optimointiin, jotta kielimalleja (Language Model, LM) voidaan käyttää tehokkaasti monenlaisissa sovelluksissa ja tutkimusaiheissa. Kehotesuunnittelun taidot auttavat ymmärtämään paremmin suurten kielimallien (Large Language Model, LLM) kykyjä ja rajoituksia. Tutkijat käyttävät kehotesuunnittelua parantaakseen LLM:ien kyvykkyyksiä erilaisissa tehtävissä, joista kysymyksiin vastaaminen ja aritmeettinen päättely ovat hyviä esimerkkejä. Kehittäjät käyttävät kehotesuunnittelua kehittääkseen kestäviä ja tehokkaita kehotetekniikoita jotka hyödyntävät LLM:ien potentiaalia optimaalisella tavalla.
Kehotesuunnittelu on suhteellisen uusi tieteenala, joka keskittyy kehotteiden kehittämiseen ja optimointiin. Sen avulla kielimalleja (Language Model, LM) voidaan käyttää tehokkaasti monenlaisissa sovelluksissa ja tutkimusaiheissa. Kehotesuunnittelun taidot auttavat ymmärtämään suurten kielimallien (Large Language Model, LLM) kykyjä ja rajoituksia paremmin. Tutkijat käyttävät kehotesuunnittelua parantaakseen LLM:ien kyvykkyyksiä erilaisissa tehtävissä, joista kysymyksiin vastaaminen ja aritmeettinen päättely ovat hyviä esimerkkejä. Kehittäjät käyttävät kehotesuunnittelua kestävien ja tehokkaiden kehotetekniikoiden kehittämiseen, jotka hyödyntävät LLM:ien potentiaalia optimaalisella tavalla.
Tämä opas käsittelee kehotteiden perusteita ja antaa karkean käsityksen siitä, kuinka kehotteita voidaan käyttää vuorovaikutuksessa ja ohjeistuksessa LLM:ien kanssa.
Tämä opas käsittelee kehotteiden perusteita ja antaa yleiskuvan siitä, kuinka kehotteita voidaan käyttää vuorovaikutuksessa ja ohjeistuksessa LLM:ien kanssa.
Kaikki esimerkit on testattu `text-davinci-003` -mallilla käyttäen [OpenAI:n testiympäristöä](https://platform.openai.com/playground) ellei toisin mainita. Malli käyttää oletusasetuksia, eli `temperature=0.7` ja `top-p=1`.

View File

@ -2,7 +2,7 @@
## Peruskehote
Yksinkertaisilla kehotteilla voi saavuttaa paljon, mutta tulosten laatu riippuu siitä, kuinka paljon tietoa sisällytät ja kuinka hyvin se on muotoiltu. Kehote voi sisältää tietoa, kuten *ohjeen* tai *kysymyksen*, ja muita yksityiskohtia, kuten *kontekstia*, *tietosisältöä* tai *esimerkkejä*. Voit käyttää näitä elementtejä ohjeistamaan mallia paremmin ja saada parempia tuloksia.
Yksinkertaisilla kehotteilla voi saavuttaa paljon, mutta tulosten laatu riippuu siitä, kuinka paljon tietoa sisällytät kehotteeseen ja kuinka hyvin se on muotoiltu. Kehote voi sisältää tietoa, kuten *ohjeen* tai *kysymyksen*, sekä muita yksityiskohtia, kuten *kontekstia*, *tietosisältöä* tai *esimerkkejä*. Voit käyttää näitä elementtejä ohjeistamaan mallia paremmin ja saada parempia tuloksia.
Aloitetaan tarkastelemalla perusesimerkkiä yksinkertaisesta kehotteesta:
@ -17,9 +17,9 @@ sininen. Taivas on sininen johtuen Rayleigh'n sirontailmiöstä. Auringonvalo ko
```
Kuten näet, kielimalli tuottaa jatkumon merkkijonoja, jotka ovat järkeviä annetussa kontekstissa "Taivas on". Tulos saattaa olla odottamaton tai kaukana tehtävästä, jonka haluat saavuttaa.
Kuten näet, kielimalli tuottaa jatkumon merkkijonoja, jotka ovat järkeviä annetussa kontekstissa "Taivas on". Tulos saattaa olla odottamaton tai kaukana siitä tehtävästä, jonka haluat saavuttaa.
Tämä perusesimerkki korostaa myös tarvetta antaa enemmän kontekstia tai ohjeita siitä, mitä haluat erityisesti saavuttaa.
Tämä perusesimerkki korostaa myös tarvetta antaa enemmän kontekstia tai tarkempia ohjeita siitä, mitä haluat tarkalleen saavuttaa.
Kokeillaan parantaa sitä hieman:
@ -36,13 +36,14 @@ Taivas on
sininen ja pilvet leijailevat kevyesti tuulen mukana, luoden kauniin maiseman.
```
Onko se parempi? No, kerroit mallille, että sen pitää täydentää lause, joten tulos näyttää paljon paremmalta, koska se noudattaa tarkalleen sitä, mitä kerroit sen tekevän ("täydennä lause"). Tämä optimaalisten kehotteiden suunnittelun lähestymistapa mallin ohjeistamiseksi tehtävän suorittamiseen on sitä, mitä kutsutaan **kehotesuunnitteluksi**.
Onko se parempi? Kyllä, kerroit mallille, että sen pitää täydentää lause, joten tulos näyttää paljon paremmalta, koska se noudattaa tarkalleen sitä, mitä kerroit sen tekevän ("täydennä lause"). Tämä lähestymistapa, jossa mallia
ohjeistetaan suorittamaan tehtävä optimaalisten kehotteiden avulla, on sitä, mitä kutsutaan **kehotesuunnitteluksi**.
Edellä oleva esimerkki on peruskuvaus siitä, mitä LLM:illä on mahdollista saavuttaa tänään. Nykyiset LLM:t pystyvät suorittamaan monenlaisia kehittyneitä tehtäviä, jotka vaihtelevat tekstin tiivistämisestä matemaattiseen päättelyyn ja koodin luontiin.
Edellä oleva esimerkki antaa peruskuvauksen siitä, mitä LLM:illä on mahdollista saavuttaa tänään. Nykyiset LLM:t pystyvät suorittamaan monenlaisia kehittyneitä tehtäviä, jotka vaihtelevat tekstin tiivistämisestä matemaattiseen päättelyyn ja koodin luomiseen.
## Kehotteen Muotoilu
Edellisessä esimerkissä kokeiltiin erittäin yksinkertaista kehotetta. Tavallinen kehote on seuraavassa muodossa:
Edellisessä esimerkissä kokeilimme erittäin yksinkertaista kehotetta. Tyypillinen kehote on seuraavassa muodossa:
```
<Kysymys>?
@ -54,16 +55,16 @@ tai
<Ohje>
```
Voit muotoilla tämän kysymyksen ja vastauksen (QA) muotoon, joka on standardi monissa QA-aineistoissa, seuraavasti:
Voit muotoilla tämän kysymys-vastaus (QA) -muotoon, joka on standardi monissa QA-aineistoissa, seuraavasti:
```
Q: <Kysymys>?
A:
```
Kun käytät yllä olevan kaltaista kehotetta, sitä kutsutaan myös *nollaohjauskehotteeksi*, eli annat mallille suoraan kysymyksen, antamatta esimerkkejä tehtävästä, jonka haluat sen suorittavan. Jotkut suuret kielimallit pystyvät toteuttamaan nollaohjauskehotteita, mutta se riippuu tehtävän monimutkaisuudesta ja sen sisällöstä.
Kun käytät yllä olevan kaltaista kehotetta, sitä kutsutaan myös *nollaohjauskehotteeksi*. Tällöin annat mallille suoraan kysymyksen, antamatta esimerkkejä tehtävästä, jonka haluat sen suorittavan. Jotkut suuret kielimallit pystyvät toteuttamaan nollaohjauskehotteita, mutta se riippuu tehtävän monimutkaisuudesta ja sen sisällöstä.
Ottaen huomioon yllä olevan kehotteenn muotoilun, yksi suosittu ja tehokas kehotetekniikka on *vähäisen ohjauksen kehotteen* käyttö, jossa tarjoat esimerkkejä halutulle toiminnalle. Voit muotoilla muutaman vähäisen ohjauksen kehotteita seuraavasti:
Ottaen huomioon yllä olevan kehotteenn muotoilun, yksi suosittu ja tehokas kehotetekniikka on *vähäisen ohjauksen kehotteen* käyttö, jossa tarjoat esimerkkejä halutulle toiminnalle. Voit muotoilla vähäisen ohjauksen kehotteita seuraavasti:
```
<Kysymys>?
@ -95,7 +96,7 @@ Q: <Kysymys>?
A:
```
Pidä mielessä että kysymys/vastaus-muotoilun käyttö ei ole ainoa tapa muotoilla kehotteita. Kehotteen muoto riippuu tehtävästä, johon haluat kielimallin keskittyvän. Esimerkiksi yksinkertaisen luokittelutehtävän suorittamiseksi voit antaa esimerkkejä, jotka havainnollistavat tehtävää seuraavasti:
Pidä mielessä, että kysymys/vastaus-muotoilun käyttö ei ole ainoa tapa muotoilla kehotteita. Kehotteen muoto riippuu tehtävästä, johon haluat kielimallin keskittyvän. Esimerkiksi yksinkertaisen luokittelutehtävän suorittamiseksi voit antaa esimerkkejä, jotka havainnollistavat tehtävää seuraavasti:
*Kehote:*
```
@ -110,4 +111,4 @@ Mikä kamala esitys! //
Negatiivinen
```
Vähäisen ohjauksen kehotteet auttavat mallia oppimaan tehtävän kontekstista ja tuottamaan parempia tuloksia, koska ne tarjoavat mallille esimerkkejä siitä, mitä odotetaan. Tämänkaltainen kontekstin avulla oppiminen on yksi kielimallien keskeisistä ominaisuuksista, kun ne suorittavat erilaisia tehtäviä.
Vähäisen ohjauksen kehotteet auttavat mallia oppimaan tehtävän kontekstista ja tuottamaan parempia tuloksia, koska ne tarjoavat mallille esimerkkejä siitä, mitä siltä odotetaan. Tämänkaltainen kontekstin avulla tapahtuva oppiminen on yksi kielimallien keskeisistä ominaisuuksista, kun ne suorittavat erilaisia tehtäviä.

View File

@ -6,10 +6,10 @@ Kehote voi sisältää minkä tahansa seuraavista elementeistä:
**Ohje** - tietty tehtävä tai ohje, jonka haluat mallin suorittavan
**Konteksti** - ulkoinen tieto tai lisäkonteksti, joka voi ohjata mallia parempiin vastauksiin
**Konteksti** - ulkoinen tieto tai lisäkonteksti, joka voi ohjata mallia tuottamaan parempia vastauksia
**Syötetiedot** - syöte tai kysymys, johon haluamme saada vastauksen
**Lopputuloksen haluttu muotoilu** - Tyyli tai formaatti jossa lopputulos halutaan saada
**Lopputuloksen haluttu muotoilu** - tyyli tai formaatti, jossa haluamme saada lopputuloksen
Kaikkia neljää elementtiä ei tarvitse sisällyttää kehotteeseen, sillä muotoilu riippuu suoritettavasta tehtävästä. Käsittelemme konkreettisempia esimerkkejä myöhemmin tässä oppaassa, jotta voit ymmärtää paremmin miten näitä elementtejä voidaan käyttää erilaisissa tehtävissä ja sovelluksissa.
Kaikkia neljää elementtiä ei tarvitse sisällyttää jokaiseen kehotteeseen, sillä muotoilu riippuu suoritettavasta tehtävästä. Käsittelemme konkreettisempia esimerkkejä myöhemmin tässä oppaassa, jotta voit ymmärtää paremmin, miten näitä elementtejä voidaan käyttää erilaisissa tehtävissä ja sovelluksissa.

View File

@ -1,10 +1,10 @@
# Esimerkkejä Kehotteista
Edellinen osio esitteli perusesimerkin siitä, kuinka kehotetta käytetään LLM:ien kanssa.
Edellisessä osiossa esiteltiin perusesimerkki siitä, kuinka kehotetta käytetään LLM:ien kanssa.
Tässä osiossa on lisää esimerkkejä siitä, kuinka kehotteita voidaan käyttää erilaisten tehtävien suorittamiseen ja esitellään samalla avainkäsitteitä. Usein paras tapa oppia käsitteitä on käydä läpi esimerkkejä. Alla olevat esimerkit havainnollistavat, kuinka hyvin laadittuja kehotteita voidaan käyttää erilaisten tehtävien suorittamiseen.
Tässä osiossa esitellään lisää esimerkkejä siitä, kuinka kehotteita voidaan käyttää erilaisten tehtävien suorittamiseen, samalla kun avainkäsitteitä esitellään. Usein paras tapa oppia käsitteitä on käydä läpi esimerkkejä. Alla olevat esimerkit havainnollistavat, kuinka hyvin laadittuja kehotteita voidaan käyttää erilaisten tehtävien suorittamiseen.
Topics:
Aiheet:
- [Tekstin Tiivistäminen](#text-summarization)
- [Tiedonpoiminta](#information-extraction)
- [Kysymyksiin vastaaminen](#question-answering)
@ -16,9 +16,9 @@ Topics:
---
## Tekstin tiivistäminen
Yksi luonnollisen kielen generoinnin perustehtävistä on tekstin tiivistäminen. Tekstin tiivistäminen voi sisältää monenlaisia variaatioita ja aihealueita. Itse asiassa yksi lupaavimmista kielimalleihin perustuvista sovelluksista on artikkeleiden ja käsitteiden tiivistäminen nopeiksi ja helppolukuisiksi yhteenvetoiksi. Kokeillaan perustason tiivistämistehtävää kehotteiden avulla.
Yksi luonnollisen kielen generoinnin perustehtävistä on tekstin tiivistäminen. Tekstin tiivistämiseen voi sisältyä monenlaisia variaatioita ja aihealueita. Itse asiassa yksi lupaavimmista kielimalleihin perustuvista sovelluksista on artikkeleiden ja käsitteiden tiivistäminen nopeiksi ja helppolukuisiksi yhteenvetoiksi. Kokeillaan perustason tiivistämistehtävää kehotteiden avulla.
Sanotaan, että olet kiinnostunut oppimaan antibiooteista, voisit kokeilla tällaista kehotetta:
Jos olet kiinnostunut oppimaan antibiooteista, voisit kokeilla seuraavaa kehotetta:
*Kehote:*
```
@ -52,13 +52,13 @@ Antibiootit ovat lääkkeitä, jotka on suunniteltu torjumaan bakteeri-infektioi
```
Ilman että kiinnitetään liikaa huomiota yllä olevan tuloksen tarkkuuteen, johon palaamme myöhemmässä oppaassa, malli yritti tiivistää kappaleen yhteen lauseeseen. Voit huoletta pysähtyä tässä vaiheessa ja kokeilla, saatko parempia tuloksia.
Ilman että kiinnitämme liikaa huomiota yllä olevan tuloksen tarkkuuteen, johon palaamme myöhemmässä oppaassa, malli yritti tiivistää kappaleen yhteen lauseeseen. Voit huoletta pysähtyä tässä vaiheessa ja kokeilla, saatko parempia tuloksia.
---
## Tiedonpoiminta
Vaikka kielimalleja koulutetaan suorittamaan luonnollisen kielen tuottamista ja siihen liittyviä tehtäviä, ne ovat myös erittäin kykeneviä suorittamaan luokittelua ja monia muita luonnollisen kielen käsittelyn (NLP) tehtäviä.
Vaikka kielimalleja koulutetaan ensisijaisesti luonnollisen kielen tuottamiseen ja siihen liittyviin tehtäviin, ne ovat myös erittäin kykeneviä suorittamaan luokittelua ja monia muita luonnollisen kielen käsittelyn (NLP) tehtäviä.
Tässä on esimerkki kehotteesta, joka erottaa tietoa annetusta kappaleesta.
Tässä on esimerkki kehotteesta, joka poimii tietoa annetusta kappaleesta.
*Kehote:*
```
@ -72,9 +72,9 @@ Nimeä kappaleessa mainittu suureen kielimalliin perustuva tuote:
Kappaleessa yllä mainittu suureen kielimalliin perustuva tuote on ChatGPT.
```
Voit parantaa yllä olevia tuloksia monin eri tavoin, mutta tämä on jo erittäin hyödyllistä.
Voit parantaa yllä olevia tuloksia monin eri tavoin, mutta ne ovat jo nyt erittäin hyödyllisiä.
Nyt pitäisi olla selvää, että voit pyytää mallia suorittamaan erilaisia tehtäviä yksinkertaisesti ohjeistamalla mitä tehdä. Se on tehokas kyky, jota tekoälytuotekehittäjät käyttävät jo vaikuttavien tuotteiden ja kokemusten luomiseen.
Nyt pitäisi olla selvää, että voit ohjeistaa mallia suorittamaan erilaisia tehtäviä yksinkertaisesti kertomalla, mitä tehdä. Se on tehokas kyky, jota tekoälytuotekehittäjät käyttävät jo vaikuttavien tuotteiden ja kokemusten luomiseen.
Kappaleen lähde: [ChatGPT: five priorities for research](https://www.nature.com/articles/d41586-023-00288-7)
@ -82,7 +82,7 @@ Kappaleen lähde: [ChatGPT: five priorities for research](https://www.nature.com
---
## Kysymyksiin Vastaaminen
Yksi parhaista tavoista saada malli vastaamaan tiettyihin vastauksiin on parantaa kehotteen muotoa. Kuten aiemmin käsiteltiin, kehote voi yhdistää ohjeita, kontekstia, syötetietoa ja lopputuloksen haluttua muotoilua parannettujen tulosten saamiseksi. Vaikka näitä komponentteja ei vaadita, se on hyvä käytäntö, sillä mitä tarkempi olet ohjeiden kanssa, sitä parempia tuloksia saat. Alla on esimerkki siitä, miltä tämä näyttäisi seuraten rakenteellisempaa kehotetta.
Yksi parhaista tavoista saada malli antamaan tiettyjä vastauksia on parantaa kehotteen muotoa. Kuten aiemmin käsiteltiin, kehote voi yhdistää ohjeita, kontekstia, syötetietoa ja lopputuloksen haluttua muotoilua parantaakseen tuloksia. Vaikka näitä komponentteja ei vaadita, se on hyvä käytäntö, sillä mitä tarkempi olet ohjeiden kanssa, sitä parempia tuloksia saat. Alla on esimerkki siitä, miltä tämä voisi näyttää, kun käytetään rakenteellisempaa kehotetta.
*Kehote:*
```
@ -105,9 +105,9 @@ Konteksti otettu [Nature](https://www.nature.com/articles/d41586-023-00400-x)-ju
## Tekstin Luokittelu
Tähän asti olet käyttänyt yksinkertaisia ohjeita tehtävien suorittamiseen. Kehotesuunnittelijana sinun on opittava antamaan parempia ohjeita. Tulet myös huomaamaan, että vaikeammissa käyttötarkoituksissa pelkkien ohjeiden antaminen ei riitä. Tässä kohtaa sinun on mietittävä enemmän kontekstia ja erilaisia elementtejä, joita voit käyttää kehotteessa. Muita elementtejä, kuten ´syötetiedot´ tai ´esimerkit´.
Tähän asti olemme käyttäneet yksinkertaisia ohjeita tehtävien suorittamiseen. Kehotesuunnittelijana sinun on opittava antamaan parempia ohjeita. Huomaat myös, että vaikeammissa käyttötarkoituksissa pelkkien ohjeiden antaminen ei riitä. Tässä kohtaa sinun pitää ottaa huomioon enemmän kontekstia ja erilaisia elementtejä, joita voit käyttää kehotteessa. Näitä elementtejä ovat mm. ´syötetiedot´ ja ´esimerkit´.
Yritetään havainnollistaa tätä antamalla esimerkki tekstiluokittelusta.
Havainnollistetaan tätä antamalla esimerkki tekstiluokittelusta.
*Kehote:*
```
@ -122,7 +122,7 @@ Luokitus:
Neutraali
```
Annoit ohjeen luokitella tekstin, ja malli vastasi `'Neutraali'`, mikä on oikein. Tässä ei ole mitään vikaa, mutta sanotaan, että haluat mallin antavan tunnisteen tarkalleen haluamassasi muodossa. Joten ´Neutraali´:n sijaan haluat sen palauttavan ´neutraali´. Miten tämä saavutetaan? Tähän on erilaisia tapoja. Tässä tapauksessa on tärkeää olla erityisen tarkka kehotteessa, sillä mitä enemmän tietoa voit antaa kehotteelle, sitä paremmat tulokset saat. Voit kokeilla antaa esimerkkejä oikean käyttäytymisen määrittämiseksi. Kokeillaan uudelleen:
Annoit ohjeen luokitella tekstin, ja malli vastasi `'Neutraali'`, mikä on oikein. Tässä ei ole mitään vikaa, mutta sanotaan, että haluat mallin antavan tunnisteen tarkalleen haluamassasi muodossa. Joten ´Neutraali´:n sijaan haluat sen palauttavan ´neutraali´. Miten tämä saavutetaan? On olemassa useita tapoja. Tässä tapauksessa on tärkeää olla erityisen tarkka kehotteessa, sillä mitä enemmän tietoa voit antaa kehotteelle, sitä paremmat tulokset saat. Voit kokeilla antaa esimerkkejä oikean käyttäytymisen määrittämiseksi. Kokeillaan uudelleen:
*Kehote:*
```
@ -140,9 +140,9 @@ Luokitus:
neutraali
```
Täydellistä! Tällä kertaa malli palautti `neutraali` joka on etsimäsi tarkka tunniste. Näyttää siltä, että kehotteessa annettu esimerkki auttoi mallia olemaan tarkempi tuloksissaan.
Täydellistä! Tällä kertaa malli palautti `neutraali`, joka on etsimäsi tarkka tunniste. Näyttää siltä, että kehotteessa annettu esimerkki auttoi mallia olemaan tarkempi tuloksissaan.
Korostaaksemme, miksi joskus tarkkuus on tärkeää, tarkastele alla olevaa esimerkkiä ja löydä ongelma:
orostaaksemme, miksi joskus tarkkuus on tärkeää, tarkastellaan seuraavaa esimerkkiä ja yritetään löytää ongelma:
*Kehote:*
```
@ -162,7 +162,7 @@ Huomaatko ongelman? Vihjeenä, keksitty `nutraali` -tunniste jätetään mallin
---
## Keskustelu
Ehkä mielenkiintoisimpia asioita, joita voit saavuttaa kehotesuunnittelulla, on LLM-järjestelmän ohjaaminen käyttäytymiseen, tarkoitukseen ja identiteettiin. Tämä on erityisen hyödyllistä, kun rakennat keskustelevia järjestelmiä, kuten asiakaspalvelun chatbotteja.
Ehkä mielenkiintoisimpia asioita, joita kehotesuunnittelulla voi saavuttaa, on LLM-järjestelmän ohjaaminen käyttäytymään tietyn tarkoituksen mukaisesti ja luomaan tietty identiteetti. Tämä on erityisen hyödyllistä, kun rakennat keskustelevia järjestelmiä, kuten asiakaspalvelun chatbotteja.
Esimerkiksi luodaan keskusteleva järjestelmä, joka pystyy tuottamaan teknisempiä ja tieteellisempiä vastauksia kysymyksiin. Huomaa, kuinka kerrot sille nimenomaisesti, miten sen tulee käyttäytyä ohjeen kautta. Tätä kutsutaan joskus *roolikehotteeksi*.
@ -181,7 +181,7 @@ AI:
Totta kai, mustien aukkojen synnystä on monia teorioita, mutta yleisesti hyväksytty käsitys on, että ne syntyvät massiivisten tähtien lopullisessa vaiheessa. Kun tähden polttoaine loppuu, ytimen paine alkaa laskea, ja tähden ulommat kerrokset romahtavat ytimen päälle. Jos tähti on tarpeeksi massiivinen, romahtava aine keskittyy pienelle alueelle, jolloin syntyy musta aukko. Tämä on seurausta painovoiman voimakkaasta vaikutuksesta, joka on tarpeeksi voimakas estämään valon pakenemisen aukon läheisyydestä.
```
Tutkimusavustajamme kuulostaa hieman liian tekniseltä, eikö? Muutetaan tämä käyttäytyminen ja ohjeistetaan järjestelmää antamaan helpommin ymmärrettäviä vastauksia.
Tutkimusavustajamme saattaa kuulostaa hieman liian tekniseltä, eikö? Muutetaan tämä käyttäytyminen ja ohjeistetaan järjestelmää antamaan helpommin ymmärrettäviä vastauksia.
*Kehote:*
```
@ -198,12 +198,12 @@ AI:
Totta kai! Mustat aukot syntyvät silloin, kun todella suuri tähti kuolee. Tämä tähti on niin iso, että sen painovoima on todella voimakas. Kun tähti loppuu, sen keskusta romahtaa yhteen pisteeseen ja syntyy musta aukko. Musta aukko on niin voimakas, että mikään ei pääse sieltä pois, ei edes valo.
```
Huomaatko edistymisen? Voit jatkaa kehotteen parantamista. Jos lisäät enemmän esimerkkejä, saatat saada vielä parempia tuloksia.
Huomaatko edistystä? Voit jatkaa kehotteen parantamista lisäämällä enemmän esimerkkejä, jolloin saatat saada vielä parempia tuloksia.
---
## Koodin Generointi
Yksi sovellus, jossa LLM:t ovat melko tehokkaita, on koodin generointi. Copilot on tästä hyvä esimerkki. Voit suorittaa lukuisia koodin generointitehtäviä älykkäiden kehotteiden avulla. Katsotaan muutamia esimerkkejä alla.
Yksi sovellusalue, jossa LLM:t ovat melko tehokkaita, on koodin generointi. Copilot on tästä hyvä esimerkki. Voit suorittaa lukuisia koodin generointitehtäviä älykkäiden kehotteiden avulla. Katsotaan muutamia esimerkkejä alla.
Aloitetaan yksinkertaisella ohjelmalla, joka tervehtii käyttäjää.
@ -231,16 +231,16 @@ public class Main {
Tämä ohjelma pyytää käyttäjää kirjoittamaan nimensä, tallentaa sen muuttujaan nimi ja sitten tulostaa "Hei" yhdessä käyttäjän antaman nimen kanssa. Huomaa, että käytämme Scanner -luokkaa käyttäjän syötteen lukemiseen ja String -luokkaa käyttäjän nimen tallentamiseen.
```
Huomaa, että sinun ei edes tarvinnut määrittää käytettävää kieltä.
Huomaa, että sinun ei edes tarvinnut määrittää käytettävää ohjelmointikieltä.
Kokeillaan toista esimerkkiä. Alla oleva esimerkki näyttää, kuinka tehokkaita LLM:t voivat olla, kun käytetään hieman enemmän vaivaa kehotteen suunnittelussa.
Kokeillaan toista esimerkkiä. Seuraava esimerkki havainnollistaa, kuinka tehokkaita LLM:t voivat olla, kun kehotteen suunnitteluun käytetään hieman enemmän vaivaa.
*Kehote:*
```
"""
Table departments, columns = [DepartmentId, DepartmentName]
Table students, columns = [DepartmentId, StudentId, StudentName]
Create a MySQL query for all students in the Computer Science Department
Luo MySQL kysely joka palauttaa kaikki tietojenkäsittelytieteen opiskelijat
"""
```
@ -258,14 +258,14 @@ WHERE d.DepartmentName = 'tietojenkäsittelytiede';
Tämä kysely palauttaa kaikkien tietojenkäsittelytieteen osastolla olevien opiskelijoiden StudentId:n ja StudentName:n.
```
Tämä on erittäin vaikuttavaa. Tässä tapauksessa annoit tietoja tietokantaskeemasta ja pyysit luomaan kelvollisen MySQL-kyselyn.
Tämä on erittäin vaikuttava esimerkki. Tässä tapauksessa annoit tiedot tietokantaskeemasta ja pyysit LLM:ää luomaan kelvollisen MySQL-kyselyn
---
## Päättely
Ehkä yksi vaikeimmista tehtävistä LLM:lle tänä päivänä on sellainen, joka vaatii jonkinlaista päättelyä. Päättely on mielenkiintoisimpia alueita monimutkaisten sovellusten vuoksi, jotka voivat syntyä LLM:istä.
Ehkä yksi vaikeimmista tehtävistä LLM:lle tänä päivänä on sellainen, joka vaatii jonkinlaista päättelyä. Päättely on yksi mielenkiintoisimmista alueista sen monimutkaisten sovellusmahdollisuuksien vuoksi, jotka voivat syntyä LLM:ien kanssa.
Matemaattisia kykyjä vaativissa tehtävissä on tapahtunut joitakin parannuksia. Tästä huolimatta on tärkeää huomata, että nykyiset LLM:t kamppailevat päättelytehtävien kanssa, joten tämä vaatii entistä kehittyneempiä kehotesuunnittelutekniikoita. Käsittelemme näitä kehittyneitä tekniikoita seuraavassa oppaassa. Tässä vaiheessa käymme läpi muutamia perusesimerkkejä aritmeettisten kykyjen osoittamiseksi.
Matemaattisia kykyjä vaativiin tehtäviin on saatu joitakin parannuksia. On kuitenkin tärkeää huomata, että nykyiset LLM:t kamppailevat edelleen päättelytehtävien kanssa, mikä vaatii entistä kehittyneempiä kehotesuunnittelutekniikoita. Käsittelemme näitä kehittyneitä tekniikoita seuraavassa oppaassa. Tässä vaiheessa esitämme muutamia perusesimerkkejä aritmeettisten kykyjen havainnollistamiseksi.
*Kehote:*
```
@ -277,7 +277,7 @@ Paljonko on 9,000 * 9,000?
9,000 kertaa 9,000 on 81,000,000.
```
Kokeillaan hieman hankalampaa laskua.
Kokeillaan hieman hankalampaa laskutehtävää.
*Kehote:*
```
@ -299,7 +299,7 @@ Kun nämä kaksi summaa lasketaan yhteen, saadaan:
Tämä on parillinen luku, joten vastaus on parillinen.
```
Vastaus on väärä! Yritetään uudelleen parantamalla kehotetta.
Vastaus on väärä! Yritetään uudelleen kehotetta parantamalla.
*Kehote:*
```
@ -322,8 +322,8 @@ Vaihe 3: Tarkista, onko tulos pariton vai parillinen.
Lopuksi tarkistamme, onko saatu summa pariton vai parillinen. Koska 41 on jaollinen vain 1:llä ja itsellään (41), se on pariton luku.
```
Paljon parempi, eikö? Kokeilin tätä muutaman kerran, ja järjestelmä epäonnistuu joskus. Jos annat parempia ohjeita yhdistettynä esimerkkeihin, se saattaa auttaa saamaan tarkempia tuloksia.
Paljon parempi, eikö vain? Kokeilin tätä muutaman kerran, ja huomasin, että järjestelmä epäonnistuu välillä. Jos annat parempia ohjeita yhdistettynä esimerkkeihin, se saattaa auttaa saamaan tarkempia tuloksia.
Tulemme lisäämään esimerkkejä tähän osioon tulevaisuudessa.
Aiomme lisätä esimerkkejä tähän osioon tulevaisuudessa.
Tulevassa osiossa käsittelemme entistä kehittyneempiä kehotesuunnittelun käsitteitä ja tekniikoita, joiden avulla parannetaan suorituskykyä kaikissa näissä ja vaikeammissa tehtävissä.

View File

@ -1,11 +1,11 @@
# LLM-asetukset
Kehotteiden kanssa työskennellessäsi käytät LLM:ää suoraan sovelluksessa tai API:n kautta. Voit määrittää joitakin parametreja saadaksesi erilaisia tuloksia kehotteillesi.
Kehotteiden kanssa työskennellessäsi käytät LLM:ää suoraan sovelluksessa tai API:n kautta. Voit määrittää joitakin parametreja saadaksesi erilaisia tuloksia kehotteisiisi.
**Temperature** - Lyhyesti sanottuna, mitä alhaisempi temperature, eli lämpötila, sitä deterministisemmät tulokset siinä mielessä, että todennäköisin seuraava merkki valitaan. Lämpötilan nostaminen voi johtaa suurempaan satunnaisuuteen, mikä kannustaa monipuolisempiin tai luovempiin tuloksiin. Käytännössä lisäät muiden mahdollisten merkkien painoarvoja. Sovelluksen kannalta saatat haluta käyttää alhaisempaa temperature-arvoa tehtävissä, kuten faktaan perustuvassa kysymys/vastaus kehottamisessa, jotta saat tarkempia vastauksia. Runojen generoinnissa tai muissa luovissa tehtävissä voi olla hyödyllistä nostaa temperature-arvoa.
**Temperature** - Lyhyesti sanottuna, mitä alhaisempi ´temperature´-parametri (lämpötila), sitä deterministisemmät tulokset saat, koska todennäköisin seuraava merkki valitaan. Lämpötilan nostaminen voi johtaa suurempaan satunnaisuuteen, mikä kannustaa monipuolisempiin tai luovempiin tuloksiin. Käytännössä nostamalla lämpötilaa lisäät muiden mahdollisten merkkien painoarvoja. Sovelluksen kannalta saatat haluta käyttää alhaisempaa temperature-arvoa tehtävissä, kuten faktoihin perustuvassa kysymys/vastaus -kehottamisessa, jotta saat tarkempia vastauksia. Runojen generoinnissa tai muissa luovissa tehtävissä voi olla hyödyllistä nostaa temperature-arvoa.
**Top_p** - Tilanne on sama top_p:llä. Temperature-arvon yhteydessä käytettävä nucleus sampling, eli ydinnäytteenotto-tekniikka, jonka avulla voit hallita kuinka deterministinen malli on tuottamassa vastausta. Jos etsit tarkkoja ja tosiasiallisia vastauksia, pidä tämä matalana. Jos etsit monipuolisempia vastauksia, nosta arvo suuremmaksi.
**Top_p** - Sama pätee ´top_p´-parametriin. Top_p-parametri liittyy nucleus sampling -tekniikkaan (ydinnäytteenotto), jota käytetään temperature-parametrin kanssa. Sen avulla voit hallita, kuinka deterministinen malli on vastausten tuottamisessa. Jos etsit tarkkoja ja tosiasiallisia vastauksia, pidä tämä matalana. Jos etsit monipuolisempia vastauksia, nosta arvo suuremmaksi.
Yleinen suositus on muuttaa vain toista, ei molempia. Aloittaessasi ei ole tarpeellista muuttaa kumpaakaan asetusta.
Yleinen suositus on säätää vain toista näistä parametreista, ei molempia. Aloittaessasi ei ole tarpeellista muuttaa kumpaakaan asetusta.
Ennen kuin aloitat perusesimerkeillä, pidä mielessä, että tuloksesi voivat vaihdella sen mukaan, mitä LLM-versiota käytät.
Ennen kuin aloitat perusesimerkkien kanssa, pidä mielessä, että tuloksesi voivat vaihdella sen mukaan, mitä LLM-versiota käytät.

View File

@ -4,7 +4,7 @@ Tässä on joitakin vinkkejä, jotka kannattaa pitää mielessä kehotteita suun
### Aloita Yksinkertaisesti
Kehotteiden suunnittelun aloittamisessa kannattaa muistaa, että kyseessä on iteratiivinen prosessi, joka vaatii paljon kokeilua optimaalisten tulosten saavuttamiseksi. OpenAI:n tai Cohere:n Playground-ympäristöt ovat hyvä paikka aloittaa.
Kehotteiden suunnittelun aloittamisessa kannattaa muistaa, että kyseessä on iteratiivinen prosessi, joka vaatii paljon kokeilua optimaalisten tulosten saavuttamiseksi. OpenAI:n tai Cohere:n Playground-ympäristöt ovat hyviä paikkoja aloittaa.
Voit aloittaa yksinkertaisilla kehotteilla ja lisätä elementtejä ja kontekstia pyrkiessäsi parempiin tuloksiin. Kehotteen iterointi matkan varrella on tästä syystä elintärkeää. Oppaasta löydät monia esimerkkejä, joissa spesifisyys, yksinkertaisuus ja tarkkuus antavat usein parempia tuloksia.
@ -33,11 +33,11 @@ Teksti: "Hei!"
```
### Spesifisyys
Ole erittäin tarkka ohjeista ja tehtävistä, joita haluat mallin suorittavan. Mitä kuvailevampi ja yksityiskohtaisempi kehote on, sitä paremmat tulokset. Tämä on erityisen tärkeää, kun sinulla on tietty toivottu tulos, tai tuotantotyyli jossa haluat saada tuloksen. Tärkeintä on siis kehotteen hyvä muotoilu ja tuloksen haluttu kuvaus, sillä se on usein ainoa tapa saada parempia tuloksia. Esimerkkien antaminen kehotteessa on erittäin tehokas tapa saada haluttu tulos tietyssä muodossa.
Ole erittäin tarkka ohjeista ja tehtävistä, joita haluat mallin suorittavan. Mitä kuvailevampi ja yksityiskohtaisempi kehote on, sitä paremmat tulokset saat. Tämä on erityisen tärkeää, kun sinulla on tietty toivottu tulos, tai tuotantotyyli jossa haluat saada tuloksen. Tärkeintä on siis kehotteen hyvä muotoilu ja tuloksen tarkka kuvaus, sillä se on usein ainoa tapa saada parempia tuloksia. Esimerkkien antaminen kehotteessa on erittäin tehokas tapa saada haluttu tulos tietyssä muodossa.
Kehotteita suunnitellessasi sinun tulisi myös pitää mielessä kehotteen pituus, sillä kehotteen pituudessa on rajoituksia. Kehotetta suunnitellessa on hyvä ensin miettiä kuinka tarkka ja yksityiskohtainen sinun tulisi olla. Liian monien tarpeettomien yksityiskohtien sisällyttäminen ei välttämättä ole hyvä lähestymistapa. Yksityiskohtien tulisi olla asiaankuuluvia ja edistää käsillä olevaa tehtävää. Kannustamme kokeilemaan paljon ja iteroimaan saavutettujen tulosten perusteella. Tällä tavalla nopeutat kykyäsi optimoida kehotteita tarpeisiisi.
Kehotteita suunnitellessasi sinun tulisi myös ottaa huomioon kehotteen pituus, sillä kehotteen pituudessa on rajoituksia. Kehotetta suunnitellessa on hyvä ensin miettiä, kuinka tarkka ja yksityiskohtainen sinun tulisi olla. Liian monien tarpeettomien yksityiskohtien sisällyttäminen ei välttämättä ole hyvä lähestymistapa. Yksityiskohtien tulisi olla asiaankuuluvia ja tukea käsillä olevaa tehtävää. Kannustamme kokeilemaan paljon ja iteroida saavutettujen tulosten perusteella. Tällä tavalla voit nopeuttaa kykyäsi optimoida kehotteita tarpeisiisi.
Esimerkkinä kokeillaan yksinkertaista kehotetta spesifisen tiedon erottamiseksi tekstistä.
Esimerkkinä yksinkertainen kehote spesifisen tiedon erottamiseksi tekstistä.
*Kehote:*
```
@ -54,11 +54,11 @@ Syöte: "Vaikka nämä kehityksaskeleet ovat rohkaisevia tutkijoille, mysteerej
Paikka: Lissabon, Champalimaud Centre for the Unknown
```
Syötteeksi saatu teksti on peräisin [tästä Nature-artikkelista](https://www.nature.com/articles/d41586-023-00509-z).
Käytetty teksti on peräisin [tästä Nature-artikkelista](https://www.nature.com/articles/d41586-023-00509-z).
### Vältä Epätarkkuutta
Ottaen huomioon edellä mainitut vinkit yksityiskohtaisuudesta ja muotoilun parantamisesta, on helppo langeta ansaan, jossa liiallisella nokkeluudella kehotteiden kanssa luodaan mahdollisesti epätarkkoja kuvauksia. Analogia on hyvin samankaltainen kuin tehokkaassa viestinnässä mitä suorempi, sitä tehokkaammin viesti välittyy.
Ottaen huomioon edellä mainitut vinkit yksityiskohtaisuudesta ja muotoilun parantamisesta, on helppo langeta ansaan, jossa liiallisella nokkeluudella kehotteiden kanssa luodaan mahdollisesti epätarkkoja kuvauksia. Analogia on hyvin samankaltainen kuin tehokkaassa viestinnässä mitä suorempi viesti, sitä tehokkaammin se välittyy.
Saatat esimerkiksi olla kiinnostunut oppimaan kehotesuunnittelun käsitteen. Voit kokeilla jotain tällaista:
@ -75,7 +75,7 @@ Selitä kehotesuunnittelun käsite 2-3 lauseella lukiolaiselle.
### Tehdä vai ei tehdä?
Toinen yleinen vinkki kehotteiden suunnittelussa on välttää kielteisten ohjeiden antamista, vaan sanoa sen sijaan, mitä tehdä. Tämä kannustaa spesifimpiin vastauksiin ja keskittyy yksityiskohtiin, jotka johtavat hyviin vastauksiin mallilta.
Tässä on esimerkki elokuvasuositus-chatbotista, joka epäonnistuu juuri siinä, mitä en halua sen tekevän, koska kirjoitin ohjeen keskittyen kielteisiin ohjeisiin.
Tässä on esimerkki elokuvasuositus-chatbotista, joka epäonnistuu tehtävässään, koska ohjeet keskittyivät kielteisiin asioihin.
*Kehote:*
```

View File

@ -2,9 +2,9 @@
import { Callout } from 'nextra-theme-docs'
Olemme nähneet kuinka tehokkaita hyvin muotoillut kehotteet voivat olla erilaisten tehtävien suorittamiseen tekniikoilla, kuten vähäisen ohjauksen oppiminen ja ajatusketjuohjaus. Kun mietimme todellisten sovellusten rakentamista LLM:ien päälle, on ratkaisevan tärkeää pohtia väärinkäytöksiä, riskejä ja turvallisuuskäytäntöjä, jotka liittyvät kielimalleihin.
Olemme nähneet kuinka tehokkaita hyvin muotoillut kehotteet voivat olla erilaisten tehtävien suorittamiseen tekniikoilla, kuten vähäisen ohjauksen kehottaminen ja ajatusketjuohjaus. Kun mietimme sovellusten rakentamista LLM:ien päälle, on tärkeää pohtia väärinkäytöksiä, riskejä ja turvallisuuskäytäntöjä, jotka liittyvät kielimalleihin.
Tämä osio keskittyy korostamaan joitakin LLM:ien riskien ja väärinkäytösten tekniikoita, kuten kehoteinjektiot. Se tuo esiin myös haitalliset käyttäytymismallit ja sen, kuinka niitä voidaan mahdollisesti lieventää tehokkailla kehotesuunnittelutekniikoilla. Muita kiinnostavia aiheita ovat yleistettävyys, kalibrointi, vinoumat, sosiaaliset vinoumat ja faktuaalisuus, vain muutamia mainitakseni.
Tämä osio keskittyy korostamaan joitakin LLM:ien riskien ja väärinkäytösten tekniikoita, kuten kehoteinjektiot. Osio tuo esiin myös haitalliset käyttäytymismallit ja sen, kuinka niitä voidaan mahdollisesti lieventää tehokkailla kehotesuunnittelutekniikoilla. Muita kiinnostavia aiheita ovat yleistettävyys, kalibrointi, vinoumat, sosiaaliset vinoumat ja faktuaalisuus, vain muutamia mainitakseni.
<Callout emoji="⚠️">
Tämä osa sivustoa kehittyy jatkuvasti.

View File

@ -4,7 +4,7 @@ import { Callout, FileTree } from 'nextra-theme-docs'
import {Screenshot} from 'components/screenshot'
import ACTIVE from '../../img/active-prompt.png'
Ajatusketjuun (CoT) perustuvat menetelmät nojaavat tiettyyn joukkoon ihmisten tekemiä esimerkkejä. Ongelmana on, että esimerkit eivät välttämättä ole tehokkaimpia erilaisille tehtäville. Tämän ongelman ratkaisemiseksi, [Diao ym., (2023)](https://arxiv.org/pdf/2302.12246.pdf) ehdotti äskettäin uutta kehotetekniikkaa nimeltä Aktiivikehote (Active-Prompt), joka mukauttaa LLM:ää eri tehtäväkohtaisten esimerkkikehotteiden mukaan (ihmisten suodattamalla CoT-päättelyllä).
Ajatusketjuun (CoT) perustuvat menetelmät perustuvat tiettyyn joukkoon ihmisten tekemiä esimerkkejä. Ongelmana on, että esimerkit eivät välttämättä ole tehokkaita erilaisissa tehtävissä. Tämän ongelman ratkaisemiseksi, [Diao ym., (2023)](https://arxiv.org/pdf/2302.12246.pdf) ehdottivat äskettäin uutta kehotetekniikkaa nimeltä Aktiiviohje (Active-Prompt), joka mukauttaa LLM:ää eri tehtävakohtaisten esimerkkiohjeiden mukaan (ihmisten suodattaman CoT-päättelyn avulla).
Alla on esitys lähestymistavasta. Ensimmäinen vaihe on kysyä LLM:ltä joko muutamilla CoT-esimerkeillä tai ilman niitä. *k* mahdollista vastausta tuotetaan joukolle koulutuskysymyksiä. Epävarmuusmääre lasketaan perustuen *k* vastaukseen. Epävarmimmat kysymykset valitaan ihmisten annotointia varten. Uusia annotoituja esimerkkejä käytetään sitten kunkin kysymyksen päättelemiseen.

View File

@ -6,20 +6,20 @@ import APE from '../../img/APE.png'
import APECOT from '../../img/ape-zero-shot-cot.png'
<Screenshot src={APE} alt="APE" />
Kuvan lähde: [Zhou ym., (2022)](https://arxiv.org/abs/2211.01910)
Kuvan lähde: [Zhou ym. (2022)](https://arxiv.org/abs/2211.01910)
[Zhou et al., (2022)](https://arxiv.org/abs/2211.01910)-artikkelissa käsitellään automoitua kehotesuunnittelua (Automatic Prompt Engineer (APE)). Ohjeiden generoinnin ongelmaksi asetetaan luonnollisen kielen synteesi, joka ratkaistaan black-box-optimointiongelmana käyttäen LLM:ää ehdokasratkaisujen luomiseen ja etsimiseen.
[Zhou ym. (2022)](https://arxiv.org/abs/2211.01910)-artikkelissa käsitellään automoitua kehotesuunnittelua (Automatic Prompt Engineer, APE). Ohjeiden luomisen haasteena on luonnollisen kielen synteesi, joka ratkaistaan mustan laatikon optimointiongelmana käyttäen LLM:ää ehdokasratkaisujen luomiseen ja etsimiseen.
Ensimmäinen vaihe sisältää suuren kielimallin (tulkitsemismallina), jolle annetaan esimerkkejä tehtävän ohjeiden ehdokkaiden luomiseksi. Nämä ehdokasratkaisut ohjaavat etsintäprosessia. Ohjeet toteutetaan kohdemallilla ja sopivin ohje valitaan laskettujen arviointipisteiden perusteella.
Ensimmäinen vaihe sisältää suuren kielimallin (tulkintamallina), jolle annetaan esimerkkejä ohje-ehdokkaiden luomiseksi tehtävää varten. Nämä ehdokasratkaisut ohjaavat etsintäprosessia. Ohjeet toteutetaan kohdemallilla ja sopivin ohje valitaan laskettujen arviointipisteiden perusteella.
APE löytää paremman nollakehotte CoT:n kuin ihmisen suunnittelema "Let's think step by step" -kehote ([Kojima ym., 2022](https://arxiv.org/abs/2205.11916)).
APE löytää paremman nollaohjauksen CoT:n kuin ihmisen suunnittelema "Let's think step by step" -ohjaus ([Kojima ym., 2022](https://arxiv.org/abs/2205.11916)).
Kehote "Käydään tämä läpi askel askeleelta, jotta olemme varmoja oikeasta vastauksesta." herättää ajatusketjun kautta rationalisoinnin, ja parantaa suorituskykyä MultiArith- ja GSM8K-arviointimittareissa:
<Screenshot src={APECOT} alt="APECOT" />
Kuvan lähde: [Zhou ym., (2022)](https://arxiv.org/abs/2211.01910)
Tämä artikkeli käsittelee tärkeää aihetta liittyen kehotesuunnitteluun, joka on ajatus automaattisesti optimoitavista kehotteista. Vaikka emme mene syvälle tähän aiheeseen tässä oppaassa, tässä on muutama avainartikkeli, jos olet kiinnostunut aiheesta:
Tämä artikkeli käsittelee tärkeää aihetta kehotesuunnittelussa, eli automaattisesti optimoitavia ohjeita. Vaikka emme käy tätä aihetta läpi syvällisesti tässä oppaassa, tässä on muutamia keskeisiä artikkeleita, jos olet kiinnostunut aiheesta:
- [AutoPrompt](https://arxiv.org/abs/2010.15980) - esittää lähestymistavan automaattisten kehotteiden luomiseksi monipuolisille tehtäville gradientti-ohjatun haun avulla.
- [Prefix Tuning](https://arxiv.org/abs/2101.00190) - kevyempi vaihtoehto hienosäädölle, joka lisää koulutettavan jatkuvan etuliitteen NLG-tehtäviin.

View File

@ -1,6 +1,6 @@
# Itsejohdonmukaisuus
Ehkä yksi kehittyneimmistä kehotesuunnittelutekniikoista on itsejohdonmukaisuus. [Wang ym. (2022)](https://arxiv.org/pdf/2203.11171.pdf), ehdottama itsejohdonmukaisuus pyrkii "korvaamaan naiivin ahneen dekoodauksen, jota käytetään ajatusketjukehotteissa". Ajatuksena on ottaa näytteitä useista, erilaisista päättelypolkuista vähäisen ohjauksen CoT:lla ja käyttää tuotoksia johdonmukaisimman vastauksen valitsemiseen. Tämä auttaa parantamaan CoT-kehoteen suorituskykyä aritmetiikkaa ja maalaisjärkeä vaativissa tehtävissä.
Itsejohdonmukaisuus on ehkä yksi kehittyneimmistä kehotesuunnittelutekniikoista. [Wang ym. (2022)](https://arxiv.org/pdf/2203.11171.pdf), ehdottama itsejohdonmukaisuus pyrkii "korvaamaan naiivin ahneen dekoodauksen, jota käytetään ajatusketjukehotteissa". Ajatus on ottaa näytteitä useista erilaisista päättelypoluista vähäisen ohjauksen CoT:lla ja valita tuotosten joukosta johdonmukaisin vastaus. Tämä auttaa parantamaan CoT-kehoteen suorituskykyä tehtävissä, jotka vaativat aritmetiikkaa ja maalaisjärkeä.
Kokeillaan seuraavaa esimerkkiä aritmeettiselle päättelylle:
@ -15,7 +15,7 @@ olen 70, kuinka vanha siskoni on?
35
```
Tulos on väärä! Kuinka voimme parantaa tätä itsejohdonmukaisuudella? Kokeillaan. Käytämme Wang ym. 2022:n (taulukko 17) vähäisen ohjauksen esimerkkejä:
Tulos on väärä! Kuinka voimme parantaa tätä itsejohdonmukaisuudella? Kokeillaan. Käytämme Wang ym. (2022) -julkaisun vähäisen ohjauksen esimerkkejä (taulukko 17):
*Kehote:*
```
@ -62,4 +62,4 @@ V: Kun olit 6-vuotias, siskosi oli puolet eli 3 vuotta nuorempi. Nyt olet 70-vuo
V: Kun olit 6-vuotias, siskosi oli 3-vuotias, koska hän oli puolet iästäsi. Nyt olet 70-vuotias, joten 70 / 2 = 35. Siskosi on nyt 35-vuotias.
```
Laskeminen lopulliseen vastaukseen sisältää muutamia vaiheita (katso yksityiskohdat artikkelista), mutta voimme nähdä, että todennäköisin vastaus on jo muodostumassa, joten se tulisi käytännössä lopulliseksi vastaukseksi.
Lopullisen vastauksen laskeminen sisältää muutamia vaiheita (katso yksityiskohdat artikkelista), mutta koska todennäköisin vastaus on jo muodostumassa, se tulisi käytännössä lopulliseksi vastaukseksi.

View File

@ -36,7 +36,7 @@ A:
Kaikkien parittomien lukujen (15, 5, 13, 7, 1) summa on 41. Vastaus on Epätosi.
```
Kun tarjosimme päättelyvaiheen, saimme täydellisen tuloksen. Itse asiassa tehtävän ratkaisemiseen riittää vielä vähemmän esimerkkejä. Yksi esimerkki näyttää olevan riittävä:
Kun tarjoamme päättelyvaiheen, saamme täydellisen tuloksen. Itse asiassa tehtävän ratkaisemiseen riittää vielä vähemmän esimerkkejä. Yksi esimerkki näyttää olevan riittävä:
*Kehote:*
```
@ -60,7 +60,7 @@ Tutkijoiden mukaan tämän on emergentti kyky, joka ilmenee riittävän suurilla
Kuvan lähde: [Kojima ym. (2022)](https://arxiv.org/abs/2205.11916)
Yksi tuore idea on nollakehote CoT [zero-shot CoT](https://arxiv.org/abs/2205.11916) (Kojima ym. 2022) joka periaatteessa sisältää tekstin "Mietitään askel askeleelta" lisäämisen alkuperäiseen kehotteeseen. Kokeillaan yksinkertaista ongelmaa ja katsotaan, miten malli suoriutuu:
Yksi tuore idea on nollaoppimis CoT [zero-shot CoT](https://arxiv.org/abs/2205.11916) (Kojima ym. 2022) joka periaatteessa sisältää tekstin "Mietitään askel askeleelta" lisäämisen alkuperäiseen kehotteeseen. Kokeillaan yksinkertaista ongelmaa ja katsotaan, miten malli suoriutuu:
*Kehote:*
```
@ -96,4 +96,4 @@ Selvä, mennään askel askeleelta:
Sinulle jäi siis yhteensä 10 omenaa.
```
Yksinkertainen kehote on tehokas tässä tehtävässä. Tämä on erityisen hyödyllistä, kun sinulla ei ole montaa esimerkkiä joita voit käyttää kehotteessa.
Yksinkertainen kehote osoittautuu tehokkaaksi tässä tehtävässä. Tämä on erityisen hyödyllistä, jos sinulla ei ole montaa esimerkkiä joita voit käyttää kehotteessa.

View File

@ -6,9 +6,9 @@ import DSP from '../../img/dsp.jpeg'
[Li ym., (2023)](https://arxiv.org/abs/2302.11520) ehdottaa uutta kehotetekniikkaa, joka ohjaa LLM:ää paremmin halutun yhteenvedon tuottamiseen.
Säädettävä menettelytapa-LM koulutetaan tuottamaan vihjeitä/kannusteita. LLM:ien optimointiin käytetään yhä enemmän vahvistusoppimista (Reinforcement Learning, RL).
Säädettävä menettelytapa kielimalli koulutetaan tuottamaan vihjeitä/kannusteita. Kielimallien optimointiin käytetään yhä enemmän vahvistusoppimista (Reinforcement Learning, RL).
Alla oleva kuva näyttää, miten Suuntaa antava kehotetekniikka vertautuu tavanomaiseen kehotetekniikkaan. Menettelytapa-LM voi olla pieni ja optimoitu tuottamaan vihjeitä, jotka ohjaavat "mustaan laatikkoon jäädytettyä" LLM:ää.
Alla oleva kuva näyttää, miten suuntaa antava kehotetekniikka vertautuu tavanomaiseen kehotetekniikkaan. Menettelytapa-kielimalli voi olla pieni ja optimoitu tuottamaan vihjeitä, jotka ohjaavat "mustaan laatikkoon jäädytettyä" LLM:ää.
<Screenshot src={DSP} alt="DSP" />
Kuvan lähde: [Li ym., (2023)](https://arxiv.org/abs/2302.11520)

View File

@ -1,9 +1,8 @@
# Vähäisen ohjauksen kehottaminen
Vaikka suurten kielimallien nollakehottamisen kyvyt ovat huomattavia, ne eivät vielä pärjää monimutkaisemmissa tehtävissä käyttäen vain nollakehottamista. Vähäisen ohjauksen kehotteiden avulla voidaan mahdollistaa kontekstissa tapahtuva oppiminen, jossa tarjoamme kehotteessa esimerkkejä mallin suorituskyvyn parantamiseksi. Esimerkit toimivat ehtona seuraaville askelille, joiden mukaisesti haluamme mallin tuottavan vastauksen.
While large-language models demonstrate remarkable zero-shot capabilities, they still fall short on more complex tasks when using the zero-shot setting. Few-shot prompting can be used as a technique to enable in-context learning where we provide demonstrations in the prompt to steer the model to better performance. The demonstrations serve as conditioning for subsequent examples where we would like the model to generate a response.
Vaikka suurten kielimallien nollakehottamisen kyvyt ovat huomattavia, ne eivät vielä pärjää monimutkaisemmissa tehtävissä käyttäen vain nollakehottamista. Vähäisen ohjauksen kehotteiden avulla voidaan mahdollistaa kontekstissa tapahtuva oppiminen tarjoamalla kehotteessa esimerkkejä mallin suorituskyvyn parantamiseksi. Esimerkit toimivat ehtona seuraaville askelille, joiden mukaisesti haluamme mallin tuottavan vastauksen.
[Touvron ym. 2023](https://arxiv.org/pdf/2302.13971.pdf) mukaan vähäisen ohjauksen ominaisuudet ilmestyivät ensimmäisen kerran, kun malleja skaalattiin riittävän suuriksi [(Kaplan ym., 2020)](https://arxiv.org/abs/2001.08361).
[Touvron ym. 2023](https://arxiv.org/pdf/2302.13971.pdf) mukaan vähäisen ohjauksen ominaisuudet tulivat esiin ensimmäisen kerran, kun malleja skaalattiin riittävän suuriksi [(Kaplan ym., 2020)](https://arxiv.org/abs/2001.08361).
Demonstroimme vähäisen ohjauksen oppimista esimerkin avulla, joka esiteltiin [Brown et al. 2020](https://arxiv.org/abs/2005.14165) julkaisussa. Esimerkissä tehtävänä on käyttää uutta sanaa oikein lauseessa.
@ -29,7 +28,7 @@ Voimme havaita, että malli on jollakin tavalla oppinut suorittamaan tehtävän
- käyttämäsi muoto vaikuttaa myös suorituskykyyn, vaikka käyttäisit vain satunnaisia tunnisteita, tämä on paljon parempi kuin ei tunnisteita lainkaan.
- lisätulokset osoittavat, että satunnaisten tunnisteiden valitseminen todellisesta tunnisteiden jakaumasta (sen sijaan, että käytettäisiin yhtenäistä jakaumaa) auttaa myös.
Kokeillaan muutamaa esimerkkiä. Kokeillaan ensin esimerkkiä, jossa on satunnaiset tunnisteet (eli tunnisteet Negative ja Positive on annettu syötteille satunnaisesti):
Kokeillaan muutamaa esimerkkiä. Kokeillaan ensin esimerkkiä, jossa on satunnaiset tunnisteet (eli tunnisteet Negatiivinen ja Positiivinen on annettu syötteille satunnaisesti):
*Kehote:*
```
@ -44,7 +43,7 @@ Mikä kamala esitys! //
Negatiivinen
```
Saatamme silti oikean vastauksen, vaikka tunnisteet on annettu satunnaisesti. Huomaa, että säilytimme myös muodon, mikä auttaa myös. Itse asiassa lisäkokeilujen avulla vaikuttaa siltä, että uudemmat GPT-mallit, joita kokeilemme, ovat muuttumassa joustavammiksi jopa satunnaisten formaattien suhteen. Esimerkki:
Saatamme silti saada oikean vastauksen, vaikka tunnisteet on annettu satunnaisesti. Huomaa, että säilytimme myös muodon, mikä auttaa myös. Itse asiassa lisäkokeilujemme perusteella näyttää siltä, että uudemmat GPT-mallit, joita kokeilemme, ovat joustavampia jopa satunnaisten formaattien suhteen. Esimerkki:
*Kehote:*
```
@ -65,7 +64,7 @@ Yllä olevassa formaatissa ei ole johdonmukaisuutta, mutta malli ennusti silti o
### Vähäisen Ohjauksen Kehotteiden Rajoitukset
Tavanomainen vähäisen ohjauksen kehote toimii hyvin monissa tehtävissä, mutta se ei ole täydellinen tekniikka, erityisesti monimutkaisempien päättelytehtävien kohdalla. Havainnollistetaan, miksi näin on. Muistatko aiemman esimerkin, jossa annoimme seuraavan tehtävän:
Vaikka tavanomainen vähäisen ohjauksen kehote toimii hyvin monissa tehtävissä, se ei ole täydellinen tekniikka, erityisesti monimutkaisempien päättelytehtävien kohdalla. Havainnollistetaan, miksi näin on. Muistatko aiemman esimerkin, jossa annoimme seuraavan tehtävän:
```
Parittomat luvut tässä ryhmässä muodostavat parillisen summan: 15, 32, 5, 13, 82, 7, 1.
@ -81,7 +80,7 @@ Kyllä, parittomat luvut tässä ryhmässä muodostavat 107, mikä on parillinen
Tämä ei ole oikea vastaus, mikä korostaa paitsi järjestelmien rajoituksia myös tarvetta kehittyneemmälle kehotesuunnittelulle.
Kokeillaan lisätä joitakin esimerkkejä ja nähdä, paraneeko vähäisen ohjauksen kehotteiden avulla saatu tulos.
Kokeillaan lisäämällä joitakin esimerkkejä ja katsotaan, paraneeko vähäisen ohjauksen kehotteiden avulla saatu tulos.
*Kehote:*
```
@ -106,7 +105,7 @@ A:
Vastaus on Tosi.
```
Se ei toiminut. Näyttää siltä, että vähäisen ohjauksen kehotteet eivät riitä luotettavien vastausten saamiseksi tämäntyyppiseen päättelyongelmaan. Yllä oleva esimerkki antaa perustietoa tehtävästä. Tarkemmin tarkasteltuna esittelemämme tehtävätyyppi sisältää useita lisäpäättelyvaiheita. Toisin sanoen, ongelman jakaminen osiin ja sen osoittaminen mallille saattaa auttaa.
Se ei toiminut. Vaikuttaa siltä, että vähäisen ohjauksen kehotteet eivät riitä luotettavien vastausten saamiseksi tämäntyyppiseen päättelyongelmaan. Yllä oleva esimerkki antaa perustietoa tehtävästä. Tarkemmin tarkasteltuna esittelemämme tehtävätyyppi sisältää useita lisäpäättelyvaiheita. Toisin sanoen, ongelman jakaminen osiin ja sen osoittaminen mallille saattaa auttaa.
Ajatusketjua höydyntävä [chain-of-thought (CoT) kehottaminen](https://arxiv.org/abs/2201.11903) on saavuttanut suosiota ratkaisemaan monimutkaisempia laskennallisia, yleistä järkeä vaativia ja symbolisia päättelytehtäviä.
Esimerkkien tarjoaminen on hyödyllistä joissakin tehtävissä. Kun nollakehottaminen ja vähäisen ohjauksen kehottaminen eivät riitä, se saattaa tarkoittaa, että mallin oppimat asiat eivät ole riittäviä tehtävän suorittamiseksi hyvin. Tässä vaiheessa on suositeltavaa alkaa harkita mallien asetusten hienosäätämistä tai kokeilla kehittyneempiä kehotesuunnittelutekniikoita. Seuraavaksi keskustelemme suositusta kehotesuunnittelutekniikasta, jota kutsutaan ajatusketjua hyödyntäväksi kehotesuunnitteluksi.
Esimerkkien tarjoaminen on hyödyllistä joissakin tehtävissä. Kun nollakehottaminen ja vähäisen ohjauksen kehottaminen eivät riitä, se saattaa tarkoittaa, että mallin oppimat asiat eivät ole riittäviä tehtävän suorittamiseksi hyvin. Tässä vaiheessa on suositeltavaa alkaa harkita mallien asetusten hienosäätämistä tai kokeilla kehittyneempiä kehotesuunnittelutekniikoita. Seuraavaksi keskustelemme kehotesuunnittelutekniikasta, joka on saavuttanut suosiota. Sitä kutsutaan ajatusketjua hyödyntäväksi kehotesuunnitteluksi.

View File

@ -7,9 +7,9 @@ import GENKNOW from '../../img/gen-knowledge.png'
Kuvan lähde: [Liu ym. 2022](https://arxiv.org/pdf/2110.08387.pdf)
LLM:t jatkavat kehittymistään, ja yksi suosittu tekniikka sisältää kyvyn sisällyttää tietoa tai informaatiota, joka auttaa mallia tekemään tarkempia ennusteita.
LLM:t kehittyvät jatkuvasti, ja yksi suosittu tekniikka on tietojen tai informaation sisällyttäminen, mikä auttaa mallia tekemään tarkempia ennusteita.
Käyttämällä samankaltaista ideaa, voidaanko mallia käyttää myös tiedon tuottamiseen ennen ennusteen tekemistä? Tätä yritetään [Liu ym. 2022](https://arxiv.org/pdf/2110.08387.pdf)-artikkelissa -- tuottaa tietoa, jota käytetään osana kehotetta. Erityisesti keskityttiin siihen, kuinka hyödyllistä tämä on maalaisjärkeä vaativissa tehtävissä?
Käyttäen samankaltaista ideaa, voisiko mallia käyttää myös tiedon tuottamiseen ennen ennusteen tekemistä? Tätä yritetään [Liu ym. 2022](https://arxiv.org/pdf/2110.08387.pdf)-artikkelissa -- tuottaa tietoa, jota käytetään osana kehotetta. Erityistä huomiota kiinnitettiin siihen, kuinka hyödyllistä tämä on tehtävissä, jotka vaativat maalaisjärkeä.
Kokeillaan yksinkertaista kehotetta:
@ -23,9 +23,9 @@ Onko golfin tavoitteena saada enemmän pisteitä kuin muilla? Kyllä vai ei?
Kyllä, golfin tavoitteena on saada vähemmän pisteitä kuin muut pelaajat. Golfissa pelin voittaja on se pelaaja, jolla on vähiten lyöntejä reiän läpäisemiseen. Jokaisesta lyönnistä pelaajalle kertyy yksi piste, joten vähemmän lyöntejä tarkoittaa vähemmän pisteitä. Tämän vuoksi golfin tavoitteena onkin saada vähemmän pisteitä kuin muut pelaajat.
```
Tämän tyyppinen virhe paljastaa LLM:ien rajoitukset tehtävien suorittamisessa, jotka vaativat enemmän tietoa maailmasta. Kuinka parannamme tätä tiedon tuottamisella?
Tämäntyyppiset virheet paljastavat LLM:ien rajoitukset tehtävissä, jotka vaativat laajempaa tietoa maailmasta. Kuinka voimme parantaa tätä tiedon tuottamisen avulla?
Ensinnäkin tuotamme muutamia "tietoja":
Ensin tuotamme muutamia "tietoja":
*Kehote:*
```
@ -58,7 +58,7 @@ Golfin tavoitteena on saavuttaa mahdollisimman vähän lyöntejä pelikentän l
Käytämme [Liu ym. 2022](https://arxiv.org/pdf/2110.08387.pdf)-artikkelissa annettua kehotetta.
Seuraava vaihe on integroida tieto ja saada ennuste. Kysymyksen on muutettu QA-muotoon ohjaamaan vastauksen muotoa.
Seuraava vaihe on integroida tieto ja tehdä ennuste. Kysymys on muutettu QA-muotoon vastauksen muodon ohjaamiseksi.
*Kehote:*
```
@ -87,4 +87,4 @@ Selitä ja vastaa:
Kyllä, osa golfista on yrittää saada enemmän pisteitä kuin muilla. Jokainen pelaaja yrittää suorittaa kentän alhaisimmalla tuloksella, joka lasketaan yhteen jokaisen reiän lyöntien kokonaismäärästä. Pelaaja, jolla on alhaisin tulos, voittaa pelin.
```
Tässä esimerkissä tapahtui mielenkiintoisia asioita. Ensimmäisessä vastauksessa malli oli erittäin luottavainen, mutta toisessa ei niinkään. Lisätietoja löydät artikkelista.
Tässä esimerkissä ilmeni mielenkiintoisia asioita. Ensimmäisessä vastauksessa malli oli erittäin luottavainen, mutta toisessa vähemmän. Lisätietoja saat artikkelista.

View File

@ -4,9 +4,9 @@ import { Callout, FileTree } from 'nextra-theme-docs'
import {Screenshot} from 'components/screenshot'
import MCOT from '../../img/multimodal-cot.png'
[Zhang ym. (2023)](https://arxiv.org/abs/2302.00923) esittivät äskettäin monimuotoisen ajatusketjukehotteen lähestymistavan. Perinteinen ajatusketju keskittyy kieli-ilmaisuun. Sen sijaan monimuotoinen CoT yhdistää tekstin ja näköhavainnon kaksivaiheiseen kehykseen. Ensimmäinen vaihe sisältää järjellisten perustelujen tuottamisen monimuotoisen tiedon perusteella. Tätä seuraa toinen vaihe, vastauksen päätteleminen, joka hyödyntää informatiivisia tuotettuja perusteluja.
Perinteisen ajatusketjun sijaan, joka keskittyy kieli-ilmaisuun,[Zhang ym. (2023)](https://arxiv.org/abs/2302.00923) esittivät äskettäin monimuotoinen ajatusketjukehotteen lähestymistavan. Tämä yhdistää tekstin ja näköhavainnon kaksivaiheiseen kehykseen. Ensimmäinen vaihe sisältää järjellisten perustelujen tuottamisen monimuotoisen tiedon perusteella, minkä jälkeen seuraa toinen vaihe vastauksen päätteleminen, jossa hyödynnetään tuotettuja informatiivisia perusteluja.
Monimuotoinen CoT-malli (1B) suoriutuu paremmin kuin GPT-3.5 ScienceQA-vertailussa.
Monimuotoinen CoT-malli (1B) on osoittautunut tehokkaammaksi kuin GPT-3.5, erityisesti ScienceQA-vertailussa, jossa se suoriutui paremmin.
<Screenshot src={MCOT} alt="MCOT" />
Kuvan lähde: [Zhang ym. (2023)](https://arxiv.org/abs/2302.00923)

View File

@ -6,21 +6,21 @@ import REACT from '../../img/react.png'
import REACT1 from '../../img/react/table1.png'
import REACT2 from '../../img/react/alfworld.png'
[Yao ym., 2022](https://arxiv.org/abs/2210.03629) esitteli ReAct-nimisen kehyksen, jossa LLM:ää käytetään sekä päättelyketjujen että tehtäväkohtaisten toimintojen tuottamiseen lomittain.
[Yao ym., 2022](https://arxiv.org/abs/2210.03629) esittelevät ReAct-nimisen kehyksen, jossa LLM:ää käytetään sekä päättelyketjujen että tehtäväkohtaisten toimintojen tuottamiseen lomittain.
Päättelyketjujen tuottaminen mahdollistaa mallin toimintasuunnitelmien induktion, seurannan ja päivittämisen sekä jopa poikkeusten käsittelyn. Toimintavaihe mahdollistaa tiedon keräämisen ulkoisista lähteistä, kuten tietokannoista tai muista ympäristöistä.
ReAct-kehys voi mahdollistaa LLM:ien vuorovaikutuksen ulkoisten työkalujen kanssa lisätiedon hankkimiseksi, mikä johtaa luotettavampiin ja tosiasiallisempiin vastauksiin.
Tulokset osoittavat, että ReAct pystyy suoriutumaan paremmin kuin useat huippuluokan vertailukohteet kielitehtävissä ja päätöksenteossa. ReAct myös parantaa LLM:ien ihmisten tulkittavuutta ja luotettavuutta. Kaiken kaikkiaan tutkijat havaitsivat, että paras lähestymistapa käyttää ReActia yhdessä ketjureaktion päättelyn (CoT) kanssa, mikä mahdollistaa sekä sisäisen tiedon että päättelyn aikana saatujen ulkoisten tietojen käytön.
Tulokset osoittavat, että ReAct suoriutuu paremmin kuin useat huippuluokan vertailukohdat kielitehtävissä ja päätöksenteossa. ReAct parantaa myös ihmisten kykyä tulkita kielimalleja ja lisää ihmisten luottamusta tuloksiin. Kaiken kaikkiaan tutkijat havaitsivat, että paras lähestymistapa käyttää ReActia yhdessä ajatusketjupäättelyn (CoT) kanssa, mikä mahdollistaa sekä sisäisen tiedon että päättelyn aikana saatujen ulkoisten tietojen käytön.
## Miten se toimii?
ReAct pohjautuu "toiminnan" ja "päättelyn" välisiin synergioihin, joiden avulla ihmiset voivat oppia uusia tehtäviä ja tehdä päätöksiä tai päättelyä.
ReAct pohjautuu "toiminnan" ja "päättelyn" välisiin synergioihin, joiden avulla ihmiset voivat oppia uusia tehtäviä sekä tehdä päätöksiä ja päättelyä.
Ajatusketju (CoT) -kehote on osoittanut suurten kielimallien (LLM) kyvyn suorittaa päätteluketjuja vastausten generoimiseksi kysymyksiin, jotka liittyvät esimerkiksi aritmetiikkaan ja arkijärkeen [(Wei ym., 2022)](https://arxiv.org/abs/2201.11903). Mutta sen puuttuva pääsy ulkoiseen maailmaan tai kyvyttömyys päivittää tietämystään voi johtaa ongelmiin, kuten faktahallusinaatioihin ja virheiden leviämiseen.
ReAct on yleinen paradigma, joka yhdistää päättelyn ja toiminnan suurten kielimallien kanssa. ReAct kehottaa LLM:ää tuottamaan verbaalisia päättelyketjuja ja toimia tehtävään. Tämä mahdollistaa dynaamisen päättelyn suorittamisen toimintasuunnitelmien luomiseen, ylläpitoon ja säätämiseen samalla, kun mahdollistetaan vuorovaikutus ulkoisiin ympäristöihin (esim. Wikipedia) lisätiedon sisällyttämiseksi päättelyyn. Alla oleva kuva näyttää esimerkin ReActista ja siihen liittyvistä vaiheista kysymyksiin vastaamiseksi.
ReAct on yleinen paradigma, joka yhdistää päättelyn ja toiminnan suurten kielimallien kanssa. ReAct kehottaa LLM:ää tuottamaan verbaalisia päättelyketjuja ja suorittamaan tehtäviin liittyviä toimintoja. Tämä mahdollistaa dynaamisen päättelyn käytön toimintasuunnitelmien luomiseen, ylläpitoon ja säätämiseen sekä vuorovaikutuksen ulkoisiin ympäristöihin (esim. Wikipedia) lisätiedon sisällyttämiseksi päättelyyn. Alla oleva kuva näyttää esimerkin ReActista ja siihen liittyvistä vaiheista kysymyksiin vastaamiseksi.
<Screenshot src={REACT} alt="REACT" />
Kuvan lähde: [Yao ym., 2022](https://arxiv.org/abs/2210.03629)
@ -31,12 +31,12 @@ Esimerkissä yllä esitämme kysymyksen [HotpotQA](https://hotpotqa.github.io/)-
Aside from the Apple Remote, what other devices can control the program Apple Remote was originally designed to interact with?
```
Huomaa, että kontekstissa olevia esimerkkejä lisätään myös kehotteeseen, mutta jätämme sen tässä yksinkertaisuuden vuoksi pois. Voimme nähdä, että malli luo tehtävänratkaisun kehityskaaria (ajatus, toiminta). Obs vastaa havaintoa ympäristöstä, jonka kanssa ollaan vuorovaikutuksessa (esim. Hakukone). Pohjimmiltaan ReAct voi hakea tietoa päättelyn tueksi, ja päättely auttaa kohdentamaan, mitä seuraavaksi hakea.
Huomautettakoon, että myös kontekstiin liittyviä esimerkkejä lisätään kehotteeseen, mutta jätämme ne tässä yksinkertaisuuden vuoksi pois. Voimme nähdä, että malli luo tehtävänratkaisun kehityskaaria (ajatus, toiminta). Obs vastaa havaintoa ympäristöstä, jonka kanssa ollaan vuorovaikutuksessa (esim. Hakukone). Periaatteessa ReAct voi hakea tietoa päättelyn tueksi, ja päättely auttaa kohdentamaan, mitä seuraavaksi hakea.
## ReAct Kehottaminen
Esitelläksemme, miten ReAct-kehote toimii, seuraamme esimerkkiä artikkelista.
Ensimmäinen vaihe on valita tapauksia koulutusjoukosta (esim. HotPotQA) ja muodostaa ReAct-muotoisia kehityskaaria. Näitä käytetään vähäisen ohjauksen esimerkkeinä kehotteissa. Kehityskaaret koostuvat useista ajatus-toiminta-havainto -vaiheista, kuten yllä olevasta kuvasta käy ilmi. Vapaamuotoisia ajatuksia käytetään erilaisten tehtävien suorittamiseen, kuten kysymysten hajottamiseen, tietojen poimimiseen, arkijärjen/aritmeettisen päättelyn suorittamiseen, hakulausekkeen ohjaamiseen ja lopullisen vastauksen muodostamiseen.
Ensimmäinen vaihe on valita tapauksia koulutusjoukosta (esim. HotPotQA) ja muodostaa ReAct-muotoisia kehityskaaria. Näitä käytetään vähäisen ohjauksen esimerkkeinä kehotteissa. Kehityskaaret koostuvat useista ajatus-toiminta-havainto -vaiheista, kuten yllä olevasta kuvasta käy ilmi. Vapaamuotoisia ajatuksia käytetään monenlaisten tehtävien suorittamiseen, kuten kysymysten hajottamiseen, tietojen poimimiseen, arkijärjen/aritmeettisen päättelyn suorittamiseen, hakulausekkeen ohjaamiseen ja lopullisen vastauksen muodostamiseen.
Tässä on esimerkki siitä, miltä ReAct-kehote-esimerkit näyttävät (saatu artikkelista ja lyhennetty yhteen esimerkkiin yksinkertaisuuden vuoksi):
@ -73,21 +73,21 @@ Kehotetulokset HotPotQA:ssa ja Feverissä erilaisten kehotemenetelmien avulla os
Voimme myös havaita, että ReAct suoriutuu paremmin kuin CoT Feverissä ja jää jälkeen CoT:sta HotpotQA:ssa. Artikkelissa esitetään yksityiskohtainen virheanalyysi. Yhteenvetona:
- CoT kärsii faktahallusinaatioista
- ReActin rakenteellinen rajoite vähentää sen joustavuutta muotoilla päättelyvaiheita
- ReActin rakenteelliset rajoitukset vähentävät sen joustavuutta muotoilla päättelyvaiheita
- ReAct nojaa paljon hankkimaansa tietoon; ei-informatiiviset hakutulokset ohjaavat mallin päättelyä harhaan ja johtavat vaikeuksiin toipua ja uudelleenmuotoilla ajatuksia
Kehotemenetelmät, jotka yhdistävät ja tukevat ReActin ja CoT+Itsejohdonmukaisuuden välillä vaihtamista, suoriutuvat yleensä paremmin kuin muut kehotemenetelmät.
## Tulokset Päätöksentekotehtävissä
Julkaisussa raportoidaan myös tuloksia, jotka osoittavat ReActin suorituskyvyn päätöksentekotehtävissä. ReActia arvioidaan kahdella vertailukohteella, jotka ovat [ALFWorld](https://alfworld.github.io/) (tekstipohjainen peli) ja [WebShop](https://webshop-pnlp.github.io/) (verkkokaupan ympäristö). Molemmat sisältävät monimutkaisia ympäristöjä, jotka vaativat päättelyä tehokkaaseen toimintaan ja tutkimiseen.
Julkaisussa esitetään myös tuloksia, jotka osoittavat ReActin suorituskyvyn päätöksentekotehtävissä. ReActia arvioidaan kahdella vertailukohteella, jotka ovat [ALFWorld](https://alfworld.github.io/) (tekstipohjainen peli) ja [WebShop](https://webshop-pnlp.github.io/) (verkkokaupan ympäristö). Molemmat sisältävät monimutkaisia ympäristöjä, jotka vaativat päättelyä tulokselliseen toimintaan ja tutkimiseen.
Huomaa, että ReAct-kehote on suunniteltu eri tavalla näihin tehtäviin, mutta samalla yhdistetään päättely ja toiminta. Alla on esimerkki ALFWorld-ongelmasta, johon liittyy ReAct-kehote.
Huomaa, että ReAct-kehote on suunniteltu eri tavoin näitä tehtäviä varten, mutta se yhdistää samalla tavalla päättelyn ja toiminnan. Alla on esimerkki ALFWorld-ongelmasta, johon liittyy ReAct-kehote.
<Screenshot src={REACT2} alt="REACT2" />
Kuvan lähde: [Yao ym., 2022](https://arxiv.org/abs/2210.03629)
ReAct suoriutuu paremmin kuin Act sekä ALFWorldissa että Webshopissa. Act ei pysty ilman ajatuksia purkamaan tavoitteita alatavoitteiksi. Päättely näyttää olevan eduksi ReActille tämän tyyppisissä tehtävissä, mutta nykyiset kehoteperustaiset menetelmät ovat vielä kaukana asiantuntijaihmisten suorituskyvystä näissä tehtävissä.
ReAct suoriutuu paremmin kuin Act sekä ALFWorldissa että Webshopissa. Act ei pysty ilman "ajatuksia" jakamaan tavoitteita alatavoitteisiin. Päättely näyttää olevan eduksi ReActille tämän tyyppisissä tehtävissä, mutta nykyiset kehoteperusteiset menetelmät ovat vielä kaukana asiantuntijaihmisten suorituskyvystä näissä tehtävissä.
Tutustu julkaisuun saadaksesi yksityiskohtaisempia tuloksia.
@ -120,7 +120,7 @@ os.environ["SERPAPI_API_KEY"] = os.getenv("SERPAPI_API_KEY")
```
Nyt voimme määrittää LLM:n, käyttämämme työkalut ja agentin, joka mahdollistaa ReAct-kehikon hyödyntämisen yhdessä LLM:n ja työkalujen kanssa. Huomaa, että käytämme hakuliittymää ulkoisen tiedon etsimiseen ja LLM:ää matematiikkatyökaluna.
Nyt voimme määrittää LLM:n, käyttämämme työkalut ja agentin, joka mahdollistaa ReAct-kehyksen hyödyntämisen yhdessä LLM:n ja työkalujen kanssa. Huomaa, että käytämme hakuliittymää ulkoisen tiedon etsimiseen ja LLM:ää matematiikkatyökaluna.
``` python
llm = OpenAI(model_name="text-davinci-003" ,temperature=0)
@ -128,13 +128,13 @@ tools = load_tools(["serpapi", "llm-math"], llm=llm)
agent = initialize_agent(tools, llm, agent="zero-shot-react-description", verbose=True)
```
Kun tämä on määritetty, voimme nyt suorittaa agentin halutulla kyselyllä/kehotteella. Huomaa, että tässä ei odoteta meidän tarjoavan vähäisen ohjauksen esimerkkejä, kuten artikkelissa selitettiin.
Nyt kun olemme määrittäneet LLM:n, käyttämämme työkalut ja agentin, joka mahdollistaa ReAct-kehikon hyödyntämisen yhdessä LLM:n ja työkalujen kanssa, voimme suorittaa agentin halutulla kyselyllä/kehotteella. Tässä yhteydessä ei tarvitse tarjota vähäisen ohjauksen esimerkkejä, kuten artikkelissa aiemmin selitettiin.
``` python
agent.run("Who is Olivia Wilde's boyfriend? What is his current age raised to the 0.23 power?")
```
Ketjun suoritus näyttää seuraavalta:
Kun suoritamme ketjun, sen toiminta näyttää seuraavalta:
``` yaml
> Entering new AgentExecutor chain...
@ -157,7 +157,7 @@ Final Answer: Harry Styles, Olivia Wilde's boyfriend, is 29 years old and his ag
> Finished chain.
```
Saamamme tulos on seuraava:
Suorituksen tuloksena saamme seuraavanlaisen tuloksen:
```
"Harry Styles, Olivia Wilde's boyfriend, is 29 years old and his age raised to the 0.23 power is 2.169459462491557."

View File

@ -16,8 +16,8 @@ Luokitus:
Neutraali
```
Huomaa, että yllä olevassa kehotteessa emme antaneet mallille mitään esimerkkejä teksteistä luokittelujen kanssa. LLM ymmärtää jo "tilanteen" tässä on kyse nollaoppimisen kyvyistä.
Huomaa, että yllä olevassa kehotteessa emme antaneet mallille mitään esimerkkejä teksteistä, joissa olisi luokittelutietoja. LLM ymmärtää jo "tilanteen" tässä on kyse nollaoppimisen kyvyistä.
Ohjeiden avulla virittämisen on osoitettu parantavan nollaoppimista [Wei ym. (2022)](https://arxiv.org/pdf/2109.01652.pdf). Ohjeiden avulla virittäminen on mallien hienosäätämisen käsite, jossa tiettyä tietojoukkoa on kuvailtu mallille, ja sen kanssa toimimiselle on annettu ohjeistus. Lisäksi, [RLHF](https://arxiv.org/abs/1706.03741) (reinforcement learning from human feedback, vahvistusoppiminen ihmispalautteesta) on otettu käyttöön ohjeiden virittämisen skaalaamiseksi, jolloin malli sovitetaan paremmin ihmisten mieltymyksiin. Tämä viimeaikainen kehitys tekee malleista, kuten ChatGPT, tehokkaita. Käsittelemme kaikkia näitä lähestymistapoja ja menetelmiä tulevissa osioissa.
Ohjeiden avulla virittämisen on osoitettu parantavan nollaoppimista [Wei ym. (2022)](https://arxiv.org/pdf/2109.01652.pdf). Ohjeiden avulla virittäminen on mallien hienosäätömenetelmä, jossa mallille on kuvattu tiettyä tietojoukkoa, ja toiminta sen kanssa on ohjeistettu. Lisäksi, [RLHF](https://arxiv.org/abs/1706.03741) (reinforcement learning from human feedback, vahvistusoppiminen ihmispalautteesta) on otettu käyttöön ohjeiden virittämisen skaalaamiseksi, jolloin malli sovitetaan paremmin ihmisten mieltymyksiin. Tämä viimeaikainen kehitys on tehnyt malleista, kuten ChatGPT, entistä tehokkaampia. Käsittelemme kaikkia näitä lähestymistapoja ja menetelmiä tulevissa osioissa.
Kun nollaoppimiskehote ei tuota haluttua tulosta, on suositeltavaa antaa demonstraatioita tai esimerkkejä kehotteessa, mikä johtaa vähäisen ohjauksen kehotteiden hyödyntämiseen. Seuraavassa osiossa esittelemme vähäisen ohjauksen kehottamista.
Jos nollaoppimiskehote ei tuota haluttua tulosta, on suositeltavaa antaa demonstraatioita tai esimerkkejä kehotteessa, mikä johtaa vähäisen ohjauksen kehotteiden hyödyntämiseen. Seuraavassa osiossa esittelemme vähäisen ohjauksen kehottamista.