I modelli decisionali come primo livello di etichettatura a basso costo
Un modello decisionale valuta ogni opzione in un solo forward pass e non scrive testo. Funziona come primo livello prima di un LLM su domande con poche opzioni.
Un modello decisionale etichetta una domanda a scelta fissa in un solo forward pass e restituisce una probabilità per ogni opzione, senza testo da generare. Usalo come primo livello di una cascata di etichettatura su domande a scelta singola con poche opzioni, manda a un LLM gli item su cui è incerto e certifica la sua soglia su un campione umano in cieco, perché la sua confidenza può restare alta su input che sbaglia.
Un modello decisionale è un classificatore che prende un testo e un insieme di domande tipizzate e restituisce una probabilità per ogni risposta. Non genera testo, quindi non può scrivere un prompt, una motivazione o una regola. Laya è un modello aperto di questo tipo. La sua model card elenca un checkpoint inglese su un encoder ModernBERT-large con 421 milioni di parametri sotto licenza Apache 2.0, e un checkpoint multilingue con 322 milioni di parametri. L'API /v1/systemone serve lo stesso tipo di risposta via HTTP, da Jev o OpenJev in hosting o dal server di Laya stesso.
Dove un primo livello fa risparmiare
Una cascata di etichettatura prova i modelli in ordine, di solito dal più economico al più capace, e passa un item al modello successivo solo quando quello attuale non è abbastanza sicuro. Quando un corpus ha una quota ampia di item facili, un modello economico che li etichetta con sicurezza lascia all'LLM un resto più piccolo e più difficile. Il risparmio dipende da quella quota, quindi misurala sui tuoi dati prima di farci affidamento nella pianificazione.
Un modello decisionale si presta al primo livello perché risponde a ogni opzione in un solo passaggio, quindi una domanda con cinque etichette costa un forward pass e nessun testo generato. Le sue probabilità in uscita sono il punteggio di confidenza, quindi non servono domande di follow-up né campionamenti ripetuti. Inoltre gira su CPU. La model card riporta da 193 a 464 ms per richiesta su CPU con i checkpoint precaricati, e 39,5 ms per il checkpoint inglese su una GPU T4.
I limiti riportati per Laya
Quattro di questi limiti vengono dalla model card di Laya, e il quinto, sulle scale di valutazione, dalla documentazione di Potato:
- Molte opzioni. Sul benchmark di intenti Banking77 la card riporta per Laya un'accuratezza di 0,425 su 77 etichette, contro 0,870 per Jev su 72. Le opzioni condividono un budget fisso di token, quindi le liste di etichette lunghe si tolgono spazio a vicenda. La documentazione di Potato nota anche che, sulle domande con 11 o più opzioni, Laya avverte che la sua temperatura è fuori intervallo e la limita.
- Altre scritture sul checkpoint inglese. La card riporta per il checkpoint inglese un'accuratezza di 0,000 con una confidenza di 0,952 su testo in khmer. Una soglia di confidenza non può intercettare un errore di cui il modello è sicuro.
- Accuratezza zero-shot. La card riporta che i checkpoint di base sono vicini al caso sul suo benchmark di decisioni tipizzate in zero-shot, con 0,362 contro una baseline casuale di 0,318 e una baseline della classe maggioritaria di 0,461, e definisce Laya "una base veloce da specializzare, non un motore decisionale zero-shot".
- Calibrazione grezza. La card riporta che
layaviene distribuito sovraconfidente, con un errore di calibrazione atteso medio di 0,466 che scende a 0,081 dopo aver ricalibrato le temperature sui propri dati. La calibrazione varia a seconda del dominio, quindi una soglia scelta sui dati di qualcun altro non si trasferisce. - Scale di valutazione. La documentazione di Potato rileva che sugli schemi
likerteslideri punteggi di Laya seguono a fatica la scala, qualunque sia la formulazione della domanda.
Nel complesso, i limiti suggeriscono di tenere il modello decisionale su domande a scelta singola con poche opzioni, nella lingua per cui è stato addestrato il suo checkpoint. Scegli la sua soglia a partire da etichette umane sul tuo corpus.
Un modello decisionale in Potato
Potato 2.11 aggiunge due tipi di endpoint per i modelli decisionali. laya esegue Laya dentro il processo di Potato e richiede l'extra decision, pip install 'potato-annotation[decision]', che si porta dietro torch e transformers. systemone comunica con qualsiasi server che espone l'API /v1/systemone e richiede solo un base_url. Entrambi funzionano su schemi radio, select, likert e slider, e Solo Mode non si avvia quando uno di essi è impostato per etichettare uno schema multiselect, di span o di testo libero.
Nel motore di etichettatura, un modello decisionale è una fonte decision messa per prima nella cascata. Questo estratto dall'esempio testuale distribuito con Potato mette Laya davanti a un piccolo LLM su Ollama e certifica la coppia rispetto a un obiettivo di errore del 10% con la confidenza predefinita di Potato del 90%:
labeling_engine:
enabled: true
sources:
- id: laya
kind: decision
endpoint_type: laya
model: convaiinnovations/laya
options:
device: cpu
- id: llm
kind: llm
endpoint_type: ollama
model: llama3.2:3b
base_url: http://localhost:11434
max_tokens: 200
cascade: [laya, llm]
contracts:
- id: accuracy
kind: selective_risk
schema: sentiment
error: 0.1
confidence: 0.9Il motore sceglie la soglia di confidenza di Laya su metà di un campione umano in cieco e la testa sull'altra metà, quindi la soglia viene dal tuo corpus e non dalla model card. Finché la metà dev del campione non fissa una soglia per Laya, l'LLM etichetta ogni item. Dopo, l'LLM vede solo gli item su cui Laya non è sicuro, più il campione di calibrazione.
Nell'esecuzione documentata nel README dell'esempio, con Gemma 12B come LLM, la soglia di Laya non è mai stata fissata e l'LLM ha fornito tutte le etichette accettate, quindi misura quanto contribuisce il primo livello sul tuo corpus prima di contarci. Poiché il motore testa separatamente le etichette accettate di ogni livello, un errore commesso con sicurezza, come il caso del khmer, emerge come errore nel campione di certificazione, a patto che il campione copra quel tipo di input. Il contratto distributional può anche usare l'intero vettore di probabilità di Laya, il che si adatta alle domande soggettive su cui gli annotatori si dividono.
In Solo Mode, un modello decisionale sta in labeling_models e come primo livello di confidence_routing. Solo Mode richiede anche un modello generativo sotto revision_models, perché i modelli decisionali non possono scrivere i prompt e le regole che il suo ciclo di revisione produce.
Testare un modello decisionale prima di un'esecuzione completa
Esegui il modello su qualche decina di item che hai già etichettato prima di farci passare un intero corpus. Il pulsante Try on 10 items di Solo Mode lo fa per un prompt, e nel motore potato label run seguito da potato label status mostra quante altre etichette servono alla soglia di ogni livello e quale fonte ha prodotto errori. Un livello che non supera la certificazione non accetta nulla, e manda gli item sopra la sua soglia alle persone invece che all'LLM, spendendo il budget di etichette umane su item che l'LLM avrebbe potuto etichettare. Se il livello del modello decisionale continua a non superare la certificazione, toglilo dalla cascata.
Approfondimenti
- Configurazione del motore di etichettatura, per ogni opzione di una fonte
decision - Certificare le etichette di un LLM con un campione umano in cieco, sulla certificazione di una soglia rispetto a un campione in cieco
- Solo Mode, per il confidence routing con un solo esperto