Wszystkie wpisy
Nowe wydanie17 min czytania

basal-2.0 i basal-omni — więcej decyzji na sekundę, lepsza kalibracja, obraz i dźwięk

Trzy otwarte modele decyzyjne basal-2.0 dla polskiego i angielskiego: od 1,4 do 5,2 razy więcej decyzji na sekundę niż basal-1.5, lepiej skalibrowane prawdopodobieństwa, do 255 opcji w pytaniu i porty z własną kalibracją. Obok nich eksperymentalny basal-omni: dwa modele na Gemma 4, które czytają również obrazy i dźwięk. Piszemy też, gdzie nowe modele nie są lepsze i jak wypadają na tablicy Werdyktu.

Remigiusz Kinas · ai5

basal-2.0 to nowa rodzina trzech otwartych modeli decyzyjnych dla polskiego i angielskiego: mini (1,5 mld parametrów), 4.5B i max (11 mld). W porównaniu z basal-1.5 na tablicy Werdyktu nowe modele obsługują od 1,4 do 5,2 razy więcej decyzji na sekundę na tym samym typie GPU, zwracają lepiej skalibrowane prawdopodobieństwa i przyjmują pytania z maksymalnie 255 opcjami. W Werdykcie zyskują od 0,7 do 1,2 punktu procentowego. To niewielka zmiana, a w kilku testach 2.0 nie wypada lepiej. Wszystkie wyniki pokazujemy poniżej.

Razem z basal-2.0 wydajemy basal-omni, eksperymentalną linię basal na Google Gemma 4: basal-omni-1.0-mini (4B) i basal-omni-1.0-max (12B). Odpowiadają na te same pytania przez to samo API, a w zapytaniu przyjmują też obrazy i nagrania dźwięku. W Werdykcie wyprzedzają basal-1.5 o około 5 punktów, ale działają wolniej niż basal-2.0. Opisujemy je w osobnej części. Oba wydania mają otwarte wagi na licencji Apache 2.0.

1.5B / 4.5B / 11Btrzy rozmiary basal-2.0
×1,4–5,2decyzji na sekundę wobec basal-1.5 na tablicy Werdyktu (H100)
+ obraz i dźwiękbasal-omni 4B i 12B na Gemma 4, eksperymentalnie

Czym jest basal

basal czyta stan, czyli wiadomość, dokument, fragmenty z wyszukiwania albo przebieg pracy agenta, i odpowiada na pytanie o ten stan. Wybiera tylko spośród opcji, które podajesz w zapytaniu, a dla każdej z nich zwraca skalibrowane prawdopodobieństwo. Robi to w jednym przebiegu modelu, bez generowania tekstu. Ponieważ klasy opisujesz w zapytaniu, jeden model obsługuje wiele zadań bez dodatkowego trenowania: kierowanie zgłoszeń, sprawdzanie reguł i polityk, pytania o długie dokumenty, decyzje w systemach RAG, oceny pilności i ryzyka, ocenę odpowiedzi oraz wybór następnego kroku agenta albo narzędzia.

Typy pytań się nie zmieniają: choice (jedna z opcji), noul (tak/nie), score (skala), multi (wiele etykiet) i act (akcja z kosztami). Gdy do pytania dodasz max_error, odpowiedź, której model nie jest wystarczająco pewny, wraca z "deferred": true i może trafić do człowieka.

Każdy model ma swoje zastosowanie. basal-2.0 (4.5B) łączy trafność z szybkością i jest modelem głównym. basal-2.0-max (11B) jest najtrafniejszy. basal-2.0-mini (1.5B) jest najszybszy i destylowany z max. Wszystkie trzy mają to samo API. To samo API mają dwa modele basal-omni (4B i 12B, na Gemma 4), które czytają też obrazy i dźwięk (niżej).

Co nowego od basal-1.5

  • Więcej decyzji na sekundę. Każda decyzja to jeden przebieg z jedną kolejnością opcji (basal-1.5 czytał dwie kolejności). Nowy silnik v2.0.0 łączy zapytania w zwarte partie. Na jednym H100 przy 16 klientach mini wykonuje 106,4 decyzji na sekundę zamiast 20,5, 4.5B 32,2 zamiast 23,0, a max 16,2 zamiast 10,2 (basal-1.5 i 1.5-max na SGLang, jak na tablicy Werdyktu). Gdy oba wydania działają w domyślnym trybie basal-serve, 4.5B jest 4,0 raza, a max 3,5 raza szybszy.
  • Lepsza kalibracja. Błąd kalibracji (ECE) w Werdykcie spada: mini z 0,086 do 0,035, 4.5B z 0,068 do 0,060, max z 0,074 do 0,044. Osobną temperaturę dopasowaliśmy dla każdego typu pytania i przedziału liczby opcji, na rodzinach pytań, których model nie widział w treningu.
  • Do 255 opcji w pytaniu. basal-1.5 odpowiadał na pytania z co najwyżej 10 opcjami. W publicznym indeksie decyzyjnym JDI 0.2.1 (150 317 zapytań) zostawiał bez odpowiedzi 17,2% zapytań. basal-2.0 4.5B i max odpowiadają na wszystkie, a mini nie odpowiada na 26.
  • Długie dokumenty. Kontekst ma 32 768 tokenów (mini: 8 192). Silnik ustawia długie zapytania (ponad 2 048 tokenów) za krótkimi. W ruchu mieszanym przy 32 klientach krótkie zapytania dostają odpowiedź po 0,81 s zamiast 1,38 s (mediana), a długie trwają o około 7% dłużej.
  • Polski egzamin lekarski (LEK). Wynik max rośnie z 70,0% do 75,6% po polsku i z 67,6% do 74,1% po angielsku.
  • Porty FP8, GGUF i MLX z własną kalibracją. Każdy port ma własny plik kalibracji, dopasowany do odczytów danego portu.
  • Tryb myślenia w 4.5B: eksperymentalny i domyślnie wyłączony. W Werdykcie obniża wynik, dlatego go nie zalecamy (szczegóły niżej).
  • Obraz i dźwięk w basal-omni: eksperymentalnie. Dwa nowe modele na Gemma 4 przyjmują w zapytaniu obrazy i nagrania (szczegóły niżej).

