Szybka odpowiedź

Zacznij od rankingu PIRB: to 41 polskich zadań wyszukiwania przygotowanych przez zespół OPI PIB. Na 30 września 2026 prowadzi w nim PolDense-1B (64,11 NDCG@10), przed modelami mającymi 8-9 mld parametrów. Popularne modele wielojęzyczne radzą sobie po polsku słabiej: Qwen3-Embedding-8B ma 60,93, multilingual-e5-large 57,29, a BGE-M3 55,98. Najwięcej zyskuje się na rerankerze: polski polish-reranker-roberta-v3 (443M) osiąga 65,17, blisko Qwen3-Reranker-8B. Ranking zawęża wybór do dwóch lub trzech kandydatów. Rozstrzyga test na około stu pytaniach z własnych dokumentów.

Dlaczego wybór modelu ma po polsku większe znaczenie

Model embeddingowy zamienia fragment tekstu w wektor, a wyszukiwanie znajduje fragmenty, których wektory leżą najbliżej wektora pytania. Jeśli model słabo rozumie język dokumentów, nawet najlepszy model językowy na końcu łańcucha dostanie złe fragmenty. Jak działa cały łańcuch, opisujemy w artykule jak RAG czyni AI mądrzejszym.

Polski utrudnia to na kilka sposobów:

  • Odmiana. „Umowa”, „umowy”, „umowie”, „umową”: jedno słowo, wiele form. Wyszukiwanie pełnotekstowe bez polskiego analizatora traktuje je jak różne słowa.
  • Mniej danych treningowych. Modele wielojęzyczne uczą się głównie na tekstach angielskich. Polski dostaje ułamek danych, a słownictwo specjalistyczne (prawo, medycyna, administracja) jeszcze mniej.
  • Mieszane dokumenty. W firmach polski miesza się z angielskim: umowy dwujęzyczne, dokumentacja techniczna, korespondencja. Model musi znaleźć polski fragment na angielskie pytanie i odwrotnie.

Benchmarki angielskie (np. MTEB dla angielskiego) mówią o tym niewiele. Dlatego warto patrzeć na rankingi polskie.

Czym jest PIRB i jak go czytać

PIRB (Polish Information Retrieval Benchmark) to benchmark opublikowany w 2024 r. przez Sławomira Dadasa, Michała Perełkiewicza i Rafała Poświatę z OPI PIB (Dadas i in., 2024). Obejmuje 41 zadań wyszukiwania w pięciu grupach:

  • MaupQA: automatycznie utworzony zbiór polskich pytań i odpowiedzi (IPI PAN);
  • PolEval-2022: zadania z konkursu PolEval, w tym pytania prawnicze;
  • BEIR-PL: zbiory BEIR przetłumaczone maszynowo na polski (Politechnika Wrocławska);
  • Web Datasets: prawdziwe pytania i odpowiedzi z polskich serwisów internetowych, w tym prawniczych i medycznych;
  • Inne: m.in. MFAQ i GPT-exams.

Główna miara to NDCG@10: ocena, czy właściwe fragmenty są w pierwszej dziesiątce wyników i jak wysoko. Ranking ma trzy sekcje: pojedyncze modele, wyszukiwanie hybrydowe i dwuetapowe wyszukiwanie z rerankerem.

Szerszy obraz daje PL-MTEB tych samych autorów: 30 zadań w pięciu kategoriach (klasyfikacja, klasteryzacja, klasyfikacja par, wyszukiwanie i podobieństwo semantyczne), włączony do MTEB (Poświata i in., 2024). Do RAG najważniejsza jest jednak kategoria wyszukiwania, a tę PIRB pokrywa najdokładniej.

Jedna uwaga dla porządku: PIRB, PolDense, rodzina mmlw i polskie rerankery pochodzą z tego samego zespołu. Benchmark jest otwarty, a kod ewaluacji publiczny (github.com/sdadas/pirb), ale to kolejny powód, żeby wynik rankingu potwierdzić na własnych danych.

Ranking modeli embeddingowych (stan na 30 września 2026)

Średnia NDCG@10 z 41 zadań, wyliczona z danych rankingu PIRB. Kolumna „prawo” to średnia z czterech zadań prawniczych: dwóch z PolEval-2022 (legal questions) oraz eprawnik i specprawnik.

ModelParametryPIRB, średniaPIRB, prawoLicencja
OPI-PIB/PolDense-1B1,0 mld64,1173,05Gemma
nvidia/llama-embed-nemotron-8b7,5 mld63,7369,39tylko niekomercyjna
BAAI/bge-multilingual-gemma29,2 mld63,2671,82Gemma
OPI-PIB/PolDense-400M395 mln63,2171,91Gemma
sdadas/stella-pl-retrieval-8k1,5 mld62,6968,38Gemma
OPI-PIB/PolDense-150M149 mln61,0768,54Gemma
Qwen/Qwen3-Embedding-8B7,6 mld60,9364,49Apache 2.0
Qwen/Qwen3-Embedding-4B4,0 mld59,1962,38Apache 2.0
sdadas/mmlw-retrieval-roberta-large435 mln58,4660,13Apache 2.0
intfloat/multilingual-e5-large560 mln57,2957,89MIT
BAAI/bge-m3 (dense)568 mln55,9859,80MIT
Qwen/Qwen3-Embedding-0.6B596 mln50,7150,80Apache 2.0
BM25 (bez modelu)b.d.41,8545,24b.d.

