Projekt

Model decyzyjny basal na Raspberry Pi 5: 1000 decyzji na CPU

Model decyzyjny basal-omni-pico (GGUF Q8_0) na energooszczędnym Raspberry Pi 5, które może działać 24/7 i odciąża kartę graficzną: 1000 decyzji z 6 polskich zbiorów, trafność 74,1%, mediana 1,88 s, 2,4 GB RAM i dobrze skalibrowana pewność, która pozwala oddać automatowi 38% decyzji przy 95% trafności.

Okładka wpisu: napis Model decyzyjny basal na Raspberry Pi 5, liczby 74,1% trafności, 1,88 s mediany i 2,4 GB RAM oraz słupki trafności w sześciu zbiorach testowych
Na tej stronie
  1. Dlaczego Raspberry Pi, a nie karta graficzna
  2. Czym jest model decyzyjny i czym różni się od czatu
  3. Stanowisko testowe
  4. Rozgrzewka: 9 scenariuszy z życia
  5. Wyniki na 1000 decyzjach
  6. Pewność, której da się zaufać
  7. Skąd biorą się pomyłki
  8. Czas i temperatura
  9. Pełny raport
  10. Do czego to się nadaje
  11. Zastrzeżenia

Postawiłem model decyzyjny basal-omni-pico w kwantyzacji Q8_0 na Raspberry Pi 5 z 8 GB RAM, bez karty graficznej i bez chmury, i przepuściłem przez niego 1000 decyzji z sześciu polskich zbiorów testowych. Wynik z 24 października 2026: trafność 74,1%, mediana 1,88 s na decyzję, 2,4 GB RAM i procesor, który nie doszedł do dławienia. Najciekawsze nie jest jednak samo 74%, tylko to, że model wie, kiedy nie wie.

Największy plus całego rozwiązania to jednak miejsce, w którym działa. Raspberry Pi jest energooszczędne, bierze bardzo mało prądu i może pracować bez przerwy, a karta graficzna zostaje wolna na cięższe zadania.

74,1%trafność ogółem95% CI 71,3%-76,7%
1,88 smediana decyzjip95 3,75 s
1 696decyzji na godzinę1000 testów w 36 min
2,4 GBRAM serweraz 8 GB na Pi
76 °Cmaks. temperatura CPUbez dławienia

Dlaczego Raspberry Pi, a nie karta graficzna

Bo decyzje mają się dziać cały czas, a nie tylko wtedy, gdy włączę mocny komputer. To najważniejszy wniosek z tego testu, ważniejszy niż sama trafność.

  • Mało prądu. Raspberry Pi 5 pracuje na zasilaczu USB-C i nawet pod pełnym obciążeniem pobiera kilka watów. Karta graficzna z komputerem, na którym stoi, bierze wielokrotnie więcej już na biegu jałowym.
  • Może być włączone ciągle. Malinka chodzi 24/7 cicho, mieści się w dłoni i nie generuje rachunku, który boli. Model decyzyjny jest wtedy po prostu usługą w sieci domowej albo firmowej, zawsze pod ręką dla N8N, Home Assistanta czy skryptu.
  • GPU zostaje wolne. Klasyfikacja zgłoszenia czy intencji to proste zadanie i szkoda na nie karty graficznej. Ta może w tym czasie robić rzeczy, których Pi nie udźwignie: większe modele językowe, OCR, transkrypcję, generowanie obrazów.

Podział jest prosty: lekkie, ciągłe decyzje na Raspberry Pi, ciężkie przetwarzanie na GPU. Pi odsiewa, kieruje i rozpoznaje intencje, a do karty graficznej trafia tylko to, co naprawdę wymaga jej mocy.

Czym jest model decyzyjny i czym różni się od czatu

Model decyzyjny nie pisze odpowiedzi, tylko wybiera z zamkniętej listy i podaje prawdopodobieństwo każdej opcji. Pytasz "do którego działu trafia to zgłoszenie", dajesz trzy działy, dostajesz online z pewnością 0,998 i rozkład na pozostałe dwa.