Wyniki wobec basal-1.5

Werdykt to nasz ukryty benchmark: 5 000 decyzji po polsku i angielsku w 10 kategoriach. Pytań nie publikujemy, żeby nie trafiły do danych treningowych żadnego modelu, także naszego. Każdy rozmiar 2.0 porównujemy z jego odpowiednikiem z basal-1.5. Wagi zamroziliśmy przed pomiarem i każdy model zmierzyliśmy raz, w bf16 na jednym H100.

Werdykt v1

Trafność, szybkość i kalibracja obok siebie

Wyżej = lepiej dla trafności i szybkości, niżej = lepiej dla błędu kalibracji. Osiem modeli basal na tablicy Werdyktu: 5 000 decyzji, jeden H100.

Werdykt v1: trafność, decyzje na sekundę przy 16 klientach, błąd kalibracji i miejsce na tablicy
ModelTrafnośćDecyzje/sECEMiejsce
basal-omni-1.0-max (12B)0,8234,2nie podajemy14. z 94
basal-2.0-max (11B)0,78416,20,04431. z 94
basal-1.5-max (11B)0,77310,20,07434. z 94
basal-omni-1.0-mini (4B)0,7698,7nie podajemy37. z 94
basal-2.0 (4.5B)0,72932,20,06045. z 94
basal-1.5 (4.5B)0,72123,00,06846. z 94
basal-2.0-mini (1.5B)0,618106,40,03580. z 94
basal-1.5-mini (1.5B)0,60720,50,08682. z 94

basal-2.0 zyskuje w Werdykcie od 0,7 do 1,2 punktu wobec basal-1.5, obsługuje od 1,4× do 5,2× więcej decyzji na sekundę i ma niższy błąd kalibracji w każdym rozmiarze. Eksperymentalny basal-omni-1.0-max ma najwyższą trafność (0,823), ale wykonuje najmniej decyzji na sekundę (4,2).

Trafność: średnia z 20 komórek Werdyktu v1 (10 kategorii, polski i angielski); „31. z 94” to miejsce w pełnej tabeli.

Szybkość: wiersze tablicy Werdyktu przy 16 klientach na jednym H100: basal-1.5 i 1.5-max na SGLang, mini 1.5 na silniku basal, basal-2.0 na silniku v2.0.0, basal-omni w trybie eager. Skala logarytmiczna: każda linia siatki to zmiana dziesięciokrotna.

Kalibracja: ECE, czyli średnia różnica między pewnością modelu a jego trafnością. Dla basal-omni nie podajemy ECE w tym zestawieniu.

Werdykt v1 · trafność (średnia z 20 komórek), kalibracja i automatyzacja
RozmiarTrafność 1.5 → 2.0PL / EN (2.0)ECE 1.5 → 2.0Automatycznie przy celu 5% błędu, 1.5 → 2.0
mini · 1.5B0,607 → 0,6180,628 / 0,6090,086 → 0,03521,9% → 25,4%
4.5B0,721 → 0,7290,729 / 0,7280,068 → 0,06050,1% → 51,3%
max · 11B0,773 → 0,7840,787 / 0,7810,074 → 0,04465,6% → 65,6%

basal-1.5: wiersze z tablicy Werdyktu (4.5B i max na SGLang, mini na silniku basal); basal-2.0: silnik v2.0.0. Każde wydanie ma własny plik kalibracji. 95% przedziały ufności dla 2.0: mini [0,605; 0,631], 4.5B [0,717; 0,739], max [0,774; 0,795]. Przedziały 1.5 i 2.0 nakładają się w każdym rozmiarze. „Automatycznie” oznacza udział decyzji powyżej progu pewności. Próg wybieramy na połowie pytań dla 5% błędu i sprawdzamy na drugiej połowie. Obserwowany błąd 2.0 wyniósł 5,1% (mini), 5,1% (4.5B) i 4,5% (max).

Zysk w Werdykcie jest mały. Większe zmiany widać w kalibracji: prawdopodobieństwa 2.0 lepiej odpowiadają rzeczywistej trafności, a mini zmniejsza błąd kalibracji ponad dwukrotnie. W kategoriach Werdyktu najwięcej zyskują decyzje o następnym kroku agenta (mini +8,6 pkt, 4.5B +6,0) i ocena odpowiedzi (od +3,0 do +3,8 we wszystkich rozmiarach). max poprawia też odpowiedzi „nie da się ustalić” (+7,2). Długie dokumenty: 4.5B +1,4, max +2,4, mini −2,0. Na decyzjach w systemach RAG mini i 4.5B tracą około 3 punktów. Kategoria liczy około 500 pytań, więc różnice rzędu 2–3 punktów mogą wynikać z przypadku.

Kalibracja

Błąd kalibracji: basal-1.5 → basal-2.0

Niżej = lepiej. ECE w Werdykcie v1: o ile średnio pewność modelu różni się od jego trafności. Każde wydanie z własnym plikiem kalibracji.

