Selv-konsistens (self-consistency)
En metode til at forbedre ræsonneringsresultater fra sprogmodeller ved at sample flere svar og vælge det mest konsistente.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
Selv-konsistens (self-consistency) er en dekodningsteknik for store sprogmodeller, hvor modellen genererer flere uafhængige svar (ofte via chain-of-thought promptning) og derefter vælger det mest konsistente svar ved afstemning (majority vote) eller ved at måle konsistens mellem svar. Metoden udnytter, at modellens ræsonnement kan variere, men det korrekte svar ofte fremkommer flere gange end tilfældige fejl.
- Ved at anvende selv-konsistens på chain-of-thought genererede svar forbedredes nøjagtigheden på matematiske ræsonnementsopgaver med over 10 procentpoint. — Wang et al., 2022
- Selv-konsistens kan implementeres ved at sætte temperaturen til >0 og derefter sample N svar, hvorefter det hyppigste svar vælges.
Kodeeksempel
def self_consistency(model, prompt, n_samples=5):
answers = []
for _ in range(n_samples):
answer = model.generate(prompt, temperature=0.7)
answers.append(answer)
# choose most common answer
from collections import Counter
return Counter(answers).most_common(1)[0][0]Simpel implementering af selv-konsistens i Python.
Oprindelse
Termen stammer fra kombinationen af 'selv' (self) og 'konsistens' (consistency) og blev introduceret i forskningsartiklen 'Self-Consistency Improves Chain of Thought Reasoning in Language Models' af Wang et al. (2022).