Ett genererat titelkort för jämförelsen mellan Laya och Nimble, med den här artikelns egen underrubrik och en sidfotsrad som anger vilken sidas siffror som är leverantörsrapporterade och vilka som är tredjeparts.
Engineering & Research

Laya vs Nimble: Kontrastiv data kontra en snabbare encoder

Författare

Gideon Frost

Publiceringsdatum

Senaste modellerna · 20Visa alla modeller
Benchmarks: Artificial Analysis · uppdateras dagligen
Tillbaka till alla inlägg

Laya och Nimble är de två beslutsmodellerna med öppna vikter vars upphovspersoner gjorde mest för att förklara hur de byggdes, och deras förklaringar är oense om var svårigheten ligger. Convai Innovations släppte Laya den 18 september 2026 under Apache 2.0 – en engelsk checkpoint på 421M baserad på ModernBERT-large, en flerspråkig checkpoint på 322M baserad på mmBERT-base som täcker 100+ språk, en router mellan dem på under en millisekund, och en publicerad p50 på 32,8 ms per beslut på en Tesla T4. Bespoke Labs byggde Nimble som en LoRA-fintrimning av Qwen3.5-9B, Apache 2.0, och beskriver den som "the open-source Jev" – inspirerad av TypeSafe AI:s Jev men utan att använda varken dess vikter, dess arkitektur eller en destillation av dess utdata. Convais svar på noggrannhetsproblemet är snabbhet och en fintrimningsbar bas. Bespokes svar är träningsdata. Den skillnaden förtjänar mer uppmärksamhet än den trepunktskillnad i noggrannhet som syns i huvudtabellerna.

Det påstående varje projekt faktiskt gör

Layas påstående är arkitektoniskt. Den är icke-autoregressiv i strikt mening – en dubbelriktad encoder, ingen avkodningsslinga, ingen JSON att parsa, inget utrymme att skriva ut text utanför den deklarerade typen. Den strukturella garantin är densamma som Jev erbjuder, framkommen från en annan riktning, och den är verkligen värdefull för alla som har skrivit återförsökslogik kring en modell som ibland glömmer att stänga en klammerparentes. Kostnaden är att en 421M encoder med ett fönster på 512 tokens och ingen generativ förträning bakom sig inte vet särskilt mycket. Convai säger det på modellkortet: "Laya är en snabb bas att specialisera, inte en nollskotts-beslutsmotor."

A screenshot of the Laya project page, showing the Apache 2.0 licence, the 421M ModernBERT-large English checkpoint with a 512-token window, the 322M mmBERT-base multilingual checkpoint with a 1,024-token window, the 32.8ms p50 per decision on a Tesla T4, and the pip install entry point.A screenshot of the Nimble repository on GitHub, showing the description "Local typed decisions, contrastive data curation, and model evaluation", the README heading "Bespoke Nimble - Data, Model, Recipe for an open Jev", the contrastive example where changing one fact flips the correct answer, and the 2,676-example training split against the frozen 324 held-out set.

Nimbles påstående handlar om data. Bespokes metod är kontrastiv kurering, anpassad från teamets tidigare Bespoke-MiniCheck-arbete: skriv två nästan identiska exempel som skiljer sig i en "fokusfakta", så att den korrekta etiketten flippar. Pipelineen har fyra angivna steg — kontrollera att beslutsreglerna verkligen skulle kunna leda till olika svar, bygg paret genom att ändra högst åtta ord, verifiera båda exemplen med separata modellanrop plus en kontroll där varje mening tas bort, och generera etiketter i kod och behåll endast de par vars etiketter faktiskt skiljer sig. Målet är inte fler exempel utan skarpare sådana: tvinga modellen att lära sig vilka bevis som bör ändra beslutet. Det är en annan teori om varför små beslutsmodeller misslyckas, och det är en mer intressant sådan än ännu en noggrannhetspoäng.

Vad de publicerade siffrorna faktiskt stöder