basal obsługuje cztery typy pytań, wszystkie przetestowane w tym przebiegu:

  • choice - jedna opcja z listy (intencja, dział, wydźwięk),
  • noul - tak/nie z prawdopodobieństwem "tak" (phishing, zgodność z regulaminem),
  • score - poziom na skali z legendą, plus średnia ważona (ocena 1-5),
  • multi - kilka opcji naraz z progiem 0,5 (zgłoszenie z dwoma problemami).

Dla automatyzacji to wygodniejszy kształt niż czat: odpowiedź od razu da się wpiąć w if, a liczba przy niej mówi, czy w ogóle warto ją wpinać.

Stanowisko testowe

ElementWartość
urządzenieRaspberry Pi 5 Model B Rev 1.1
systemLinux 6.12.34+rpt-rpi-2712, aarch64
procesor4 rdzenie, sam CPU
RAM8 GB, serwer basala zajmuje 2,4 GB
modelbasal-omni-pico, GGUF Q8_0, serwer basal 2.4.1
trybjedno zapytanie naraz, czas mierzony po stronie serwera

Czas to czas serwera na Pi, bez sieci. Klient stał na innej maszynie, temperatura była odczytywana przez SSH co 20 decyzji.

Rozgrzewka: 9 scenariuszy z życia

Zanim poszedł pełny test, sprawdziłem, czy model w ogóle rozumie polskie polecenia w każdym typie pytania. Dziewięć scenariuszy, 9 na 9 zaliczonych.

ScenariuszOdpowiedź modeluCzasTokeny
Bank: routing zgłoszeniadział: online (1,00), pilne: tak 0,771,77 s232
Inteligentny dom: intencjalight (1,00)0,85 s111
Phishing w SMS-ieoszustwo: tak 0,960,81 s107
Opinia negatywnapoziom 0, średnio 0,171,09 s130
Opinia pozytywnapoziom 4, średnio 3,890,93 s123
Kilka problemów narazbilling, delay2,65 s354
Zgodność z regulaminemzgodny: tak 0,200,88 s110
English: customer intentrefund (1,00)0,76 s100
Czujnik (stan w JSON)alarm (0,76)1,19 s151

Krótkie pytanie powtórzone 20 razy: mediana 847 ms, p95 895 ms, rozrzut 844-902 ms, czyli 1,17 decyzji na sekundę. Pi trzyma czas bardzo równo.

Wyniki na 1000 decyzjach

Sześć zbiorów, po około 167 losowych przykładów z każdego (ziarno 42). Kolumna "zgadywanie" to wynik, jaki dałoby wybieranie zawsze najczęstszej klasy w tej próbce - punkt odniesienia, poniżej którego model nic nie wnosi.

ZbiórTypTrafność95% CIZgadywanieMediana
Wydźwięk opinii (PolEmo 2.0-IN) - najlepszy wynikchoice, 4 klasy90,4%85%-94%45%2,76 s
Intencja asystenta głosowego (MASSIVE pl)choice, 18 dziedzin86,2%80%-91%13%3,14 s
Szkodliwy wpis (CBD)noul, po równo75,4%68%-81%50%0,99 s
Czy odpowiedź pasuje do pytania (DYK)noul, po równo73,7%66%-80%50%1,47 s
Wynikanie między zdaniami (CDSC-E)choice, 3 klasy68,1%61%-75%34%1,40 s
Ocena gwiazdkowa 1-5 (Allegro Reviews)score50,6%43%-58%39%2,19 s

Wydźwięk i intencja to zadania, które ten model robi dobrze - przy intencji skok z 13% zgadywania do 86% jest największy w całym teście. Ocena gwiazdkowa wygląda słabo tylko na pierwszy rzut oka: dokładną liczbę gwiazdek model trafia w 50,6% przypadków, ale z dokładnością do jednej gwiazdki w 87%, ze średnim błędem 0,83. Pomylenie czwórki z piątką rzadko ma znaczenie biznesowe.

Najtrudniejsze okazało się wynikanie między zdaniami (CDSC-E), gdzie trzeba ocenić relację logiczną dwóch zdań. To zadanie dla większych modeli niż wersja pico.

Pewność, której da się zaufać

To jest powód, dla którego ten test w ogóle piszę. Błąd kalibracji (ECE) wyszedł 0,060 - kiedy model deklaruje 80% pewności, ma rację mniej więcej w 80% przypadków. Przy takiej kalibracji liczba przy odpowiedzi przestaje być ozdobą i staje się progiem do automatyzacji:

  • przy progu pewności 0,92 38% decyzji idzie automatem z trafnością 95%,
  • przy niższym progu 54% decyzji idzie automatem z trafnością 90%,
  • reszta trafia do człowieka.