Błąd kalibracji spada w każdym rozmiarze: mini 0,086 → 0,035 (ponad dwukrotnie), 4.5B 0,068 → 0,060, max 0,074 → 0,044. Wartości są też w tabeli wyników powyżej.

Indeks JDI i egzamin lekarski

W indeksie decyzyjnym JDI 0.2.1 mini rośnie z 16,41 do 26,69, a 4.5B z 27,65 do 39,86. max 2.0 uzyskuje 44,07. Dla basal-1.5-max nie ma pełnego przebiegu, więc nie podajemy dla niego wyniku. Jednocześnie znika problem pytań z wieloma opcjami: 1.5 nie odpowiedział na 25 782 z 150 317 zapytań, a 4.5B i max 2.0 odpowiadają na wszystkie.

LEK, czyli Lekarski Egzamin Końcowy, ma pytania z pięcioma odpowiedziami z sesji 2008–2026 (NASK-PIB Reassess, CC BY-NC-SA 4.0). Wyniki modeli tekstowych po polsku / po angielsku: basal-2.0-max 75,6% / 74,1% (1.5: 70,0% / 67,6%), 4.5B 62,0% / 63,0% (1.5: 60,5% / 59,7%), mini 47,7% / 49,2% (1.5: 47,7% / 48,4%).

basal-omni · LEK · odsetek poprawnych odpowiedzi
ModelPolskiAngielski
basal-omni-1.0-mini · 4B64,8%70,9%
basal-omni-1.0-max · 12B75,0%80,9%

Oba modele basal-omni zmierzono na tych samych pytaniach i według tego samego protokołu LEK. Wejście było wyłącznie tekstowe: treść pytania i pięć możliwych odpowiedzi.

Pokazujemy wyniki LEK tylko dla modeli basal, bez porównania z innymi systemami. Wynik egzaminu nie znaczy, że model nadaje się do decyzji medycznych. Takie decyzje wymagają człowieka.

Te same pytania, ten sam silnik

W pozostałych testach oba wydania obsłużył ten sam silnik v2.0.0 na tych samych pytaniach. Różnica jest więc sparowana, a w nawiasie podajemy 95% przedział bootstrap.

basal-2.0 minus basal-1.5 · punkty procentowe [95% przedział]
Testmini4.5Bmax
PL-Holdout: zamknięty test polski (4 000 decyzji, rodziny zadań spoza treningu)−0,8 [−1,6; 0,0]+0,6 [−0,2; +1,3]−0,6 [−1,6; +0,4]
Polskie decyzje (7 081)−1,4 [−2,0; −0,8]+0,1 [−0,4; +0,7]−0,2 [−0,8; +0,4]
Rzeczywiste polskie dokumenty (158 pytań o dokumenty spoza treningu)0,0 [−3,8; +3,8]0,0 [−3,2; +3,2]+1,3 [−1,3; +3,8]
Panel angielski (10 zadań)−1,5 [−2,9; −0,03]−3,6 [−5,3; −2,0]−2,5 [−4,0; −1,0]

Panel angielski: różnica i przedział na poziomie pojedynczych pytań. Wynik 2.0 na rzeczywistych polskich dokumentach: mini 91,8%, 4.5B 94,9%, max 97,5%. Pełne zestawienie, w tym testy użyte do wyboru modelu: basal-1.5 → basal-2.0.

Na panelu angielskim wszystkie trzy rozmiary 2.0 wypadają gorzej niż 1.5, a mini traci też 1,4 punktu na polskich decyzjach. Pozostałe różnice mieszczą się w przedziałach niepewności. Jeśli basal-1.5 działa już w Twoim procesie, przed zmianą wersji sprawdź 2.0 na własnych danych.

Szybkość, koszt i porty

Szybkość

Decyzje na sekundę: basal-1.5 → basal-2.0

Wyżej = lepiej. Jeden H100 80 GB, bf16, 16 klientów. Dla 4.5B i max pokazujemy dwa pomiary basal-1.5: wiersz z tablicy Werdyktu i tryb domyślny basal-serve.

Według wierszy tablicy Werdyktu basal-2.0 obsługuje 5,2× (mini), 1,4× (4.5B) i 1,6× (max) więcej decyzji na sekundę. Gdy oba wydania działają w trybie domyślnym basal-serve, 4.5B jest 4,0×, a max 3,5× szybszy. Te same liczby są w tabeli poniżej.

Szybkość: basal-1.5 i 1.5-max na tablicy Werdyktu działały na SGLang, mini 1.5 na silniku basal (to także jego tryb domyślny). Tryb domyślny basal-serve mierzyliśmy na osobnych maszynach z tym samym typem GPU. Skala logarytmiczna: każda linia siatki to zmiana dziesięciokrotna.

Tablica Werdyktu · bf16 · jeden H100 80 GB · basal-1.5 → basal-2.0
RozmiarDecyzje/s przy 16 klientachOba w trybie domyślnym basal-serveMediana, 1 klientp95, 1 klientKoszt 1 000 decyzji
mini · 1.5B20,5 → 106,4 (×5,2)ten sam pomiar14,2 → 15,5 ms346 → 94 ms0,054 → 0,010 $
4.5B23,0 → 32,2 (×1,4)8,0 → 32,2 (×4,0)33,8 → 25,0 ms270 → 188 ms0,048 → 0,034 $
max · 11B10,2 → 16,2 (×1,6)4,6 → 16,2 (×3,5)67,1 → 37,4 ms477 → 344 ms0,108 → 0,068 $

