Hugging Face stelt de beslissingsmodellen voor, een familie van modellen die geen antwoord schrijven, maar vooraf gedefinieerde opties evalueren en een kansverdeling over die opties teruggeven. Het bedrijf wil een gemeenschappelijke interface voor deze modellen definiëren, zonder een unieke architectuur op te leggen.
De grote taalmodellen (LLM’s), die hun antwoord token per token produceren, dus stukje tekst per stukje tekst, zijn zeer efficiënt voor het schrijven, programmeren of redeneren. Maar niet alle problemen vereisen het genereren van tekst. Neem een klantensupportsysteem dat het volgende bericht ontvangt: ‘Ik ben twee keer afgeschreven voor mijn abonnement. Ik heb vandaag een terugbetaling nodig.’ Het moet bepalen welk team de aanvraag moet behandelen, de mate van urgentie en of de klant een terugbetaling vraagt.
Men kan een LLM vragen om deze antwoorden terug te geven als een JSON-object. Deze aanpak is al wijdverbreid voor classificatie en routering, maar kent verschillende beperkingen. Het model is niet gegarandeerd het gevraagde schema te respecteren: het kan een ongeldige JSON produceren, onverwachte sleutels toevoegen of antwoorden buiten de toegestane keuzes. Bibliotheken voor constrained decoding, zoals Outlines en XGrammar, verminderen dit risico door de toegestane tokens per stap te beperken, maar ze voegen extra werk toe. Ten slotte, wanneer de applicatie alleen tussen bekende antwoorden moet kiezen, kan de volledige tekstgeneratie overbodig zijn.
Een interface gebaseerd op kansen
Een beslissingsmodel ontvangt een toestand, dat wil zeggen de te evalueren informatie, en een lijst van vragen. Het geeft beslissingen terug vergezeld van kansen. De bron onderscheidt drie soorten vragen. Het type choice selecteert een optie uit meerdere. Het type score evalueert iets op een geordende schaal. Het type noul beantwoordt een ja/nee-vraag op probabilistische wijze.
In het getoonde voorbeeld kent het model autotrust/GEV-26B-Decide aan de servicelijst de volgende kansen toe: Billing 0,998, Technical support 0,001 en Sales 0,001. Voor urgentie krijgen de niveaus low, medium en high respectievelijk 0,10, 0,26 en 0,72. De geretourneerde score komt overeen met de verwachting van deze verdeling, namelijk 1,7, en niet met een halverwege gekozen niveau. Voor de vraag ‘Vraagt de klant om een terugbetaling?’ geeft het model direct de kans op een positief antwoord terug, hier 0,92.
Het begrip vertrouwen, berekend voor vragen van het type choice en score, vat de concentratie van deze kansen samen. Het concept is niet geheel nieuw: het bedrijf TypeSafe AI had Jev gepresenteerd, gekwalificeerd als ‘System One’-model. De term ‘beslissingsmodel’ is uiteindelijk door de gemeenschap gekozen, omdat het de computationele rol van het model beschrijft zonder te verwijzen naar een bepaalde cognitietheorie.
Een ecosysteem in opbouw
Het nieuwe formaat wordt al ondersteund door verschillende tools. De Transformers-bibliotheek biedt een DecisionPipeline, een AutoModelForDecision-klasse en een DecisionConfig-klasse, evenals een toegangspunt /v1/systemone na het starten van een lokale server. De inferentie-engine llama.cpp accepteert deze modellen ook via dezelfde API. De bron noemt het model ggml-org/Kev-4B-GGUF, bediend op poort 9931. De Hub biedt een specifieke tag, decision-model, omdat deze modellen niet noodzakelijk dezelfde architectuur delen: sommige zijn gebaseerd op encoders zoals ModernBERT, andere op grotere generatieve modellen.
Zodra de inferentie is ingesteld, behandelt de bron de training. Een voorbeelddemonstratie verfijnt het model autotrust/JEV-9B om supportaanvragen te routeren, met behulp van de Trainer-API. Native trainingsondersteuning in TRL is onderwerp van een merge-aanvraag, PR #8040, nog open op het moment van schrijven van dit artikel. Daarnaast biedt Unsloth een recept om een generatieve LLM, zoals Qwen, om te vormen tot een beslissingsmodel, dankzij LoRA en een scoring head.
