basal-1.5 — trzy modele, więcej możliwości
Dynamiczny klasyfikator definiowany w każdym zapytaniu, bez dodatkowego treningu. Trzy rozmiary, nowe schematy odpowiedzi, szybsze przetwarzanie wielu pytań i pełne wyniki benchmarku Werdykt — także po polsku.
basal-1.5 to pierwsze publiczne wydanie od basal-1.0: trzy otwarte modele decyzyjne dla polskiego i angielskiego, szybszy silnik dla zapytań z wieloma pytaniami, nowe typy pytań, dowody w tekście i więcej sposobów uruchomienia — od GPU NVIDIA po Maca z Apple Silicon i Ollama.
Zasada działania się nie zmienia. Klasyfikator definiujesz dynamicznie, zależnie od potrzeb, bez dodatkowego trenowania. W każdym zapytaniu podajesz kontekst, pytanie i dozwolone odpowiedzi, a basal zwraca prawdopodobieństwo każdej z nich w jednym przebiegu modelu, bez generowania tekstu. Model możesz uruchomić lokalnie, bez powierzania danych innym podmiotom.
Co nowego od basal-1.0
- Lepsze tam, gdzie 1.0 było słabsze: długie, prawdziwe dokumenty, decyzje w systemach RAG, odpowiedzi „nie da się ustalić”, trudniejsze decyzje po angielsku (ocena odpowiedzi, kompromisy, pułapki, polityki, niejednoznaczne prośby), wybór następnego kroku agenta i oceny na skali. Wydanie obejmuje również etap uczenia ze wzmocnieniem (RL).
- Wyniki: na zamkniętym teście 3 000 nowych polskich decyzji, utworzonych po zamrożeniu wag i ocenionych raz, basal-1.5 osiąga 93,1% wobec 87,4% dla basal-1.0 (+5,7 pkt, 95% przedział [+4,5; +6,8]); na teście decyzji z basal-1.0 — 92,3% wobec 88,6%. Na panelu 10 publicznych zadań angielskich basal-1.5 wyprzedza basal-1.0 (68,8% wobec 67,1%), a na publicznym angielskim benchmarku decyzyjnym osiąga 76,2% (basal-1.0: 74,0%).
- Wiele pytań, jeden przebieg dzięki SOAM. SOAM to state once, ask many — jeden kontekst, wiele pytań. Silnik przetwarza kontekst raz, a wszystkie pytania korzystają ze wspólnych obliczeń. Każde pytanie jest oceniane niezależnie od pozostałych. W porównaniu silników na H100 5 pytań zajmuje 37,8 ms zamiast 111,7 ms, czyli około 3 razy krócej. W fp32 odpowiedzi są takie same jak przy osobnych zapytaniach.
- Nowe typy i funkcje — tylko basal. Rozszerzamy System-One o własne schematy i funkcje — nowe „programy” w mózgu naszego systemu:
multi(które etykiety pasują),act(akcja o najniższym oczekiwanym koszcie według Twoich zasad albo przekazanie człowiekowi),"evidence": true(fragment tekstu, który wspiera odpowiedź) i"facts": "auto"(wyliczone daty i kwoty dla polskich dokumentów). - Nowe sposoby uruchomienia: SGLang i vLLM, Apple Silicon (MLX 8-bit i 4-bit) oraz Ollama i llama.cpp (GGUF).
- Werdykt — nasz autorski, ukryty benchmark do testowania modeli decyzyjnych po polsku i po angielsku.
Trzy rozmiary, ten sam sposób użycia
basal-1.5 (4,5 mld parametrów) to model główny: najlepszy balans trafności i szybkości. basal-1.5-max (11 mld) to najtrafniejszy model rodziny: długie dokumenty, ocena odpowiedzi i trudne decyzje po angielsku. basal-1.5-mini (1,5 mld) jest destylowany z max i najszybszy — do dużych wolumenów, laptopów i małych GPU. Wszystkie trzy mają to samo API, ten sam format promptu i tę samą procedurę kalibracji.
Każdy model jest dostępny w BF16, jako MLX 8-bit / 4-bit i GGUF, a także w FP8 dla vLLM na GPU NVIDIA Hopper, Ada i Blackwell. Dla basal-1.5 (4.5B) oraz basal-1.5-max dostępne jest również FP4 w formacie NVFP4, przeznaczone na GPU Blackwell.
Wagi i silnik udostępniono na licencji Apache 2.0; pochodzenie modeli opisują LICENSE i NOTICE.
Werdykt: jeden test, jeden protokół
Werdykt to 10 kategorii decyzji po polsku i po angielsku: reguły i terminy, prawdziwe dokumenty, długie dokumenty (także z wstrzykniętymi poleceniami), RAG, umowy, routing, oceny na skali, ocena odpowiedzi, następny krok agenta i „nie da się ustalić”. Każdy model dostaje ten sam prompt i jedno wywołanie na pytanie; nieodczytana odpowiedź liczy się jako błąd. Otwarte modele uruchamiamy na jednym H100, modele API przez OpenRouter.
Zbiór jest zamknięty: publikujemy protokół, wyniki i kilka przykładów na kategorię, ale nie same pytania — żeby nie trafiły do danych treningowych żadnego modelu, także naszego. Żadne pytanie, dokument ani fragment Werdyktu nie występuje w danych treningowych basal.
| Model | PL + EN | Czas na decyzję | Koszt / 1000 decyzji |
|---|---|---|---|
| basal-1.5 · 4.5B | 0,721 | 33,8 ms (SGLang; 31,2 ms w trybie fast) | 0,048 $ |
| basal-1.5-max · 11B | 0,773 | 67,1 ms (SGLang; 44,7 ms w trybie fast) | 0,108 $ |
| basal-1.5-mini · 1.5B | 0,607 | 14,2 ms (tryb fast) | 0,054 $ |
| basal-1.0 · 4.5B | 0,660 | 26,5 ms | 0,135 $ |
| Jev 1.13.0 · API | 0,816 | 286 ms | 0,071 $ |
| Cygnet · 12B¹ | 0,785 | 39,6 ms | 0,052 $ |
| Winnow-12B Q8 · 12B¹ | 0,785 | 126 ms | 0,260 $ |
Wybrane wiersze; wyżej w pełnej tabeli są też czołowe modele API (0,983–0,996). Koszt modeli otwartych to czas jednego H100 po 3,95 $ za godzinę przy pełnym obciążeniu, modeli API — cena dostawcy. ¹ Odstępstwo od protokołu (opis w pełnej tabeli). Pełna tabela, wyniki per kategoria i przykłady pytań: Werdykt. Modele lub rodziny modeli biorące udział w budowie albo sprawdzaniu pytań oznaczamy †; ich wynik nie jest niezależny.
Czołowe niezależne modele API osiągają od 98,3% do 99,6%. Wśród systemów decyzyjnych wyżej niż basal są Jev, Cygnet i Winnow. Werdykt pokazuje więc kompromis: basal może działać lokalnie, szybko wybierając z podanych opcji, przy niższej trafności niż największe modele.
Względem basal-1.0 4.5B nowy model główny poprawia wynik o 6,1 punktu procentowego, a max o 11,2. Mini zyskuje 8,4 punktu względem poprzednika 1.5B, zachowując zbliżony czas decyzji. Najszybszy model nie musi być najtańszy: w tym teście 4.5B na SGLang miał niższy koszt na 1 000 decyzji niż mini, dzięki przepustowości przy pełnym obciążeniu.
Polski, kategoria po kategorii
W raporcie „basal-1.5 in Polish” model główny uzyskuje 72,4%, max 77,7%, a mini 61,9% na polskiej części Werdyktu. Pełny ranking i rozbicie na 10 kategorii pozwalają sprawdzić konkretny rodzaj zadania. Przy około 250 pytaniach na kategorię niewielkich różnic nie warto traktować jak rozstrzygającej przewagi.
Milisekundy, także przy wielu pytaniach
W teście obciążeniowym przez HTTP na jednym H100 (tryb fast, bf16) jedno pytanie do basal-1.5 zajmuje 13,7 ms (mediana; p95 23,8 ms), a serwer obsługuje 64,4 decyzji na sekundę przy 32 równoczesnych klientach. Nowy silnik przyspiesza zapytania z wieloma pytaniami o ten sam stan; pojedynczemu pytaniu SOAM nic nie daje.
| Pytania w zapytaniu | silnik basal-1.0 | silnik basal-1.5 |
|---|---|---|
| 5 | 111,7 ms | 37,8 ms |
| 12 | 222,0 ms | 80,3 ms |
Te same zapytania i ten sam serwer, pomiar bez HTTP (nieporównywalny z testem HTTP powyżej); stany polskich decyzji o medianie 336 tokenów. W fp32 odpowiedzi są identyczne jak przy osobnych zapytaniach. Jak to działa.
Nowe funkcje Tylko basal
Autorskie rozszerzenie Systemu-One. Do podstawowych typów choice, noul i score w basal-1.5 dodajemy schematy multi i act oraz opcje evidence i facts. Pozwalają zdefiniować w zapytaniu więcej sposobów podejmowania decyzji i sprawdzania ich podstaw.
multi- Wiele etykiet. Które kategorie dotyczą zgłoszenia? Niezależne prawdopodobieństwo dla każdej etykiety i wybrany zestaw.
act- Decyzja z kosztami (eksperymentalne). Podajesz koszt błędnej akcji i koszt konsultanta; silnik wybiera najtańszą akcję albo przekazuje sprawę człowiekowi.
evidence- Dowód w tekście (eksperymentalne). Fragment stanu, który wspiera odpowiedź, z dokładnymi pozycjami znaków — do podświetlenia w interfejsie i zapisu w audycie.
facts- Fakty wyliczone. Dni tygodnia i dni wolne, odstępy między datami, netto/brutto i sumy dopisane do polskiego stanu: model czyta rachunki zamiast je liczyć.
{
"state": "Przesyłka dotarła z pękniętym ekranem. Proszę o zwrot pieniędzy.",
"questions": {
"department": {
"type": "choice",
"instructions": "Który zespół powinien przejąć sprawę?",
"criteria": {"support": "Pomoc techniczna", "returns": "Zwroty i reklamacje"}
},
"tags": {
"type": "multi",
"instructions": "Jakie tematy dotyczą zgłoszenia?",
"criteria": {"damage": "Uszkodzenie produktu", "refund": "Zwrot pieniędzy", "invoice": "Faktura"}
},
"evidence": {
"type": "noul",
"instructions": "Czy klient opisuje uszkodzenie produktu?",
"evidence": true
}
}
}Wyślij jako POST do /v1/systemone. To przykład definicji zapytania. multi zwraca niezależne prawdopodobieństwa etykiet, które nie muszą sumować się do 1. Dowody w tekście wymagają silnika PyTorch; są funkcją eksperymentalną.
Pięć przykładowych procesów PL-Workflows (reklamacje, faktury, kadry, przetargi, alerty SOC) pokazuje podział pracy: basal decyduje, kod liczy daty i kwoty, a niska pewność kieruje sprawę do człowieka. Status i opis funkcji: dokumentacja funkcji.
Jak uruchomić
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/v1.5.0.tar.gz"
basal-serve --model Remek/basal-1.5-4.5B --mode fast --port 8000uv pip install "basal[mlx] @ https://github.com/rkinas/basal/archive/refs/tags/v1.5.0.tar.gz"
basal-serve --model Remek/basal-1.5-4.5B-MLX-8bit --mode mlx --port 8000Na Macu z M4 Pro model 4.5B w MLX uzyskał medianę 587 ms w 8 bitach i 581 ms w 4 bitach. To pomiary lokalnego sprzętu i innego zestawu prób niż Werdykt na H100. Zgodność wyborów z wersją bazową wyniosła odpowiednio 99,2% i 97,0% — kwantyzację trzeba oceniać także pod kątem jakości.
Ollama (0.12.11 lub nowsza): pobierz repozytorium -GGUF, zarejestruj model z dołączonego Modelfile i uruchom basal-serve --mode ollama. Serwer basal działa przed Ollama i zachowuje obie kolejności opcji, kalibrację oraz typy multi i act. Szczegóły i pozostałe silniki: od pomysłu do pierwszej decyzji.
O czym pamiętać
- Obliczenia zostaw kodowi. Dokładne progi i rachunki są słabym punktem decyzji w jednym przebiegu; użyj kodu albo
"facts": "auto". - Dostarczaj fakty i aktualne zasady. Wiedza małego modelu jest ograniczona, a przepisy się zmieniają.
- Funkcje eksperymentalne z człowiekiem w pętli. Dowody w tekście i decyzje z kosztami mogą się zmienić w kolejnej wersji, a ich jakość sprawdź na własnych danych.
- Progi pewności dobieraj na swoich danych — zwłaszcza dla portów MLX i GGUF, które dziedziczą kalibrację modelu bf16.
- Mini nie spełnił celu 5% błędu. Na odłożonym teście obserwowany błąd wyniósł 5,3%. Dla tego modelu używaj progu 1%, jeśli potrzebujesz zweryfikowanego poziomu ryzyka, i sprawdź go na własnych danych.
- Dowód w tekście wymaga sprawdzenia. Zwrócony fragment jest dosłownym cytatem, ale nie stanowi gwarancji trafnego uzasadnienia. Dla 4.5B token-F1 względem wzorcowego cytatu wyniósł 0,53 na 200 dokumentach; mediana czasu wzrosła z 40 do 85 ms.
- Zachowaj nadzór nad istotnymi decyzjami. Decyzje o poważnych skutkach dla ludzi wymagają kontroli człowieka.
Pełna lista ograniczeń: README.
Materiały
Więcej informacji znajdziesz w dokumentacji projektowej. Cztery nagrania zastosowań — wyszukiwanie, kontrolę RAG, skrzynkę i Tabu — opisujemy w Basal Lab. Tamte pomiary dotyczą basal-1.0; wyniki nowego wydania są na osobnej stronie benchmarków.