Wiersze z tablicy Werdyktu: basal-1.5 i 1.5-max na SGLang, mini 1.5 na silniku basal, basal-2.0 na silniku v2.0.0. Druga kolumna pokazuje oba wydania w domyślnym trybie basal-serve (basal-1.5 na własnym silniku), na osobnych maszynach z tym samym typem GPU. Decyzja to jedno pytanie z jedną kolejnością opcji. Koszt to czas H100 po 3,95 $ za godzinę przy pełnym obciążeniu. Przy jednym kliencie mini 2.0 odpowiada o 1,3 ms wolniej niż mini 1.5.

Przyspieszenie liczymy względem wierszy basal-1.5 z tablicy Werdyktu. 4.5B i max działały tam na SGLang, który był dla nich szybszy niż domyślny tryb basal-serve. Gdy oba wydania działają w trybie domyślnym, 4.5B jest 4,0 raza, a max 3,5 raza szybszy. basal-1.5 był też dostępny w pakietach FP8 dla vLLM, a przy wielu klientach działały wyraźnie szybciej niż jego wersja bf16. basal-2.0 nie był mierzony na tamtej maszynie. Jeśli obsługujesz ruch mieszany z długimi, powtarzającymi się dokumentami, zmierz obie wersje na własnym obciążeniu.

Porty z własną kalibracją

Każdy port sprawdzamy względem modelu bf16. Liczymy, jak często wybiera tę samą opcję, i porównujemy trafność oraz kalibrację.

Zgodność z bf16 i rozmiar plików · mini / 4.5B / max
PakietGdzie działaZgodność z bf16Rozmiar
FP8GPU NVIDIA Hopper i Blackwell93,3% / 94,8% / 97,0%1,8 / 4,9 / 12 GB
GGUF Q8_0Ollama, llama.cpp97,7% / 98,4% / 99,3%1,6 / 4,8 / 12 GB
GGUF Q5_K_MOllama, llama.cpp (mniejszy)93,4% / 95,7% / 97,7%1,1 / 3,2 / 7,5 GB
MLX 8-bitMac z Apple Silicon97,9% / 97,9% / 99,3%1,7 / 4,9 / 12 GB

Zgodność liczymy na zbiorze deweloperskim, dla pytań z 2–10 opcjami. Gdy model bf16 wyraźnie wskazuje jedną opcję (przewaga co najmniej 0,2), zgodność portów wynosi od 98,9% do 100%. Wszystkie porty FP8, GGUF i MLX spełniły progi swojego rozmiaru: trafność różni się od bf16 najwyżej o 1 punkt, a ECE rośnie najwyżej o 0,01.

Kalibracja dopasowana do bf16 nie przenosi się dokładnie na model po kwantyzacji. W basal-1.5 porty MLX i GGUF korzystały z kalibracji modelu bf16. Teraz FP8, GGUF (osobno dla llama.cpp i Ollama) i MLX mają własne pliki CALIBRATION.<silnik>.json. basal-serve sam wybiera plik dla silnika i zapisuje w logu, którego użył.

Na H100 pakiet FP8 wykonuje przy 16 klientach 103,5 (mini), 38,6 (4.5B) i 19,9 (max) decyzji na sekundę. Na Macu z Apple M4 Pro (24 GB) jedno pytanie w MLX 8-bit zajmuje (mediana) 93 ms w mini, 278 ms w 4.5B i 622 ms w max. Pięć pytań o ten sam stan zajmuje odpowiednio 223, 698 i 1 506 ms.

Tryb myślenia Eksperymentalny

Model 4.5B ma eksperymentalny tryb myślenia. Jest domyślnie wyłączony i zalecamy go nie włączać. Serwer uruchomiony z --think auto pisze krótką notatkę przed decyzją. Robi to tylko dla pytań, w których skalibrowana pewność jest poniżej progu 5% błędu dla danego typu. Potem odczytuje decyzję ponownie, z osobnym plikiem kalibracji. Notatkę generuje serwer vLLM, który basal-serve uruchamia w osobnym procesie. mini i max nie mają tego trybu.

basal-2.0 4.5B · Werdykt · ten sam H100 80 GB dla obu wierszy
SerwerTrafnośćECEAutomatycznie przy 5%Mediana, 1 klientDecyzje/s, 16 klientów
--think off (domyślnie)0,7290,06051,3%23 ms31,2
--think auto0,7190,09947,1%499 ms11,5

Przy --think auto myślało 56,7% pytań, a notatka miała średnio 142 tokeny.

W Werdykcie myślenie obniżyło trafność o 0,9 punktu, zwiększyło błąd kalibracji i zmniejszyło przepustowość z 31,2 do 11,5 decyzji na sekundę. Udostępniamy ten tryb jako eksperyment do sprawdzenia na własnych danych, nie jako zalecaną konfigurację. Na serwerze z --think auto możesz go wyłączyć dla pojedynczego zapytania polem "think": "off".

basal-omni: obraz i dźwięk Eksperymentalny

Razem z basal-2.0 udostępniamy basal-omni, nową linię basal na modelach Google Gemma 4. Na start są dwa modele: basal-omni-1.0-mini (4B, na Gemma 4 E4B) i basal-omni-1.0-max (12B, na Gemma 4 12B). Odpowiadają na te same typowane pytania (choice, noul, score, multi, act) przez to samo API /v1/systemone i przyjmują do 255 opcji w pytaniu. Nowe jest pole "media": obok tekstu stanu możesz wysłać obrazy i nagrania dźwięku, a stan może się składać z samych mediów.