Nimble rapporterar 90,12 % överensstämmelse med referensetiketter på 324 undanhållna prover, jämfört med 93,21 % för Jev, 66,36 % för den icke finjusterade basmodellen Qwen3.5-9B och 84,88 % för en icke finjusterad 27B Qwen3.8. Den rapporterar ungefär 106 ms median på en H100 och 444 ms median på en M5 Pro med 64 GB. Det är Bespokes egna siffror från testramverket. Utvärderingsuppsättningen med 324 prover är den del som bör vägas noggrant, och projektet säger självt varför: proverna omfattar sex av de tio träningskällfamiljerna, de genererades och validerades av modeller utan mänsklig granskning, och generalisering till osedda kategorier är därför obevisad. När en modell tränas med en datakureringsmetod och sedan utvärderas på en undanhållen del av samma kurerade fördelning, är noggrannhetssiffran ett uttalande om metodens interna konsistens, inte om din trafik.

Layas siffror kommer från andra änden. På TypeSafes typed-decisions-benchmark får den 0,362 zero-shot – slumpmässigt är 0,318, baslinjen för majoritetsklassen är 0,461 – och 0,766 när den finjusteras på benchmarkens egen träningsdel. På Banking77, 77 etiketter, får den 0,425 mot Jevs 0,870, vilket är den tydligaste illustrationen av dess tak för många alternativ. På AG News med fyra etiketter får den 0,950 mot Jevs 0,910; på DAIR Emotion med sex etiketter, 0,595 mot 0,480. Dess kalibreringsfel levereras på 0,466 och sjunker till 0,081 efter temperaturrefittning per frågetyp. Ett tredjepartstest av 100 Mars-base-meddelanden om brådska gav Jev 100/100 och Laya 53/100. Och i en oberoende utvärdering av agentverktygsanrop uppnådde Laya 100 % recall för avvisning på farliga anrop, men bara genom att flagga allt, vilket är ett precisionsfel utklätt till en säkerhetsvinst.

Ställ de två uppsättningarna tal bredvid varandra, och den ärliga tolkningen är att de mättes på olika saker. Nimbles 90,12 % är överensstämmelse med dess egna kurerade referensetiketter. Layas 0,362 är ett benchmark som Laya inte har byggt. Inget av talen är överförbart.

Kalibrering: den enda platsen där båda projekten är ovanligt uppriktiga

Det är här de två projekten står varandra närmast i anda och är längst ifrån varandra i resultat.

Bespokes README varnar uttryckligen för att Nimbles sannolikheter är softmax-normaliserade logits över de angivna kandidaterna, inte kalibrerade korrekthetsfrekvenser – en 0,9 betyder inte 90 % korrekt. Den rekommenderar att lägga till ett "ingen av ovanstående"-alternativ, eftersom om det rätta svaret inte finns bland kandidaterna vinner ändå en av dem. I en nyare utvärdering med 3 880 poster som omfattar 13 delmängder hade Jev lägre rapporterat kalibreringsfel i 11 av 13 delmängder och en lägre Brier-poäng i 10 av 13. Så liknande etikettöverensstämmelse innebär inte liknande sannolikhetskvalitet, och Bespoke säger det.

Convais avslöjande är spegelbilden: det förväntade kalibreringsfelet på 0,466 står på modellkortet, bredvid 0,081 som temperaturåteranpassning per frågetyp ger. Inget av projekten levererar en modell vars konfidens du kan agera utifrån utan arbete. Båda säger det till dig i skrift. Om du bygger en konfidenströskel – släpp automatiskt över 0,95, eskalera under 0,7 – säger dokumentationen från båda författarna dig samma sak: anpassa tröskeln mot dina egna märkta data först.

Jämförelsen, dimension för dimension

• Backbone — Laya: ModernBERT-large 421M-kodare, dubbelriktad, ingen generativ förträning. Nimble: Qwen3.5-9B med en LoRA-finjustering, generativ bas bibehållen.

• Språk — Laya: 100+ via den flerspråkiga 322M-checkpointen. Nimble: engelska.

• Prompt-budget — Laya: 512 tokens engelska, 1 024 flerspråkiga. Nimble: högst 2 048 tokens per prompt, endast platta scheman, enum-typer begränsade till 26 alternativ per fält.

• Hastighet — Laya: 32,8 ms p50 på en T4, 7,2 ms per fråga vid batchning om 10. Nimble: ungefär 106 ms i median på en H100, 444 ms på en M5 Pro 64GB.

• Maskinvara — Laya: CPU, CUDA och Apple MPS; under en gigabyte resident på MLX-porten. Nimble: BF16 CUDA GPU för de angivna siffrorna, med stöd för både MLX- och CUDA-vägar.

• Rapporterad noggrannhet — Laya: 0,362 zero-shot, 0,766 finjusterad, 0,425 på Banking77. Nimble: 90,12 % på 324 kurerade hållout-exempel mot Jevs 93,21 %.

