Päättelymallit: käytä laskentaa ennen lopullista vastausta
Päättelymalli (reasoning model) koulutetaan tai asetetaan käyttämään lisälaskentaa tehtävän ratkaisemiseen ennen vastausta. Se voi tuottaa välivaiheita, korjata ratkaisua tai arvioida useita ehdokkaita. Termi kuvaa toimintatapojen joukkoa eikä yhtä kiinteää arkkitehtuuria.
Koulutus voi ohjata hyödylliseen päättelyyn ratkaistujen esimerkkien tai tarkistettavien tehtävien palkkioiden avulla. Käytön aikana vaikealle kysymykselle voidaan antaa enemmän generointia tai hakua. Nämä ovat vastaavasti koulutus- ja ajonaikaisia valintoja.
Useita polkuja, yksi vastaus
Itsejohdonmukaisuus (self-consistency) on vakiintunut ajonaikainen menetelmä: tuota useita päättelypolkuja, poimi loppuvastaukset ja valitse yleisin. Funktio tekee yhdistämisen näkyväksi. generate tuottaa yhden otannalla valitun ratkaisun; extract_answer muuntaa sen vertailukelpoiseksi loppuvastaukseksi.
from collections import Counter
def self_consistent(problem, generate, extract_answer, samples=5):
answers = [extract_answer(generate(problem)) for _ in range(samples)]
return Counter(answers).most_common(1)[0][0]
Erilliset polut voivat päätyä samaan tulokseen eri välivaiheiden kautta. Yhtäpitävyys on hyödyllinen signaali, mutta yhteinen harhaluulo voi sekin voittaa äänestyksen. Menetelmä on yksi mallin ympärille rakennettava strategia, ei jokaisen päättelymallin määritelmä.
Lisätyö muuttaa kustannusten tasapainoa
Pitkä kehote antaa prefill-vaiheelle monta tunnettua tokenia käsiteltäväksi yhdessä. Päättelyn lisäaskeleet vaativat enemmän generointia ja voivat tuottaa useita ratkaisupolkuja. Lisäaika ei siis tarkoita vain suurempaa syöteikkunaa.
Hyödyllinen kysymys on, mitä lisätyö tehtävässä saavuttaa: hylkääkö tarkistin huonon koodin, korjaako uusi versio virheen tai parantavatko lisäpolut loppuvastausta? Pelkkä tokenien määrä ei ole tavoite.