To wydanie eksperymentalne. Oba modele trenowaliśmy tylko na polskich i angielskich typowanych decyzjach w tekście. Obrazy i dźwięk czytają enkodery Gemma 4 bez dodatkowego treningu (zero-shot). Trening na mediach planujemy w kolejnych wydaniach.

Wyniki w Werdykcie

Werdykt v1 · pytania tekstowe · bf16 · jeden H100 · basal-1.5 → basal-omni
ModelTrafność 1.5 → omniPL / EN (omni)Miejsce na tablicyMiejsce w klasie
basal-omni-1.0-mini · 4B0,721 → 0,769 (+4,8)0,775 / 0,76337. z 941. z 31 (3–5 mld)
basal-omni-1.0-max · 12B0,773 → 0,823 (+5,0)0,824 / 0,82114. z 941. z 14 (7–14 mld)

Odniesienie: basal-1.5 (4.5B) dla mini i basal-1.5-max (11B) dla max, wiersze z tablicy Werdyktu. 95% przedziały ufności: mini [0,758; 0,778], max [0,813; 0,832]. Nie nakładają się z przedziałami basal-1.5. basal-omni działał w trybie eager silnika basal, z jedną kolejnością opcji.

Mniejszy model omni dorównuje w Werdykcie basal-1.5-max (11B, 0,773). Na panelu angielskim (10 zadań) oba modele mają o 5,2 punktu więcej niż odpowiedni basal-1.5, a w polskich testach z kart modeli są przed nim albo na jego poziomie. Najsłabszą kategorią pozostają reguły i terminy: 0,352 (mini) i 0,418 (max).

Obraz i dźwięk na polskiej próbie

Media sprawdziliśmy na małej polskiej próbie. Każde pytanie zadaliśmy dwa razy: z obrazem albo nagraniem oraz z tekstem, który je zastępuje (tekst dokumentu, transkrypcja, a przy zdjęciach samo pytanie).

basal-omni · obraz i dźwięk

Ta sama decyzja z mediów i z tekstu

Wyżej = lepiej. Mała polska próba: każde pytanie zadane z obrazem albo nagraniem oraz z tekstem, który je zastępuje. Kreska pokazuje model Gemma 4 bez naszego treningu.

Z obrazu dokumentu max ma 0,838 wobec 0,900 z tekstu, a mini 0,725 wobec 0,831. Nagrania lepiej czyta mini: intencję prośby 0,921 wobec 0,943 z transkrypcji. max ma tu 0,714, czyli tyle co Gemma 4 bez treningu (0,700). Wszystkie liczby są w tabeli poniżej.

Polska próba multimodalna · trafność z mediów / z tekstu
PróbaPytaniaminimaxGemma 4 bez treningu, z mediów (E4B / 12B)
Decyzja na podstawie obrazu dokumentu1600,725 / 0,8310,838 / 0,9000,500 / 0,675
Decyzja o prawdziwym zdjęciu1500,667 / 0,5070,660 / 0,5270,640 / 0,680
Intencja nagranej prośby (MINDS-14)1400,921 / 0,9430,714 / 0,9290,900 / 0,700
Temat nagranego fragmentu1000,870 / 0,9000,510 / 0,9300,860 / 0,550
Decyzja na podstawie nagranej wypowiedzi450,844 / 0,9560,556 / 0,9560,600 / 0,578

Pierwsza liczba: odpowiedź z obrazu albo nagrania, druga: z tekstu. Ostatnia kolumna: model bazowy Gemma 4 bez naszego treningu, pytany o te same media. Próba jest mała, więc różnice kilku punktów mogą wynikać z przypadku.

Z obrazów dokumentów max czyta prawie tak dobrze jak z ich tekstu (6 punktów mniej), a mini traci 11 punktów. Zdjęcie dodaje 13–16 punktów wobec samego pytania, ale wynik pozostaje na poziomie Gemma 4 bez treningu. Dźwięk lepiej czyta mini: intencję i temat nagrania rozpoznaje 2–3 punkty słabiej niż z transkrypcji, a decyzje na podstawie nagranej wypowiedzi 11 punktów słabiej. max traci na nagraniach od 22 do 42 punktów i zostaje na poziomie modelu bazowego. Jeśli masz transkrypcję, wyślij ją zamiast nagrania.

Jedno zapytanie może łączyć obrazy i dźwięk, a każde pytanie widzi wszystkie media. W naszym teście (20 par: obraz dokumentu i nagrana prośba) dodanie drugiego medium zmieniło 5–15% odpowiedzi mini i 10–25% odpowiedzi max. Najstabilniejsze odpowiedzi daje pytanie wysłane tylko z mediami, których dotyczy. Odpowiedzi mają pole "calibration": "text": temperatury i progi pewności dopasowaliśmy na tekście. Zanim zautomatyzujesz decyzje o obrazach albo nagraniach, sprawdź progi na własnych danych.

Jak uruchomić

TERMINAL · NVIDIA GPU · BASAL-OMNI
uv venv --python 3.12 ~/basal-env && source ~/basal-env/bin/activate
uv pip install torch==2.11.0 torchvision==0.26.0 --index-url https://download.pytorch.org/whl/cu128
uv pip install "basal[media] @ https://github.com/rkinas/basal/archive/refs/tags/v2.0.0.tar.gz"
basal-serve --model Remek/basal-omni-1.0-max --mode eager --media on --port 8000

Ten sam silnik v2.0.0 obsługuje modele tekstowe basal-2.0 i modele basal-omni z obrazem i dźwiękiem, a dodatek [media] jest potrzebny tylko dla basal-omni. Mniejszy model uruchomisz z --model Remek/basal-omni-1.0-mini. W trybie eager mini potrzebuje około 16 GB pamięci GPU, a max około 24 GB.