W praktyce to wzorzec "automat bierze pewne, człowiek resztę". Zamiast pytać, czy model ma 74% czy 90%, ustawiasz próg pod akceptowalny poziom pomyłek i dostajesz odpowiedź, ile ręcznej pracy znika.

Skąd biorą się pomyłki

Najpewniejsze błędy są pouczające. Sześć z ośmiu dotyczy intencji asystenta głosowego i większość to pomyłki na granicy kategorii, a nie absurdy:

PoleceniePoprawnieModelPewność
czy są nowe wiadomości w mojej skrzynceemailnews100%
usuń moją płatność za samochód z mojego kalendarzalistscalendar98%
czy ja mam jakieś powiadomienia z social mediówcalendarsocial98%
jakie grupy są w moich kontaktachlistsemail97%

"Wiadomości" jako newsy zamiast poczty, "kalendarz" jako kalendarz, choć etykieta mówi o liście. Część z tych przykładów człowiek też by zakwestionował. To dobre miejsce na start, jeśli chcesz dopisać opis kategorii w pytaniu do modelu.

Czas i temperatura

Czas decyzji rośnie liniowo z długością tekstu: każdy token wejścia kosztuje około 10 ms. Krótkie zgłoszenie (100 tokenów) to niecała sekunda, długa opinia (800 tokenów) to około 8 sekund. Zbiory z dłuższymi tekstami - intencja (średnio 338 tokenów) i wydźwięk (333) - mają najwyższą medianę, choć same zadania nie są trudniejsze.

Temperatura CPU wzrosła z około 50 °C do 76 °C i ustabilizowała się po około 400 decyzjach. Raspberry Pi 5 zaczyna obniżać taktowanie od 80 °C, więc przez 36 minut ciągłej pracy nie doszło do dławienia, a mediana krocząca czasu nie rosła z upływem testu. Przy pracy 24/7 w zamkniętej obudowie zapas 4 °C to mało - aktywne chłodzenie warto mieć.

Pełny raport

Raport testu basal-omni-pico na Raspberry Pi 5: trafność w sześciu zbiorach, wykres kalibracji, odsetek decyzji do automatyzacji, czas od długości tekstu, temperatura CPU i lista najpewniejszych pomyłek
Raport z przebiegu 2026-10-24 10:19: 1000 decyzji, Raspberry Pi 5, basal-omni-pico Q8_0 na CPU.

Do czego to się nadaje

Raspberry Pi 5 z basal-omni-pico to 1 696 decyzji na godzinę lokalnie, bez abonamentu, bez wysyłania tekstu na zewnątrz i na urządzeniu, które bierze kilka watów i może pracować bez przerwy. Sensowne zastosowania to te, gdzie tekst jest krótki, a pomyłkę da się wyłapać progiem pewności:

  • routing zgłoszeń i maili do działu,
  • intencje poleceń w inteligentnym domu,
  • wstępny filtr phishingu i szkodliwych treści,
  • wydźwięk opinii klientów,
  • decyzje na podstawie stanu czujnika podanego jako JSON.

Słabiej wypada przy długich tekstach (czas) i przy zadaniach wymagających rozumowania logicznego (CDSC-E).

Zastrzeżenia

Zbiory to splity testowe MASSIVE (pl), PolEmo 2.0-IN, CBD, DYK i CDSC-E z benchmarku KLEJ oraz Allegro Reviews. Zbiory tak/nie i CDSC-E losowane po równo z każdej klasy. Żaden tekst nie został obcięty (limit 4096 tokenów). Nie wiadomo, czy te zbiory były w danych treningowych basala, więc wyniki traktuj jako orientacyjne. Na własnych danych zmierz przed wdrożeniem - to kilkadziesiąt minut pracy Pi.

Wszystkie wpisy Strona główna

Następny krok

Wolisz, żeby ktoś to wdrożył za Ciebie?

Bezpłatna rozmowa, 30 minut. Sprawdzimy, gdzie u Ciebie ucieka czas i czy da się go odzyskać.