Co z tego wynika:

  • Rozmiar to nie wszystko. PolDense-400M ma wynik zbliżony do modeli 20 razy większych. Według karty modelu PolDense-150M zbliża się do Qwen3-Embedding-8B (karta modelu), a najmniejsze warianty (17M, 32M, 68M) są według OPI PIB pomyślane do pracy na CPU i urządzeniach brzegowych (OPI PIB).
  • Modele wielojęzyczne tracą po polsku. Qwen3-Embedding-8B był w czerwcu 2025 na 1. miejscu wielojęzycznego MTEB (70,58) (karta modelu). Po polsku jest solidny, ale za modelami trenowanymi pod polski. Mała wersja 0.6B wypada słabiej niż multilingual-e5-large.
  • Dziedzina powiększa różnice. Na zadaniu specprawnik (pytania z polskiego serwisu prawniczego) PolDense-1B ma 46,6, Qwen3-Embedding-8B 31,3, a BGE-M3 25,5. Jeśli Twoje dokumenty są specjalistyczne, ogólna średnia może zaniżać przepaść.
  • Licencja odsiewa kandydatów. Karta llama-embed-nemotron-8b mówi wprost, że model jest tylko do użytku niekomercyjnego i badawczego (karta modelu). PolDense, stella-pl i polskie rerankery są udostępnione na licencji Gemma, z własnymi zasadami użycia. Licencję warto sprawdzić z prawnikiem przed wdrożeniem.

Rerankery: gdzie jest największy zysk

Model embeddingowy koduje pytanie i fragment osobno, więc musi być szybki. Reranker (cross-encoder) czyta parę pytanie i fragment razem i ocenia, czy fragment odpowiada na pytanie. Jest wolniejszy, dlatego ocenia tylko kilkadziesiąt najlepszych kandydatów z pierwszego etapu.

W sekcji rerankerów PIRB ocenia na 1000 pytaniach na zbiór, a pierwszym etapem jest domyślnie mmlw-retrieval-roberta-large. Wyniki:

RerankerParametryPIRB, średniaLicencja
BAAI/bge-reranker-v2.5-gemma2-lightweight9,2 mld66,68Gemma
Qwen/Qwen3-Reranker-8B8,2 mld65,77Apache 2.0
sdadas/polish-reranker-roberta-v3443 mln65,17Gemma
Qwen/Qwen3-Reranker-4B4,0 mld62,80Apache 2.0
BAAI/bge-reranker-v2-m3568 mln61,69Apache 2.0
Qwen/Qwen3-Reranker-0.6B596 mln53,18Apache 2.0

Dla orientacji: sam pierwszy etap (mmlw-retrieval-roberta-large) ma na pełnych danych 58,46. Porównanie jest przybliżone, bo rerankery liczono na podzbiorze pytań, ale kierunek jest jasny:

  • Dobry reranker podnosi wynik o kilka punktów. polish-reranker-roberta-v3 obsługuje kontekst do 8192 tokenów i według autorów wygrywa z Qwen3-Reranker-8B w 18 z 41 zadań, mając 5% jego parametrów (karta modelu).
  • Słaby reranker może zaszkodzić. Qwen3-Reranker-0.6B ma po polsku średnio mniej niż sam pierwszy etap. Reranker trzeba zmierzyć, a nie dokładać w ciemno.
  • Lepszy pierwszy etap pomaga rerankerowi. Ten sam polish-reranker-roberta-v3 z pierwszym etapem BGE-Multilingual-Gemma2 osiąga 66,21 zamiast 65,17.

Wynik rerankera to też dobry sygnał do progu, poniżej którego system odpowiada „nie wiem”. Piszemy o tym w artykule o bazie wiedzy, która mówi „nie wiem”.

Wyszukiwanie hybrydowe: nie wyrzucaj BM25

W PIRB samo BM25 ma 41,85, ale połączenie BM25 z mmlw-retrieval-roberta-large daje 59,14, więcej niż ten sam model w pojedynkę (58,46). Pełny tekst łapie to, czego wektory nie lubią: numery artykułów, sygnatury, nazwy własne, kody produktów.