JSON · ZDJĘCIE PARAGONU, DWA PYTANIA
{
  "state": "",
  "lang": "pl",
  "media": [{"type": "image", "data": "<zdjęcie paragonu w base64>"}],
  "questions": {
    "card": {"type": "noul", "instructions": "Czy zapłacono kartą?"},
    "vat": {
      "type": "choice",
      "instructions": "Jaka jest najwyższa stawka VAT na paragonie?",
      "criteria": {"23": "23%", "8": "8%", "5": "5%", "0": "0% lub zwolniony"}
    }
  }
}

Wyślij jako POST do /v1/systemone. Element "media" ma postać {"type": "image" | "audio", "data": "<base64>"}; działa też adres data:. Obrazy w każdym formacie, który czyta Pillow, dźwięk w WAV, FLAC, OGG albo MP3, do 30 s na nagranie. W jednym zapytaniu zmieści się do 8 plików po 20 MB, a obraz może mieć do 50 MP. "detail": "high" (1 120 tokenów obrazu zamiast 280) pomaga przy drobnym druku, ale wydłuża odpowiedź. "lang" ustawia język, gdy stan składa się z samych mediów.

Szybkość. Na tablicy Werdyktu (16 klientów, jeden H100) mini wykonuje 8,7 decyzji na sekundę, a max 4,2, przy medianie 67 i 76 ms dla jednego klienta. basal-2.0 na tym samym teście: 32,2 (4.5B) i 16,2 (max). Przy krótkich zapytaniach z jednym pytaniem i 32 klientach mini wykonuje 35,2, a max 19,0 decyzji na sekundę.

Ograniczenia basal-omni

  • Wydanie eksperymentalne. To pierwsze modele na nowej bazie. Sprawdź je na własnych dokumentach, zanim oprzesz na nich proces.
  • Media bez treningu. Obraz i dźwięk czytają enkodery Gemma 4 zero-shot. Tam, gdzie same media są trudne (zdjęcia z telefonu, mowa), odpowiedzi są słabsze niż z tekstu.
  • Kalibracja z tekstu. Odpowiedzi o mediach korzystają z kalibracji dopasowanej na tekście. Progi pewności sprawdź na własnych obrazach i nagraniach.
  • Tylko obraz i dźwięk. Modele nie przyjmują wideo.
  • Tylko tryb eager. Nie ma trybu fast, portów FP8, GGUF i MLX ani trybu myślenia. Na tablicy Werdyktu basal-omni wykonuje 3,7–3,9 raza mniej decyzji na sekundę niż basal-2.0.

basal-2.0 czy basal-omni?

Wybierz basal-omni, gdy decyzja dotyczy obrazu albo nagrania, na przykład zdjęcia dokumentu albo nagranej prośby klienta. Wybierz go też wtedy, gdy na tekście liczy się przede wszystkim trafność, a wystarcza Ci GPU i tryb eager. W Werdykcie basal-omni-1.0-max ma 0,823 wobec 0,784 basal-2.0-max, a basal-omni-1.0-mini 0,769 wobec 0,729 basal-2.0 (4.5B).

Wybierz basal-2.0, gdy liczą się przepustowość i czas odpowiedzi: na tablicy Werdyktu wykonuje 3,7–3,9 raza więcej decyzji na sekundę niż omni podobnej wielkości. basal-2.0 jest też właściwym wyborem, gdy model ma działać na Macu, z Ollama albo w FP8, gdy potrzebujesz najmniejszego modelu (mini 1.5B) albo trybu myślenia w 4.5B i gdy zależy Ci na polskim modelu bazowym Bielik. basal-2.0 to główne wydanie, a basal-omni jest eksperymentalny. Oba mają to samo API, więc zapytania tekstowe działają bez zmian. Każdy model ma jednak własną kalibrację, więc progi pewności sprawdź od nowa.

Czym basal różni się od innych systemów

1 przebieg
Odpowiedź zawsze z listy. basal nie generuje tekstu. Odczytuje prawdopodobieństwa kodów opcji, więc nie ma odpowiedzi spoza listy ani odpowiedzi, której nie da się odczytać.
p(opcja)
Prawdopodobieństwo każdej opcji, nie tylko etykieta. Kalibracja to osobny plik, który możesz dopasować do swoich danych poleceniem basal-calibrate.
max_error
Odroczenie zamiast zgadywania. Pytanie poniżej progu pewności wraca do człowieka. Na rodzinach pytań odłożonych od treningu 4.5B z max_error: 0.05 rozstrzygnął sam 33,2% decyzji przy obserwowanym błędzie 2,39%. Kalibracja jest więc ostrożna.
ms
Milisekundy na decyzję. Mediana dla 4.5B na H100 wynosi 25 ms. Czołowe niezależne modele API na tej samej tablicy odpowiadają po 2,2–3,3 s. Kilka pytań o ten sam stan wysyłasz w jednym zapytaniu.
lokalnie
Na Twoim sprzęcie. basal działa na GPU NVIDIA, na Macu (MLX), z Ollama albo llama.cpp. Do działania nie potrzebuje zewnętrznego API. basal-omni działa na razie tylko w trybie eager na GPU NVIDIA.

