Zmierzone na tej karcie

NVIDIA GeForce RTX 3060

12 GB · Ampere sm_86 · 360 GB/s

Saluki 27B IQ2-mix: generowanie tokenów

Typowa aplikacja 24,0 Nasz silnik 38,2 t/s szybciej 1,6×
Model
Saluki 27B IQ2-mix
Plik
7,9 GB
Pamięć zajęta
9,6 GB / 12 GB
Odpowiedź na 500 słów
56,0 s → 35,2 s
Pamięć
12GB
Przepustowość
360GB/s
Limit mocy
170W
Architektura
Ampere sm_86
PCIe
gen3 x16

Co się mieści

12 GB pamięci. Każdy blok to model załadowany przez nasz silnik, z kontekstem i pamięcią podręczną KV.

Saluki 27B IQ2-mix
plik 7,9 GB zajęte 9,6 GB
Bonsai 2 27B Q2_0 (PQ2_0 repack)
zajęte 9,4 GB

Modele na tę kartę

Wszystkie zmierzone modele, które mieszczą się w pamięci karty. Najlepszy pierwszy.

  1. Underdog Saluki 27B

    IQ2-mix 7,9 GB Licencja: Licencji jeszcze nie zweryfikowaliśmy

    Polecany na tę kartę

    Szybkość pisania

    1,6× szybciej

    Ta sama karta, ten sam model, ten sam skrypt. Zmienia się tylko oprogramowanie.

    Uczciwie: szczegóły

    Po 16k kontekstu: 22,5 → 35,5 t/s. Bez spekulacji (llama-bench tg128) nasz silnik jest tu o 2,4% wolniejszy (24,2 → 23,6): cały zysk na tej karcie daje głowica MTP.

    Typowa aplikacja 24,0 t/s
    Nasz silnik 38,2 t/s
    Typowa aplikacja: llama.cpp z ustawieniami domyślnymi, tak jak w typowej aplikacji (na RTX 3090 tyle samo co Ollama) · Nasz silnik: nasz silnik z tymi samymi flagami i łatkami · spec_sweep przez serwer, ten sam skrypt po obu stronach: czat, 6 promptów × 3 seedy, T=1, świeży serwer, mediana; kolejność ABBA, średnia z dwóch przebiegów /; :168

    Odpowiedź na 500 słów

    wyliczone z t/s × tokeny na słowo /; :168 × 2.69 tok/słowo (raport 06 §2.1.2)/; :168 × 1.17 tok/słowo (raport 06 §2.1.2)

    po polsku

    po angielsku

    Powtórka w prawdziwym tempie

    Ta sama odpowiedź, wypisywana z zmierzoną prędkością.

    Typowa aplikacja: 24,0 t/s, Nasz silnik: 38,2 t/s. spec_sweep przez serwer, ten sam skrypt po obu stronach: czat, 6 promptów × 3 seedy, T=1, świeży serwer, mediana; kolejność ABBA, średnia z dwóch przebiegów

    Warunki

    spec_sweep przez serwer, ten sam skrypt po obu stronach: czat, 6 promptów × 3 seedy, T=1, świeży serwer, mediana; kolejność ABBA, średnia z dwóch przebiegów

    • nasz: głowica MTP Kujiry n=2 (słownik 64k, IQ4_XS)
    • lookup W16
    • GPU verify
    • KV q8_0
    • kontekst 20k (-c 20480)
    • A0: samo -m (-fit: kontekst 34k, KV f16)
    • bez spekulacji
    • karta 170 W
    spec_sweep przez serwer, ten sam skrypt po obu stronach: czat, 6 promptów × 3 seedy, T=1, świeży serwer, mediana; kolejność ABBA, średnia z dwóch przebiegów · 170 W (stale na limicie), PCIe gen3 x16, 360 GB/s, Xeon E5-2698 v4, sterownik 595,71,05.

    O modelu

    Model 27B (architektura qwen35) skwantyzowany do ~2 bitów standardowymi typami IQ: plik 7,9 GB. Sam nie ma głowicy MTP; nasz silnik dokłada głowicę MTP Kujiry.

    Lepsza jakość (perplexity 7,67 wobec 8,62), a z głowicą MTP 1,6× szybciej.

    • mała pamięć
    • jakość przy 12 GB
    Wszystkie pomiary

    Przyrządy

    Typowa aplikacja → Nasz silnik

    Tokeny na krok: ile tokenów zatwierdza jeden krok modelu (spekulacja MTP) · Czas kroku: Krok jest dłuższy, bo daje ~2,2 tokenu. Na jeden token: 41,7 → 26,3 ms (wyliczone: czas kroku ÷ tokeny na krok). · Prefill 512: czytanie promptu, tokeny na sekundę · Prefill 4096: czytanie promptu, tokeny na sekundę · Pamięć zajęta: nasz: głowica MTP Kujiry n=2 (słownik 64k, IQ4_XS), lookup W16, GPU verify, KV q8_0, kontekst 20k (-c 20480); A0: samo -m (-fit: kontekst 34k, KV f16), bez spekulacji; karta 170 W (źródło podaje GiB; pokazujemy je jako GB, tak jak producent opisuje pamięć karty) /; :170/; :169/; :187 (10313 MiB)/; :187 (9811 MiB)
    • Tokeny na krok

      1,00 2,22

      ↗ lepiej

    • Czas kroku

      41,7 58,4 ms

      ↘ dłuższy krok, ↗ więcej tokenów

    • Prefill 512

      581 564 t/s

      ≈ bez zmian

    • Prefill 4096

      576 559 t/s

      ≈ bez zmian

    • Pamięć zajęta

      10,1 9,6 GB

      ↗ lepiej

    Ten sam model, ta sama jakość: zmierzone

    Uczciwie

    Saluki 27B
    KLD nasz vs upstream 0,00065
    szum upstreamu 0,00061
    Bonsai 2 27B
    KLD nasz vs upstream 0,00032
    szum upstreamu 0,00021
  2. Ternary Bonsai 2 27B

    Q2_0 (PQ2_0 repack) Licencja: Licencji jeszcze nie zweryfikowaliśmy

    Szybkość pisania

    Inny fork jest tu szybszy.

    Ta sama karta, ten sam model, ten sam skrypt. Zmienia się tylko oprogramowanie.

    Uczciwie: szczegóły

    Uczciwie: fork Prism z formatem PTQ1_0 jest tu szybszy od nas (44,8 t/s). Nasz silnik przyspiesza upstream na tym samym pliku Q2_0 o 7%.

    Prism PQ2_0 (domyślny) 36,8 t/s
    Prism PTQ1_0 (najszybszy) 44,8 t/s
    upstream, plik Q2_0 33,1 t/s
    nasz silnik, plik Q2_0 35,5 t/s
    Prism PQ2_0 (domyślny) · Prism PTQ1_0 (najszybszy) · upstream, plik Q2_0 · nasz silnik, plik Q2_0 · spec_sweep przez serwer: 6 promptów × 3 seedy, T=1, odpowiedź 400 tokenów, krótki kontekst, mediana (A0: 36.77) (A1: 44.77) (A1q: 33.15) (A2t: 35.51)

    Odpowiedź na 500 słów

    Paski biegną w prawdziwym czasie: tyle trwa odpowiedź przy zmierzonej prędkości. spec_sweep przez serwer: 6 promptów × 3 seedy, T=1, odpowiedź 400 tokenów, krótki kontekst, mediana

    po polsku

    po angielsku

    Powtórka w prawdziwym tempie

    Ta sama odpowiedź, wypisywana z zmierzoną prędkością.

    upstream, plik Q2_0: 33,1 t/s, nasz silnik, plik Q2_0: 35,5 t/s, Prism PTQ1_0 (najszybszy): 44,8 t/s. spec_sweep przez serwer: 6 promptów × 3 seedy, T=1, odpowiedź 400 tokenów, krótki kontekst, mediana

    Warunki

    spec_sweep przez serwer: 6 promptów × 3 seedy, T=1, odpowiedź 400 tokenów, krótki kontekst, mediana

    • kontekst 32k
    • KV f16
    • -ub 1024
    • bez spekulacji (brak głowicy MTP)
    spec_sweep przez serwer: 6 promptów × 3 seedy, T=1, odpowiedź 400 tokenów, krótki kontekst, mediana · 170 W (stale na limicie), PCIe gen3 x16, 360 GB/s, Xeon E5-2698 v4, sterownik 595,71,05. :109-113

    O modelu

    Model 27B z wagami trójkowymi (−1, 0, +1) w formatach forka Prism. Bez głowicy MTP. Przepakowujemy go do formatu Q2_0 z upstreamu bez strat.

    • szybkość przy 12 GB
    Wszystkie pomiary

    Przyrządy

    Prism PQ2_0 (domyślny) → nasz silnik, plik Q2_0

    Prefill 4096: czytanie promptu, tokeny na sekundę · Pierwszy token: prompt ~2k tokenów, bez cache · Pamięć zajęta: kontekst 32k, KV f16, -ub 1024; bez spekulacji (brak głowicy MTP)
    • Prefill 4096

      601 622 t/s

      ↗ lepiej

    • Pierwszy token

      3,4 3,4 s

      ≈ bez zmian

    • Pamięć zajęta

      10,1 9,4 GB

      ↗ lepiej

    Długi kontekst

    Generowanie przy coraz dłuższej rozmowie (llama-bench, bez spekulacji). Tu zysk jest mały i tak to pokazujemy.
    Długi kontekst, Ternary Bonsai 2 27B: 8k 32,0 → 33,9 t/s; 32k 27,9 → 29,4 t/s1020308k32k33,932,029,427,9
    nasz silnik upstream, plik Q2_0 długość kontekstu (skala liniowa) →

    Ten sam model, ta sama jakość: zmierzone

    Uczciwie

    Saluki 27B
    KLD nasz vs upstream 0,00065
    szum upstreamu 0,00061
    Bonsai 2 27B
    KLD nasz vs upstream 0,00032
    szum upstreamu 0,00021

Zmierzone karty