Sari la conținut
megapromoting
Hai să discutăm

Kompetenz · Maßgeschneiderte KI-Modelle

Wir wählen das Modell nach Messung, nicht nach Ruf — und sagen von Anfang an, wenn die richtige Antwort ist, gar nichts zu trainieren.

Die Arbeit hat vier Teile: Wir messen die Kandidatenmodelle an Ihren Daten, wählen zwischen Konfiguration, Dokumentensuche und Feinabstimmung, prüfen die Nutzungsrechte der Daten und stellen den Verbrauch dann unter ein Budget pro Schlüssel. Wir haben bisher kein einziges Modell in Produktion trainiert, und wir sagen das, bevor Sie fragen.

Construit dejaPartea de măsurare și operare este construită și rulată, cu rezultate păstrate: un banc de probă propriu care a comparat opt sisteme de recunoaștere a vorbirii pe aceleași 200 de enunțuri românești, cu interval de încredere și diferențe pe perechi, plus o descompunere a latenței vocale în șase segmente care se însumează la total cu abatere sub o milisecundă. Partea de operare este un gateway propriu cu 44 de modele configurate, chei per proiect cu listă albă de modele și buget, și o consolidare zilnică a consumului pe utilizator × cheie × model. Partea pe care NU am făcut-o — reglajul fin propriu-zis — e scrisă ca atare: conducta e pregătită și costată, dar nu a rulat niciodată pe GPU. Serviciul rămâne „livrat” pentru că lucrarea pe care o vindem este alegerea informată și operarea, nu antrenarea.

Cele mai multe proiecte de „model personalizat” nu au nevoie de un model antrenat. Au nevoie de modelul potrivit, cu instrucțiunea potrivită, peste datele potrivite, cu un cost pe apel pe care cineva îl urmărește. Lucrarea începe cu întrebarea pe care puțini o pun: cum arată succesul, măsurat cum, pe ce set de cazuri? Fără răspunsul ăsta, orice comparație de modele e o discuție de gusturi.

Măsurăm noi, nu preluăm cifrele furnizorilor. Când am avut nevoie să știm ce recunoaște cel mai bine româna vorbită, am rulat opt sisteme pe aceleași 200 de enunțuri, cu același normalizator, cu interval de încredere prin bootstrap și cu diferențe calculate pe perechi. Rezultatele au fost incomode: sistemul pe care îl foloseam în producție avea 26,26% rată de eroare pe cuvânt, iar un model mic, de 110 milioane de parametri, rulat pe procesor, avea 6,83%. Am publicat și partea neplăcută — pe acuratețea în română pierdem la diferență mare față de furnizorii comerciali.

A doua parte a lucrării e alegerea între trei drumuri care se confundă des: configurarea modelului (instrucțiune, unelte, parametri), căutarea în documentele tale, și reglajul fin. Ordinea în care le încercăm nu e o preferință, e economie: primele două sunt reversibile într-o după-amiază, a treia cere date, drepturi, GPU și o măsurătoare înainte și după. Recomandăm reglajul fin doar când avem dovada că primele două nu ajung.

A treia parte, cea care rămâne după ce lansezi: costul pe apel. Modelele trec printr-un gateway propriu, unde fiecare cheie are listă albă de modele, buget și perioadă. Consumul se consolidează zilnic pe utilizator, cheie și model, ceea ce înseamnă că întrebarea „de ce a crescut factura luna asta” are răspuns pe rânduri, nu pe presupuneri.

Was dazugehört

Die Arbeit, nach Bestandteilen

Definim ce înseamnă „mai bun”, înainte de a compara ceva

Un set de cazuri din realitatea ta, un criteriu numeric și o metodă de normalizare fixate în scris. Pentru vorbire folosim rata de eroare pe cuvânt cu normalizator propriu; pentru răspunsuri text, conformitatea cu schema plus o verificare de bun-simț plus asemănarea cu un răspuns de referință. Fără pasul ăsta, restul lucrării nu se poate verifica de nimeni.

Rulăm comparația pe date identice, cu interval de încredere

Aceleași enunțuri, aceeași mașină, un singur model încărcat odată, fiecare în propriul proces. Raportăm interval de încredere prin bootstrap și diferențe pe perechi, nu doar media — pentru că două modele pot avea medii diferite și totuși să fie la egalitate statistică. Am avut exact cazul: două sisteme la 66 din 66 de comparații pe perechi, adică egalitate, deși tabelul de medii sugera un câștigător.

Descompunem latența pe segmente care se însumează