Ceną jest trafność. Czołowe niezależne modele API rozstrzygają Werdykt prawie bezbłędnie (od 98,3% do 99,6%). Wyspecjalizowane decyzyjne API i otwarte modele 27–31B osiągają do 85,4%, basal-omni-1.0-max 82,3%, a basal-2.0-max 78,4%. basal opłaca się tam, gdzie liczą się lokalne dane, przewidywalny koszt, czas odpowiedzi i decyzje oddawane człowiekowi, gdy model nie jest pewny.

Dlaczego basal dla polskich firm

  • Dane zostają w firmie. Model działa na Twoim serwerze albo komputerze, więc treść dokumentów nie trafia do zewnętrznego dostawcy modelu. To ułatwia ocenę zgodności z RODO, ale nie zastępuje własnej analizy: podstawy przetwarzania, zasad logowania i okresu przechowywania danych.
  • Polski model bazowy. basal-2.0 powstaje na modelach Bielik projektu SpeakLeash i ACK Cyfronet AGH: Bielik-1.5B-v3.0-Instruct, Bielik-4.5B-v3.0-Instruct i Bielik-PL-11B-v3.0-Instruct. Eksperymentalny basal-omni powstaje na Google Gemma 4 i trenowaliśmy go na polskich i angielskich typowanych decyzjach.
  • Po polsku tak samo dobrze jak po angielsku. W Werdykcie wynik po polsku i po angielsku wynosi: 4.5B 0,729 / 0,728, max 0,787 / 0,781, mini 0,628 / 0,609. basal-omni: max 0,824 / 0,821, mini 0,775 / 0,763.
  • Prawdziwe polskie dokumenty. Na 158 pytaniach o rzeczywiste polskie dokumenty spoza danych treningowych max uzyskuje 97,5%, 4.5B 94,9%, a mini 91,8%.
  • Polski egzamin lekarski. Na LEK max ma 75,6% po polsku. Wynik egzaminu nie zastępuje oceny w konkretnym zastosowaniu.
  • Polskie przykłady. Basal Lab pokazuje polskie procesy: monitoring wzmianek o firmie, dokumenty, import do ERP, karty klientów, poufność i dostawy. Nagrania wykonano na basal-1.0 i basal-1.5. Zapytania do 2.0 mają ten sam format /v1/systemone.
  • Otwarta licencja. Wagi i silnik udostępniamy na licencji Apache 2.0, tej samej co modele Bielik i Gemma 4. Możesz ich używać komercyjnie, uruchamiać u siebie i dopasować kalibrację do własnych danych.

Miejsce na tablicy Werdyktu

Tablica Werdyktu obejmuje 94 systemy: modele API oraz otwarte modele zmierzone na jednym H100. basal-2.0-max zajmuje 31. miejsce, basal-2.0 (4.5B) 45., a basal-2.0-mini 80. Eksperymentalne basal-omni-1.0-max i basal-omni-1.0-mini zajmują 14. i 37. miejsce. Wyżej od basal-2.0-max jest 13 systemów API, 13 otwartych modeli o 26–31 mld parametrów i cztery modele 12B, w tym basal-omni-1.0-max. Wyżej od basal-omni-1.0-max jest osiem systemów API i pięć większych otwartych modeli.

Tablica Werdyktu

Otwarte modele według klasy wielkości

Wyżej = lepiej (dalej w prawo). Każda kropka to otwarty model z tablicy Werdyktu, w wierszu swojej klasy: łączna liczba parametrów, basal-omni-1.0-mini jako 4B.

W klasie 7–14 mld prowadzi basal-omni-1.0-max (0,823), a basal-2.0-max jest 5. z 14. W klasie 3–5 mld basal-omni-1.0-mini jest 1. z 31, a basal-2.0 (4.5B) zajmuje 3. miejsce. basal-2.0-mini prowadzi w najmniejszej klasie (1. z 5). Te same miejsca są w tabeli poniżej.

Klasy: według łącznej liczby parametrów, więc modele MoE, na przykład 26B-A4B, są w klasie 15–40 mld. Liczba przy klasie to modele liczone do miejsc w klasie.

Odniesienie: czarne kropki to basal-1.5. Starsze wersje basal nie liczą się do miejsc w klasach, a basal-1.0 nie pokazujemy.

Otwarte modele według łącznej liczby parametrów · bez starszych wersji basal
Klasabasal-2.0Miejsce w klasieWyżej w klasie
do 2 mldmini · 0,6181. z 5— (następny: 0,587)
3–5 mld4.5B · 0,7293. z 31basal-omni-1.0-mini (0,769) i H2O-Lightning-4B v1.1 (0,753)
7–14 mldmax · 0,7845. z 14basal-omni-1.0-max (0,823) i trzy modele 12B (0,785–0,789)
15–40 mld——13 z 19 modeli 26–35B ma wynik wyższy niż max (do 0,854)

Klasę wyznacza łączna liczba parametrów, więc modele MoE, na przykład 26B-A4B, są w klasie 15–40 mld. Najmniejsza klasa jest na tablicy nieliczna. basal-omni-1.0-mini i basal-omni-1.0-max są pierwsze w swoich klasach (1. z 31 i 1. z 14). Pełna tabela: Werdykt.

Osobno warto wiedzieć o modelach MoE, które przy każdym tokenie używają 3–4 mld parametrów, ale mają 26–35 mld łącznie. Cztery z nich mają wynik wyższy niż basal-2.0 (4.5B): Surogate Rune 26B-A4B v3 (0,817), Bobcat Flash 1.2 (0,802), Xor 26B-A4B 1.0 (0,798) i Xor 1.2 (0,772). Ich wagi zajmują jednak tyle pamięci co model 26–35B.