• Metod — Laya: arkitektur först, finjustering per driftsättning. Nimble: kontrastiv datakurering, publicerad som ett recept.

• Licens — Apache 2.0 för båda.

Två begränsningar i den listan förtjänar att läsas två gånger innan du bestämmer dig. Nimbles tak på 26 alternativ per enum och taket på 2 048 tokens för prompten är hårda schemabegränsningar, inte prestandaförsämring — om din taxonomi har fyrtio etiketter eller din prompt innehåller ett långt dokument, är Nimble fel verktyg oavsett dess träffsäkerhet. Och Nimble poängsätter varje fält oberoende av varandra, så varje fältöverskridande konsekvensregel — "om A är sant måste B vara falskt" — måste ligga i din kod, inte i modellen.

Varför datareceptet är den mer portabla artefakten

Här är argumentet för Nimble som noggrannhetstabellerna missar. Bespoke publicerade kurateringspipelinen, inte bara vikterna. Om ditt beslutsproblem har en fast taxonomi och du kan skriva ner reglerna, är den kontrastiva metoden något du kan köra på dina egna data med dina egna fokusfakta, ovanpå vilken basmodell du än föredrar. 9B LoRA är en demonstration av metoden lika mycket som en produkt.

Layas portabilitet är annorlunda och kompletterande. Eftersom den är liten, eftersom den körs på CPU och eftersom ONNX- och MLX-portarna finns, är Laya modellen du kan lägga inuti en process som varken har GPU eller nätverk. I ett tredjepartsbenchmark för webbläsaragenter slutförde Laya 0 av 50 uppgifter och förklarade sig klar i förtid i 33 försök — men benchmarkens författare påpekar att den tränades för bedömningsarbete som supportärenden, fakturor och granskning av agentspår, inte navigering. Läs resultatet som ett uttalande om tillämpningsområde snarare än en dom, och det är förenligt med båda projektens inramning: dessa är komponenter för en specifik klass av beslut, inte generella agenter.

Varken Laya eller Nimble är en hostad modell på OrcaRouter. Båda är vikter som du kör själv, och inget i den här artikeln bör läsas som ett påstående att vi tillhandahåller dem. Anledningen till att routingprodukten över huvud taget nämns är samma anledning som den nämns i vilken beslutsmodellarkitektur som helst: beslutsmodellen svarar på ett anrop, och applikationen runt den behöver fortfarande prosa. En pipeline som använder Nimble för att bedöma om ett utkast är regelefterlevande och Laya för att routa undantaget kommer fortfarande att behöva en generativ modell för att skriva utkastet. Att hålla den generativa halvan på en OpenAI-kompatibel slutpunkt – 200+ modeller, leverantörens listpris förs vidare med 0 % påslag så att en leverantörs prissänkning får genomslag samma dag, automatisk redundansväxling mellan leverantörer – innebär att beslutsdelen kan bytas ut utan att röra det generativa lagrets kontrakt.

Domen, och experimentet som skulle förändra den

Välj Nimble om din taxonomi är fast och snäv, dina indata är engelska och korta, du har en GPU och du vill ha datareceptet lika mycket som modellen. Välj Laya om du behöver flerspråkiga indata, en budget på under 40 ms eller en process helt utan GPU – och räkna in finjusteringen från början, eftersom zero-shot-checkpointen ligger under den triviala baslinjen och det står i modellkortet.

Experimentet som skulle avgöra saken är en parkopplad utvärdering på verklig trafik: samma indata, samma alternativuppsättningar, samma konfidenströsklar, utvärderade mot mänskliga etiketter, med ett reliabilitetsdiagram för var och en. Nimbles egen dokumentation varnar för att deras sannolikheter inte är korrekthetsfrekvenser och Layas kort rapporterar ett kalibreringsfel på 0,466 före omträning, så det diagrammet är den artefakt som faktiskt skulle tala om vilken modell du bör sätta framför produktionen. Inget av projekten har publicerat ett sådant, och ingendera har publicerat den andras. Bygg det på dina egna data innan du sätter en tröskel.

A generated two-column scoreboard comparing Laya and Nimble across backbone, languages, prompt budget, label agreement, latency and licence, with a footer reading "Nimble's 90.12% is agreement with its own curated labels; Laya figures per its model card."