Într-un traseu vocal am măsurat șase segmente separat — decizia de tură, recunoașterea vorbirii, poarta, timpul până la primul text al modelului, primul bloc de sinteză, coada și transportul. Verificarea care contează: suma celor șase dă timpul total până la primul sunet cu abatere sub o milisecundă pe fiecare tură validă. De acolo se vede unde e problema: în cazul măsurat, 68,7% din timp era așteptarea primului text de la model, nu recunoașterea vorbirii, care lua 2,9%.

Alegem între configurare, căutare în documente și reglaj fin

Căutarea în documente e implementată și rulează: căutare hibridă, 70% semantic și 30% potrivire de cuvinte, prag de similitudine 0,70, cinci fragmente pe întrebare, cu jurnal per interogare care păstrează scorurile și timpii. Reglajul fin îl propunem doar cu dovadă că primele două nu ajung — și cu bugetul și drepturile pe masă înainte, nu după.

Verificăm drepturile de utilizare a datelor înainte de orice antrenare

Nu e formalitate, e ce oprește proiecte. Un corpus de 1.746 de ore de română pe care îl luaserăm în calcul s-a dovedit licențiat necomercial — deci inutilizabil pentru un model comercial. Un set de 270.946 de exemple avea codul sub licență permisivă, dar datele fără nicio licență declarată. Iar politica de utilizare a unui furnizor de voce interzice explicit antrenarea unui model pe ieșirea lui. Fiecare sursă se verifică pe pagina ei proprie, nu pe ce scrie într-un articol.

Punem consumul sub buget pe cheie, nu pe factură

Gateway propriu cu 44 de modele configurate, fiecare cu cost pe token și limită de context în configurație. Cheia de proiect are listă albă de modele, buget și perioadă, și se poate roti păstrând istoricul. Consumul se consolidează zilnic pe utilizator × cheie × model. Rutarea folosește strategia „cel mai puțin ocupat”, două reîncercări și un timp maxim de 120 de secunde.

Ținem cont de tokenii pe care furnizorul îi facturează, dar gateway-ul nu-i vede

Modelele de tip raționament produc pași interni pe care platforma de urmărire a costului nu-i vede, dar furnizorul îi facturează. Consecința practică: bugetul brut setat pe cheie trebuie să fie mai mic decât plafonul dorit, împărțit la un factor de raționament. Dacă nu faci corecția asta, cheia pare în buget și factura nu e.

Rulăm modele local când datele nu au voie să plece

Avem funcțional un lanț local: recunoaștere a vorbirii cu un model de 0,6 miliarde de parametri pe procesor și sinteză vocală cu un model de 99 de milioane de parametri, tot local. Într-un produs de monitorizare radio, transcrierea se face local, iar varianta prin gateway există în paralel — deci comparația între local și găzduit e făcută, nu presupusă. Ce pleacă de pe mașină e text, nu audio.

Urmărim derapajul după lansare

Un banc de regresie săptămânal pe cazuri fixe, care compară conformitatea cu schema, trece un test de bun-simț și măsoară asemănarea cu răspunsurile de referință. Un model care se schimbă sub tine — și se schimbă — se vede în tabel, nu în reclamațiile clienților.

Wie es aussieht

Der Ablauf, Schritt für Schritt.

01

Scriem criteriul și construim setul de cazuri

Cazurile vin din realitatea ta, nu dintr-un set de test general. Se fixează criteriul numeric, metoda de normalizare și pragul de la care rezultatul e acceptabil. Livrăm: setul de cazuri, criteriul scris și scriptul care îl calculează.

02

Rulăm comparația și publicăm și rezultatele care ne contrazic

Modelele candidate rulează pe date identice, cu interval de încredere. Livrăm: tabelul cu toate sistemele testate, inclusiv cele respinse și motivul, plus comanda exactă de reproducere. Un model pe care l-am respins pentru română a avut 99,69% rată de eroare pentru că aluneca în italiană — româna nu era printre limbile lui declarate. Rezultatul ăla e în tabel.

03

Alegem drumul și îl argumentăm în scris

Configurare, căutare în documente sau reglaj fin — cu motivul, costul și ce se pierde alegând. Livrăm: decizia argumentată, plus măsurătoarea care o susține. Dacă recomandarea e „nu antrenăm nimic”, o scriem la fel de explicit.

04

Punem în funcțiune cu cheie, buget și listă albă de modele

Cheia proiectului se emite cu buget, perioadă și listă de modele permise, cu corecția pentru tokenii de raționament aplicată. Livrăm: cheia, panoul de consum și pragul de la care cineva primește alertă.

05

Măsurăm din nou după lansare

Aceleași cazuri, același criteriu, pe modelul din producție. Livrăm: comparația înainte/după și lista modificărilor cu motivul fiecăreia. Un banc de regresie recurent prinde schimbările de comportament ale modelului furnizorului.

