Beslutsmodeller i Transformers: Svarsalternativ poängsätts utan att text genereras
Hugging Face vill ge beslutsmodeller ett gemensamt gränssnitt. Modellerna ger sannolikheter för fördefinierade svar utan att generera text. Stödet finns i Transformers och llama.cpp, och på Hub har modellerna en egen tagg.
Hugging Face berättade om beslutsmodeller (decision models) i sin blogg den 10 november. En beslutsmodell får en beskrivning av en situation som indata, till exempel ett meddelande från en kund, och namngivna frågor med svarsalternativ. Modellen skriver inte svaret token för token. I stället ger den varje tillåtet alternativ en sannolikhet.
Tre frågetyper
Frågorna är av tre typer. Med typen choice väljer modellen ett alternativ och returnerar hela sannolikhetsfördelningen. Med typen score bedömer modellen på en ordinalskala och returnerar väntevärdet av nivåernas ordningsnummer. Med typen noul returnerar modellen sannolikheten för att svaret på en ja–nej-fråga är ja. Applikationen bestämmer tröskelvärdet.
I bloggens exempel dirigerade modellen autotrust/GEV-26B-Decide en begäran om återbetalning för en dubbeldebitering till faktureringsteamet med sannolikheten 0,998. Modellen bedömde också med sannolikheten 0,995 att kunden begär återbetalning. Brådskan på skalan låg–medel–hög (0–2) fick värdet 1,71. Talet är ändå inte en vald nivå mellan medel och hög utan väntevärdet av modellens fördelning, skriver Hugging Face. För choice- och score-frågor returnerar modellen dessutom ett konfidensvärde. Det är 0 när alla alternativ är lika sannolika och 1 när hela sannolikheten ligger på ett alternativ.
Hugging Face motiverar modelltypen med att en stor språkmodell inte nödvändigtvis följer den begärda JSON-strukturen. Begränsad avkodning (constrained decoding) tvingar fram strukturen genom att bara tillåta token som passar in, men det ökar arbetet. Tekniken finns till exempel i Outlines och XGrammar.
Hugging Face hävdar inte att beslutsmodellerna uppfann klasser som definieras vid användningstillfället eller sannolikhetsbaserad klassificering. Redan vid zero-shot-klassificering kan alternativen bestämmas först när modellen används. Enligt Hugging Face skiljer sig beslutsmodellerna genom att de har ett enhetligt gränssnitt och genom att frågor av olika typer ryms i samma begäran. Bloggen nämner kalibrerade beslut bara som en möjlighet som specialiserad träning kan ge. En kalibrerad modells sannolikheter motsvarar de faktiska träffandelarna. NewMediaFactor, som refererar bloggen, beskriver ändå sannolikheterna som kalibrerade.
Gemensamt gränssnitt för olika implementationer
Hugging Face eftersträvar ett gemensamt gränssnitt men tvingar inte modellerna till en gemensam implementation. Transformers-biblioteket har nu klasserna DecisionPipeline, AutoModelForDecision och DecisionConfig samt servergränssnittet /v1/systemone. I exempelsvaret från GEV-26B-Decide var antalet genererade token noll. Även llama.cpp stöder samma gränssnitt.
Gränssnittet fungerar också med kompatibla vanliga språkmodeller. Transformers bygger promptarna, beräknar svarsalternativens poäng i ett batchkört framåtpass och omvandlar poängen till sannolikheter. Därmed går det enligt Hugging Face att pröva hur beslutsmodeller fungerar utan att träna en ny modell.
På Hub har beslutsmodellerna en egen tagg. Modellerna kan till exempel bygga på kodaren ModernBERT eller på stora generativa språkmodeller. Hugging Face beskriver området som ungt och snabbt föränderligt.
Beslutsmodeller kan finjusteras med Trainer-gränssnittet i Transformers. Stödet i TRL-biblioteket väntar fortfarande i en öppen pull request. Med en guide från Unsloth kan en generativ språkmodell, till exempel Qwen, göras om till en beslutsmodell genom LoRA-finjustering.
För att ta beslutsmodellerna i bruk krävs en Transformers-version med stöd för dem, och en lokal server behöver bibliotekets serverberoenden. Instruktioner och kodexempel finns i Hugging Faces blogg.
Läs mer: Hur en agent fungerar · Agentkarta