Liderem klasy 7–14B jest basal-omni-1.0-max (0,823), o 3,9 punktu przed basal-2.0-max. Ich przedziały ufności się nie nakładają. Trzy kolejne modele 12B wyprzedzają basal-2.0-max o 0,1–0,5 punktu, a ich przedziały ufności nakładają się z przedziałem max, więc tej kolejności nie traktujemy jako rozstrzygniętej. W klasie 3–5B basal-omni-1.0-mini (0,769) wyprzedza basal-2.0 (4.5B) o 4,0 punktu, także bez nakładania się przedziałów. Najlepszy otwarty model na tablicy, René-1 31B FP8, ma 0,854, czyli 7 punktów więcej niż basal-2.0-max i 3,1 punktu więcej niż basal-omni-1.0-max.

Najsłabsza kategoria to reguły i terminy: mini 0,308, 4.5B 0,350, max 0,378 (basal-omni: mini 0,352, max 0,418). Najlepszy otwarty model ma tu 0,540, a czołowe modele API 1,000. Najlepiej wypadają kierowanie zgłoszeń, decyzje w systemach RAG i prawdziwe dokumenty: max ma w nich 0,966–0,974. Wyniki według kategorii →

Ograniczenia

  • Większe modele i API są trafniejsze. Jeśli liczy się wyłącznie trafność, a dane mogą opuścić firmę, czołowe modele API rozstrzygają Werdykt prawie bezbłędnie.
  • Nie każdy test idzie w górę. Na panelu angielskim wszystkie rozmiary tracą od 1,5 do 3,6 punktu, a mini traci 1,4 punktu na polskich decyzjach.
  • Obliczenia zostaw kodowi. Reguły, terminy i dokładne progi to najsłabszy punkt decyzji w jednym przebiegu. Licz je w kodzie albo użyj "facts": "auto".
  • Kalibracja jest ostrożna. Z dołączonym plikiem max_error: 0.01 odracza wszystkie decyzje. Użyj 0,05 albo dobierz progi na własnych danych. W Werdykcie przy celu 5% obserwowany błąd wyniósł od 4,5% do 5,1%.
  • Tryb myślenia jest eksperymentalny. W Werdykcie obniża trafność i kalibrację, a przepustowość spada niemal trzykrotnie.
  • basal-omni jest eksperymentalny. Obrazy i dźwięk czyta bez treningu na mediach, z kalibracją dopasowaną na tekście, i działa tylko w trybie eager, bez portów i trybu myślenia (szczegóły).
  • Funkcje eksperymentalne. Eksperymentalne są act, multi z wieloma etykietami i dowody w tekście. Kontekst mini ma 8 192 tokeny.
  • Dostarczaj fakty i aktualne zasady. Wiedza małego modelu jest ograniczona, a przepisy się zmieniają.
  • Zachowaj nadzór nad istotnymi decyzjami. Decyzje o poważnych skutkach dla ludzi wymagają kontroli człowieka.

Jak zacząć

Zacznij od 4.5B. Wybierz mini, gdy liczy się wolumen albo mały sprzęt, a max, gdy najważniejsza jest trafność. Do obrazów i dźwięku użyj basal-omni (instalacja w części o basal-omni). Każdy model ma własny plik kalibracji. Jeśli przechodzisz z basal-1.5, sprawdź od nowa progi pewności i udział decyzji automatycznych.

TERMINAL · NVIDIA GPU
uv venv --python 3.12 ~/basal-env && source ~/basal-env/bin/activate
uv pip install torch==2.11.0 --index-url https://download.pytorch.org/whl/cu128
uv pip install "basal[fp8] @ https://github.com/rkinas/basal/archive/refs/tags/v2.0.0.tar.gz"
basal-serve --model Remek/basal-2.0-4.5B --mode fast --port 8000
JSON · JEDEN STAN, DWA PYTANIA, PRÓG BŁĘDU
{
  "state": "Klient: od wczoraj nie mogę zalogować się do bankowości internetowej, system pokazuje błąd hasła.",
  "questions": {
    "dept": {
      "type": "choice",
      "instructions": "Do którego działu skierować zgłoszenie?",
      "criteria": {"cards": "Reklamacje kart", "online": "Wsparcie bankowości elektronicznej", "loans": "Kredyty"},
      "max_error": 0.05
    },
    "urgent": {"type": "noul", "instructions": "Czy klient nie może korzystać z usługi?"}
  }
}

Wyślij jako POST do /v1/systemone. Każda odpowiedź zawiera prawdopodobieństwo każdej opcji, wybrany klucz i pewność. Jeśli model nie osiąga progu, odpowiedź ma "deferred": true.

TERMINAL · APPLE SILICON (MLX)
uv pip install "basal[mlx] @ https://github.com/rkinas/basal/archive/refs/tags/v2.0.0.tar.gz"
basal-serve --model Remek/basal-2.0-4.5B-MLX-8bit --mode mlx --port 8000
TERMINAL · OLLAMA (GGUF)
hf download Remek/basal-2.0-4.5B-GGUF --local-dir basal-2.0-4.5B-GGUF
cd basal-2.0-4.5B-GGUF && ollama create basal-2.0-4.5b:q8_0 -f Modelfile.Q8_0
basal-serve --model ./basal-2.0-4.5B-GGUF --mode ollama --ollama-model basal-2.0-4.5b:q8_0

Samo ollama run zwraca tylko tekst. Typowane odpowiedzi z prawdopodobieństwami zwraca basal-serve działający przed Ollama. Wiele pozycji z pliku przetworzysz poleceniem basal-run --input items.jsonl --output answers.jsonl.