Traseul unei alegeri de model1criteriu scris și setde cazuri2comparație pe dateidentice, cu intervalde încredere3decizia întreconfigurare, căutareîn documente șireglaj fin4punere în funcțiunecu cheie, buget șilistă albă5remăsurare periodică
Traseul unei alegeri de model

Datele

Was wir anfassen, wo die Daten liegen und wie lange sie bleiben

Die Fragen, die sich jeder stellt, der über einen Datenschutzbeauftragten verfügt — hier gestellt, bevor er selbst danach fragt.

Ce date atingem și unde stau
Setul de evaluare rămâne al tău și se păstrează separat de setul folosit pentru instrucțiuni sau exemple. Când evaluarea se poate face pe date publice — cazul benchmarkului nostru de română — o facem acolo și nu atingem deloc datele clientului.
Separarea seturilor, ca măsurătoarea să însemne ceva
Setul pe care reglăm și setul pe care măsurăm nu se ating. Dacă un exemplu a fost folosit ca să scriem instrucțiunea, nu mai are voie să fie în setul de evaluare. E singura regulă care face diferența dintre o cifră și o cifră care înseamnă ceva.
Proveniența și licența fiecărei surse
Pentru orice date de antrenare se notează sursa, ora de material, licența exactă și pagina de pe care a fost citită. Marcăm distinct ce am măsurat noi și ce am estimat, cu baza calculului scrisă alături. Convenția asta a prins deja trei erori de licență care ar fi ajuns într-un proiect.
Jurnalul de interogări
Pentru căutarea în documente se păstrează, per interogare, fragmentele returnate, scorurile lor și timpii — de căutare și total. Fără jurnalul ăsta, „de ce a răspuns așa” nu are răspuns. Cu el, reglajul se face pe date.
Consumul
Un rând pe zi pentru fiecare combinație utilizator × cheie × model, plus starea cheii: buget maxim, cheltuit pe 24 de ore, 7, 14 și 30 de zile, procent folosit, numărul de cereri și lista modelelor efectiv atinse.

Ein Fall

Ein Prüfstand, der der Produktionswahl widersprach

Situația

Aveam un sistem de recunoaștere a vorbirii în funcțiune pentru română și o întrebare deschisă: e cel mai bun disponibil sau doar primul pe care l-am integrat? Nu exista nicio măsurătoare proprie, doar cifre publicate de furnizori, măsurate pe alte limbi și alte seturi.

Ce am construit

Am construit un banc: 200 de enunțuri românești dintr-un set public, aceeași sămânță pentru selecție, 35,1 minute de audio, același normalizator pentru toate sistemele, interval de încredere prin bootstrap, diferențe calculate pe perechi. Opt sisteme, fiecare încărcat singur, în proces propriu, pe aceeași mașină. Am scris în raport și configurația mașinii, și comanda exactă de reproducere.

Ce a ieșit

Sistemul din producție avea 26,26% rată de eroare pe cuvânt. Un model de 110 milioane de parametri, rulat pe procesor cu un model de limbă alături, avea 6,83%. Un model foarte lăudat a ieșit la 99,69%, pentru că aluneca în italiană — româna nu era printre limbile lui declarate. Iar două sisteme care păreau diferite după medie au ieșit la egalitate statistică pe comparația în perechi. Am publicat tot tabelul, inclusiv rândul care ne contrazicea alegerea.

Ce nu spune cazul

Măsurătoarea a fost făcută pe un set public de citire, nu pe convorbiri telefonice reale, cu zgomot și suprapuneri. Un rezultat bun pe acest set nu garantează același rezultat la telefon. De aceea, pentru un client, bancul se reconstruiește pe înregistrările lui — altfel măsurăm altceva decât ce îl interesează.

Întrebări

Was uns die Leute fragen, bevor sie anrufen

Ați antrenat vreodată un model propriu?

Nu. Niciun model reglat fin sau antrenat de noi nu rulează în producție și nu există niciun punct de control salvat în depozitele noastre. Ce avem: conducta de antrenare scrisă până la comanda exactă de pornire a mașinii cu GPU, bugetul calculat pe trei scenarii, datele pregătite și licențele verificate — și o listă scrisă cu ce trebuie decis înainte de prima rulare. Preferăm să spunem asta decât să vindem o competență pe care n-am exercitat-o.

Atunci de ce ați cere cuiva bani pentru „modele personalizate”?