Warunek: wyszukiwanie pełnotekstowe musi rozumieć polską odmianę. W Elasticsearch służy do tego wtyczka Stempel z analizatorem polish i filtrami polish_stem oraz polish_stop (dokumentacja Elastic). Obie listy wyników łączy się zwykle metodą RRF, która patrzy na pozycje, a nie na wyniki (Cormack i in., 2009). BGE-M3 potrafi zwrócić wektor gęsty i wagi słów naraz (karta modelu), ale w PIRB jego tryb hybrydowy (55,75) nie poprawia wyniku wersji dense.

Kryteria praktyczne poza rankingiem

KryteriumNa co patrzećPrzykład
Długość kontekstuIle tokenów model przeczyta z fragmentu, zanim utnie resztęmultilingual-e5-large: 512, BGE-M3 i PolDense: ok. 8 tys., Qwen3-Embedding: 32 tys.
Prefiksy i instrukcjeBez właściwego prefiksu wynik spadaPolDense: [query]: przed pytaniem; multilingual-e5: query: i passage: ; Qwen3-Embedding: instrukcja zadania, według autorów zwykle +1 do 5%
Wymiar wektoraPamięć indeksu rośnie liniowo z wymiaremMilion fragmentów po 4096 liczb float32 to ok. 16 GB, po 1024 ok. 4 GB. Qwen3-Embedding pozwala skrócić wektor od 32 do 4096
Rozmiar modeluKoszt i czas zaindeksowania całej bazy, sprzęt do zapytań8 mld parametrów w BF16 to ok. 15 GB samych wag; PolDense-17M do 68M ma działać na CPU
JęzykiCzy dokumenty i pytania mieszają polski z angielskimPolDense w pierwszym etapie uczono wyrównania polsko-angielskiego; EuroDense obejmuje 9 języków
SerwowanieCzy model działa w Twoim serwerze inferencjiPolDense: karta podaje komendę dla vLLM (--runner pooling --convert embed)
LicencjaUżycie komercyjne, zasady użyciaApache 2.0 i MIT bez niespodzianek; Gemma z zasadami użycia; Nemotron 8B tylko niekomercyjnie

Jedna rzecz, o której łatwo zapomnieć: zmiana modelu embeddingowego to przeliczenie całej bazy. Wektory z różnych modeli nie są porównywalne. Wybór warto więc zrobić porządnie na początku i zapisać wersję modelu w metryczce indeksu.

Jak zmierzyć to na własnych danych

Ranking mówi, który model jest dobry średnio na 41 zadaniach. Twoja baza to jedno zadanie: Twoje dokumenty i Twoje pytania. Test nie musi być duży:

  1. Zbierz około stu prawdziwych pytań od ludzi, którzy będą korzystać z bazy. Do każdego dopisz fragment, który na nie odpowiada.
  2. Dodaj pytania bez odpowiedzi w dokumentach. Przydadzą się do kalibracji progu rerankera.
  3. Zaindeksuj te same fragmenty dwoma lub trzema modelami z czołówki rankingu, które pasują licencją i rozmiarem.
  4. Zmierz recall@10 i NDCG@10 dla każdego modelu, osobno dla pierwszego etapu i z rerankerem.
  5. Sprawdź błędy ręcznie. Często okazuje się, że winny jest podział na fragmenty albo OCR, a nie model. O przygotowaniu danych piszemy w artykule o przygotowaniu danych do AI.

Lista kontrolna wyboru

  • Sprawdzony aktualny ranking PIRB, sekcje modeli i rerankerów.
  • Wybrani 2-3 kandydaci zgodni licencją z Twoim zastosowaniem.
  • Długość kontekstu modelu dopasowana do rozmiaru fragmentów.
  • Prefiksy i instrukcje ustawione zgodnie z kartą modelu.
  • Wyszukiwanie pełnotekstowe z polskim analizatorem odmiany.
  • Fuzja list (np. RRF) i reranker na kilkudziesięciu najlepszych kandydatach.
  • Zestaw testowy: około stu pytań z oczekiwanym źródłem i pytania bez odpowiedzi.
  • Wynik zmierzony na własnych danych, nie tylko odczytany z rankingu.
  • Wersja modelu zapisana w metryczce indeksu, plan na przeliczenie bazy przy zmianie.

Jak robimy to u siebie

W naszych bazach wiedzy wyszukiwanie jest hybrydowe: wektory i indeks pełnotekstowy z polską odmianą wyrazów, łączone i porządkowane przez model rerankingowy. Cały łańcuch działa na serwerze w sieci klienta, na GPU NVIDIA Blackwell, więc dokumenty nie trafiają do zewnętrznych API. Jak to wygląda od skanu do cytatu, pokazujemy na stronie Bazy wiedzy, a próbę na własnych dokumentach można zamówić przez demo.

Nie mamy jednego ulubionego modelu. Model embeddingowy i reranker dobieramy za każdym razem do potrzeb: rodzaju dokumentów, języka, wolumenu i sprzętu, na którym system ma działać, a wybór sprawdzamy na próbce danych klienta.

Źródła