Pierwsze kroki z Lokalnym AI

Zbuduj własne, prywatne AI. Zobacz kompleksowe zestawienie poradników – od instalacji pierwszej aplikacji po zaawansowanych agentów. Sprawdź poradnik

pplx-decider-flash-v1.2: Lekki model decyzyjny od Perplexity AI

zajawka nowosci
Streszczenie AI

Model pplx‑decider‑flash‑v1.2 to 4‑billion‑parameterowy system decyzji oparty na otwarto‑źródłowym Qwen3.5‑4B, który zamiast generować tekst działa wyłącznie jako klasyfikator typu “deterministyczny” – zwraca jedynie prawdopodobieństwa i odpowiada na pytania w formie sparsowanych odpowiedzi (np. joint requests). Dzięki całkowitemu wykluczeniu klasycznego „lm_head” oraz zastosowaniu dedykowanej głowicy klasyfikacyjnej, Flash oferuje drastycznie niższe opóźnienia i zużycie RAM (≈9 GiB VRAM) przy zachowaniu wydajności bliskiej modelu 27‑billion‑parameterowego. To sprawia, że model jest idealnym komponentem produkcyjnym dla aplikacji wymagających szybkich, precyzyjnych decyzji czy klasyfikacji wieloetykietowych.

Spis treści:

pplx-decider-flash-v1.2 to wyspecjalizowany model decyzyjny o architekturze 4B parametrów, opracowany przez Perplexity AI na bazie otwartoźródłowego fundamentu Qwen3.5-4B. W przeciwieństwie do tradycyjnych modeli generatywnych (LLM), które produkują swobodny tekst token po tokenie, rodzina modeli Decider została zaprojektowana wyłącznie do wykonywania deterministycznych, typowanych klasyfikacji oraz estymacji prawdopodobieństwa bezpośrednio z przekazanego kontekstu. Wariant Flash stanowi destylowaną, około siedmiokrotnie mniejszą wersję flagowego modelu pplx-decider-v1.2 (27B), oferując drastyczną redukcję opóźnień i kosztów infrastrukturalnych przy zachowaniu większości zdolności analitycznych większego pierwowzoru.

Architektura i mechanika działania modeli decyzyjnych

Tradycyjne podejście do sterowania przepływem w systemach agentowych (LLM routing) opiera się zazwyczaj na promptowaniu modeli czatowych o wygenerowanie formatu JSON lub ograniczeniu próbkowania gramatykami (Structured Outputs). Wiąże się to ze znacznym narzutem obliczeniowym fazy autoregresyjnej (dekodowania) oraz problemem niestabilności formatowania. Seria Decider eliminuje ten narzut poprzez całkowite porzucenie standardowej głowicy językowej (lm_head) na rzecz dedykowanej głowicy klasyfikacyjnej.

Podstawą modelu jest hybrydowy szkielet Qwen3.5, do którego dołączono wyspecjalizowaną macierz projekcji decyzyjnej zapisaną w formacie BF16 o wymiarach 2560 (plik readout.safetensors). Kluczowe cechy mechanizmu wnioskowania obejmują:

  • Nieprzyczynowa uwaga (Noncausal Attention): Pełne warstwy atencji przetwarzają całą sekwencję dwukierunkowo, co pozwala wszystkim pytaniom i stanowi wejściowemu widzieć się nawzajem, podczas gdy warstwy liniowe zachowują natywną przyczynowość.
  • Odczyt przez tokeny znacznikowe (Marker Tokens): Klasyfikacja nie następuje na ostatnim tokenie generacji, lecz przy dedykowanych tokenach markerów (<|fim_suffix|>) umieszczanych bezpośrednio po opcjach każdego zdefiniowanego pytania.
  • Destylacja pełnego rozkładu (Full-Distribution Distillation): Model uczeń (4B) podczas treningu przyswajał pełne rozkłady prawdopodobieństwa modeli nauczycielskich 27B, a nie tylko twarde etykiety.
  • Model Souping: Połączono wagi z wielu niezależnych przebiegów treningowych metodą uśredniania wag (weight averaging), co poprawiło uogólnianie na zadaniach spoza zbioru treningowego.
  • Multimodalność: Model natywnie przyjmuje obrazy o rozdzielczości do 1,6 MP (1 638 400 pikseli, co odpowiada około 1600 pozycjom w sekwencji tokenów).

Prawdopodobieństwa są kalibrowane za pomocą wyuczonej temperatury (domyślnie T = 1.554 dla tego punktu kontrolnego). Skalowanie logitów wektora decyzyjnego opisuje wzór:

P(y = c_i \mid x) = \frac{\exp(z_i / T)}{\sum_{j \in \mathcal{C}} \exp(z_j / T)}

gdzie zi oznacza surowy logit skojarzony z poprawną opcją decyzyjną ci, a C jest podzbiorem aktywnych opcji (od 1 do 255) przekazanych w zapytaniu.

Format zapytań i typowane decyzje

Wersja v1.2 wprowadza wspólny format sekwencji (Joint Request Format). Użytkownik przekazuje stan (state) w postaci surowego tekstu, zserializowanego JSON-a lub listy, ewentualne obrazy oraz słownik pytań. Model obsługuje trzy główne typy pytań:

  • noul (od ang. no/yes): Determinuje prawdopodobieństwo wartości logicznej prawda/fałsz. Wartość wyjściowa stanowi bezpośrednio P(true). Do sortowania i rankingu zaleca się stosowanie marginesu logitów (ztrue - zfalse), co zapobiega nasycaniu się skrajnych prawdopodobieństw.
  • choice: Wybór jednej z opcji w zbiorze od 1 do 255 wariantów. Zwraca wybraną etykietę, pełny wektor rozkładu prawdopodobieństwa oraz wskaźnik pewności (confidence).
  • score: Uporządkowana rubryka oceny (od 2 do 255 poziomów, np. stopnie zadowolenia lub ryzyka). Model wylicza rozkład na poziomach oraz zwraca wartość oczekiwaną indeksu (expected score).