Pentru că lucrarea care aduce rezultatul în majoritatea cazurilor nu e antrenarea. E să știi care model face treaba pe datele tale, cu ce latență și la ce cost pe apel — și asta cere o măsurătoare pe care aproape nimeni nu o face. Un exemplu din munca noastră: o singură valoare implicită greșită într-o configurație de model (o penalizare a repetiției setată la 1,2 în loc de 1,0) a costat 4,3 puncte procentuale de eroare. Nu a fost nevoie de antrenare, ci de măsurare.

Reglaj fin sau căutare în documente?

Începe cu căutarea în documente, aproape întotdeauna. E reversibilă, se actualizează schimbând un fișier și poate arăta sursa răspunsului. Reglajul fin schimbă comportamentul modelului în feluri pe care nu le poți inspecta, cere date etichetate, drepturi de utilizare și o măsurătoare înainte și după. Recomandăm reglajul fin când avem dovada că prima variantă nu ajunge — de exemplu, când am arătat că un model offline nu devine model în flux doar prin configurație: îngustând fereastra de atenție fără reantrenare, eroarea a crescut de la 8,81% la 22,26% și apoi la 48,95%.

Îmi garantați o acuratețe anume?

Nu, și niciun furnizor onest nu poate, pentru că acuratețea depinde de datele tale. Ce garantăm e metoda: măsurăm pe cazurile tale, arătăm intervalul de încredere și spunem când diferența dintre două opțiuni nu e semnificativă statistic. Am avut un caz în care un rezultat publicat de autorii unui model nu s-a reprodus la noi — ei raportau 20,70%, noi am măsurat 26,68% pe același model. Am scris că nu știm de ce, în loc să alegem cifra convenabilă.

Datele mele ajung la furnizorii de modele?

Depinde de drumul ales și e o decizie, nu un accident. Prin gateway, cererea ajunge la furnizorul modelului. Dacă asta nu e acceptabil, avem funcțional lanțul local: recunoaștere a vorbirii și sinteză vocală rulate pe mașina ta, unde de pe mașină pleacă doar text, niciodată audio. Într-un produs de monitorizare radio, transcrierea locală și cea prin gateway sunt implementate amândouă, deci compromisul dintre ele îl putem arăta cu cifre.

Ce se întâmplă dacă furnizorul schimbă modelul sub noi?

Se întâmplă. De aceea lucrarea include un banc de regresie pe cazuri fixe, rulat periodic, care compară conformitatea cu schema, trece un test de bun-simț și măsoară asemănarea cu răspunsurile de referință. Și de aceea integrarea trece prin gateway: modelul se schimbă dintr-un câmp, nu prin rescrierea codului.

Cum controlez costul, concret?

Cheia proiectului are listă albă de modele, buget și perioadă, și se poate roti păstrând istoricul. Consumul se consolidează zilnic pe utilizator, cheie și model. O capcană pe care o corectăm din start: modelele de raționament produc pași interni pe care sistemul de urmărire nu-i vede, dar furnizorul îi facturează — deci bugetul brut de pe cheie se setează mai mic decât plafonul dorit, împărțit la un factor de raționament. Cine nu face corecția vede cheia în buget și factura peste.

De ce contează licența datelor, dacă oricum sunt publice?

Pentru că „public” și „utilizabil comercial” sunt lucruri diferite, iar diferența se descoperă târziu și scump. Trei exemple din verificările noastre: un corpus mare de română, licențiat necomercial, deci exclus pentru un produs comercial; un set de sute de mii de exemple cu cod sub licență permisivă dar date fără nicio licență declarată; și politica de utilizare a unui furnizor de voce, care interzice explicit antrenarea unui model pe ieșirea lui. Verificarea se face pe pagina sursei, nu pe ce repetă un articol.

Ce nu face acest serviciu?

Nu antrenează azi modele fundaționale și nu promite un model propriu în producție. Nu garantează procente de îmbunătățire. Nu compară un model cu concurența pe baza cifrelor publicate de concurență — dacă nu am rulat noi comparația, spunem că e o cifră declarată de ei, nu una măsurată de noi.

Pe ce se sprijină afirmațiile de mai sus (26 surse)

26 dintre ele sunt cod și fișiere din depozitele noastre. Nu le publicăm numele și nici linia: împreună, pe o singură pagină, ar descrie prea exact cum sunt construite sisteme care nu sunt doar ale noastre. Le parcurgem cu tine, în depozit, la cerere — verificarea rămâne posibilă, doar că se face într-o discuție.

Was sollte bei Ihnen besser laufen?

Erzählen Sie uns von Ihrem Prozess. Gemeinsam legen wir fest, was sich zu bauen lohnt, was wir anbinden können und wie wir das Ergebnis prüfen.

Hai să discutăm