Zamiast generować tekst, model odczytuje stan i zwraca prawdopodobieństwa, co pozwala aplikacjom bazować na twardych progach numerycznych (thresholding) bez parsowania odpowiedzi tekstowych.

Przykładowe użycie biblioteki pplx_decider w środowisku Python:

Python
import sys
from pathlib import Path
from huggingface_hub import snapshot_download
checkpoint = Path(snapshot_download("perplexity-ai/pplx-decider-flash-v1.2"))
sys.path.insert(0, str(checkpoint / "source" / "src"))
from pplx_decider import Decider
decider = Decider.from_pretrained(checkpoint, device="cuda", fast=True)
request = {
    "state": "Kompilacja kontenera w CI/CD kończy się błędem OOMKilled w kroku budowania binarnego Go.",
    "questions": {
        "kategoria": {
            "type": "choice",
            "instructions": "Wskaż zespół odpowiedzialny za rozwiązanie problemu.",
            "criteria": {
                "devops": "Problemy z infrastrukturą agentów, konfiguracją zasobów i CI/CD",
                "backend": "Optymalizacja kodu źródłowego i zależności aplikacji",
                "qa": "Błędy w automatycznych testach integracyjnych"
            }
        },
        "blokada_wydania": {
            "type": "noul",
            "instructions": "Czy problem całkowicie uniemożliwia wdrożenie na produkcję?"
        },
        "poziom_krytycznosci": {
            "type": "score",
            "criteria": ["niski", "umiarkowany", "wysoki", "krytyczny"]
        }
    }
}
response = decider.decide(request)
print(response["answers"])

Wydajność i wyniki w benchmarkach

W ewaluacji przeprowadzonej przez Perplexity AI na benchmarku Decision Index 0.3 model pplx-decider-flash-v1.2 osiąga wyniki zbliżone do modelu o rozmiarze 27 miliardów parametrów, wymagając jednocześnie jedynie około 9 GiB pamięci VRAM GPU (dla wag BF16) w porównaniu do około 52 GiB dla bazy 27B.

Obszar ewaluacji (Decision Index 0.3)
Flash v1.2 (Joint Requests)
Flash v1.2 (Jedno pytanie/zapytanie)
Wersja pełna v1.2 27B (Joint)
Wiedza (Knowledge) 42.0 41.4 56.3
Język (Language) 63.3 65.0 72.8
Wyszukiwanie (Retrieval) 64.8 65.2 68.4
Narzędzia (Tools) 76.7 80.9 84.4
Sztuka (Arts) 46.8 46.8 56.2
Wynik łączny (Overall Decision Index) 58.88 60.05 68.09
Vision Decision Index (do 1.6 MP) 72.53 nd.* 77.43

* Wartość „nd.” oznacza, że benchmark Vision Decision Index jest ewaluowany wyłącznie w trybie zapytań łączonych (joint).

Badania nad modelem wykazały istotną zależność dotyczącą łączenia pytań (joint requests). O ile większy wariant 27B zyskuje na grupowaniu zapytań, o tyle dla wariantu Flash 4B bezpieczniejszą domyślną konfiguracją jest wysyłanie jednego pytania na zapytanie. Grupowanie przynosi korzyści wyłącznie wtedy, gdy pytania reprezentują ściśle powiązane aspekty tej samej decyzji (np. wieloetykietowa klasyfikacja typu „wybierz wszystkie pasujące” z zyskiem rzędu +6.6 pkt w SATA-Bench). Przy niezależnych zadaniach (np. ranking narzędzi czy dokumentów w RAG) łączenie pytań obniża precyzję ze względu na mniejszą pojemność parametrów modelu 4B.

Praktyczne zastosowania inżynieryjne

Połączenie ultramałego narzutu inferencji, braku tokenów wyjściowych (output tokens = 0) oraz okna kontekstowego sięgającego teoretycznie 262 144 tokenów (z pełnym treningiem do 32k) czyni model skutecznym komponentem w architekturach produkcyjnych:

  • Inteligentny routing agentów i bramki RAG: Klasyfikowanie intencji użytkownika, decydowanie o konieczności przeszukania wektorowej bazy wiedzy oraz wybór konkretnego narzędzia lub bazy danych.
  • Reranking i filtrowanie kontekstu: Obliczanie prawdopodobieństwa dopasowania dokumentu do zapytania przy użyciu pytania typu noul i sortowanie według marginesu logitów bez konieczności uruchamiania ciężkich cross-encoderów.
  • Wysokoprzepustowa moderacja treści i triage: Błyskawiczna analiza zgłoszeń serwisowych, wiadomości e-mail oraz obrazów pod kątem naruszeń regulaminu, sentymentu i priorytetu obsługi.
  • Lokalne wdrożenia brzegowe (Edge / On-Premise): Dostępność kwantyzacji GGUF (np. wersja Q8_0 zajmująca 5,16 GB) umożliwia uruchomienie systemu decyzyjnego na pojedynczych konsumenckich kartach graficznych lub układach Apple Silicon za pośrednictwem środowiska llama.cpp.

pplx-decider-flash is a 4B decision model from Perplexity, built on Qwen3.5-4B

Rozmiary:
4b
$ ollama run pplx-decider-flash

Źródła

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

Powiązane posty

Powrót do góry