Artykuły techniczne.
Inferencja, modele i harnessy agentowe, od podstaw i z historii commitów. Każda liczba jest wyprowadzona, zmierzona albo ma źródło, a kod jest podlinkowany.
Inferencja
n=11- 10 min
Atencja od strony jądra: FlashAttention, softmax online i połączona dekwantyzacja
Atencja to trzy linijki matematyki i jeden duży problem z pamięcią. Jak softmax online sprawia, że kafelkowanie jest dokładne, czego FlashAttention nigdy nie zapisuje do pamięci, dlaczego atencja przy dekodowaniu to strumień po cache KV i dlaczego skwantyzowany cache opłaca się tylko z dekwantyzacją wbudowaną w jądro.
- 8 min
Cache prefiksu: ponowne użycie cache KV między turami i zapytaniami
Agenci przy każdej turze wysyłają całą rozmowę od nowa. Cache prefiksu (prefix caching) pomija część, którą serwer już policzył, a README forka podaje, że czas tury z długim kontekstem spada z ~46 s do ~460 ms. Jak działa, co go psuje i dlaczego modele hybrydowe potrzebują checkpointów.
- 11 min
Co naprawdę zapisuje Q4_K_M: kwantyzacja wag od podstaw
Q4_K_M bajt po bajcie, prosto ze źródeł ggml: superbloki po 256 wag, 6-bitowe skale i minima, które tensory dostają Q6_K i dlaczego, ile kosztuje wartość odstająca i gdzie wchodzi obrót. Do tego rozmiar i szybkość modelu 27B w każdym k-quancie.
- 10 min
Continuous batching i PagedAttention: serwowanie dla wielu użytkowników z jednego GPU
Dlaczego batching jest prawie darmowy przy dekodowaniu ograniczonym pamięcią, gdzie przestaje być darmowy, dlaczego partię ogranicza pamięć KV, a nie obliczenia, i co kolejno naprawiają continuous batching, PagedAttention i chunked prefill. Policzone na modelu 27B na jednej RTX 4090.
- 10 min
Dekodowanie ogranicza pamięć: sufit ~59 tok/s na RTX 4090 i jak przebija go dekodowanie spekulatywne
Szybkość dekodowania jednego strumienia wyznacza przepustowość pamięci, nie FLOPS-y. Sufit przepustowości dla modelu 17 GB na 4090, matematyka dekodowania spekulatywnego i MTP, kompromis między głębokością szkicu a akceptacją i dlaczego sampler szkicu ma znaczenie.
- 8 min
Grafy CUDA w dekodowaniu LLM: narzut uruchamiania jąder i dlaczego zmiany kształtów kosztują
Krok dekodowania to setki małych jąder, a uruchomienie każdego z nich kosztuje czas CPU. Jak grafy CUDA przechwytują i odtwarzają krok, dlaczego rosnący cache KV ciągle je unieważnia i co w moim forku zmieniło podniesienie minimum dopełnienia KV do 4096.
- 10 min
Matematyka cache KV: ile kosztuje długi kontekst i co daje 4-bitowy cache
Wagi to koszt stały; cache KV rośnie z każdym tokenem i decyduje, co się zmieści. Rozmiar na token od podstaw, policzony na modelu 27B przy kontekście 262K, dlaczego klucze trudniej skwantyzować niż wagi i dlaczego 3 bity to oś ryzyka.
- 9 min
Matematyka próbkowania: temperatura, top-p, min-p i dlaczego agenci się zapętlają
Co każdy sampler robi z rozkładem prawdopodobieństwa, policzone na prawdziwych liczbach: temperatura, top-k, top-p, min-p i kary za powtórzenia. Dlaczego kolejność w łańcuchu ma znaczenie, dlaczego kary psują kod i JSON oraz jak ustawienia próbkowania odbijają się na pętlach agentów i szybkości dekodowania.
- 10 min
Modele hybrydowe: co Gated DeltaNet zastępuje w cache KV
Atencja liniowa zamienia cache KV w stan o stałym rozmiarze. Reguła delta naprawia to, że taki stan źle zapomina, a bramkowanie dodaje zanik. Dlaczego hybrydy zachowują kilka warstw z pełną atencją i co stan rekurencyjny zmienia przy ponownym użyciu prefiksu, wycofywaniu przy dekodowaniu spekulatywnym i w długich sesjach.
- 8 min
MoE na jednym GPU: wszystkie parametry kontra aktywne, offload i przepustowość pamięci
W modelu MoE wszystkie parametry kosztują pamięć, a aktywne kosztują przepustowość. Co to oznacza na jednej karcie 24 GB, jak offload modułów eksperckich do systemowej pamięci RAM zmienia sufit, dlaczego batching pomaga MoE mniej niż modelom dense i jak MoE wypadł w moim benchmarku agentowym.
- 10 min
RoPE od podstaw i jak YaRN rozciąga kontekst modelu
Jak rotacyjne embeddingi pozycji kodują pozycję jako obrót, co długość fali każdego wymiaru oznacza dla długiego kontekstu i jak interpolacja pozycji, skalowanie NTK-aware i YaRN rozciągają model trenowany na 32K w stronę 262K.
Modele
n=6- 9 min
Destylacja: KL na logitach, temperatura i on-policy kontra off-policy
Jak mały model uczy się od dużego: miękkie cele i czynnik T², KL w przód kontra KL wsteczna i dlaczego kierunek ma znaczenie, destylacja na poziomie sekwencji kontra na logitach, koszt przechowywania logitów nauczyciela i dlaczego destylacja on-policy naprawia własne błędy ucznia.
- 9 min
Ile kosztuje trening LLM: 6ND FLOP-ów, 16 bajtów na parametr, Chinchilla
Rachunek kosztu treningu na serwetce, któremu można ufać: reguła 6ND dla obliczeń, co Chinchilla mówi o liczbie tokenów na parametr, dlaczego Adam kosztuje 16 bajtów na parametr i na co idzie pamięć aktywacji. Policzone dla modelu 125M, modelu 1B i fine-tuningu modelu 4,5B na jednej RTX 4090.
- 9 min
Matematyka LoRA i QLoRA: rząd, alfa, pamięć i co naprawdę się trenuje
Adaptacja niskiego rzędu od podstaw, czyli od macierzy: ile parametrów naprawdę trenuje adapter rzędu 16, co robi alfa, dlaczego pełny fine-tuning modelu 7B wymaga ponad 100 GB, a QLoRA mieści model bazowy 27B w 14 GB, oraz w czym LoRA jest dobra, a w czym słaba.
- 11 min
RL dla LLM: PPO, DPO i GRPO, funkcje celu obok siebie
Co optymalizuje uczenie ze wzmocnieniem po fine-tuningu, zapisane wprost jako funkcje celu: przycięta funkcja zastępcza PPO na smyczy KL, funkcja straty DPO na preferencjach bez modelu nagrody i przewaga GRPO liczona względem grupy, bez krytyka. Do tego policzony przykład GRPO i to, dlaczego weryfikowalne nagrody zmieniły reguły gry w kodowaniu.
- 10 min
Rozumowanie i łańcuch myśli: dlaczego myślenie w tokenach działa i ile kosztuje
Od „let's think step by step” do modeli trenowanych do myślenia: dlaczego zapisywanie kroków pośrednich dodaje obliczenia, których transformer nie wykona w jednym przebiegu, jak samospójność i RL zamieniły to w obliczenia w czasie inferencji, ile sekund kosztuje budżet myślenia 8192 tokenów, czy widoczne rozumowanie jest wierne i co to zmienia dla agentów.
- 8 min
Tokenizery: BPE, modele na poziomie bajtów i ile kosztuje token
Jak BPE buduje słownik ze scaleń, dlaczego BPE na poziomie bajtów nigdy nie zawodzi na nieznanym tekście, ile rozmiar słownika kosztuje w parametrach, a ile oszczędza na długości sekwencji, dlaczego polski i kod kosztują więcej tokenów niż angielska proza i na jakim etapie są modele na poziomie bajtów bez tokenizera.
Harnessy
n=6- 9 min
Dekodowanie z ograniczeniami: gramatyki i schemat JSON, żeby wywołania narzędzi zawsze się parsowały
Jak silniki gwarantują poprawne wyjście, maskując logity: automaty skończone dla formatów regularnych, automaty ze stosem dla zagnieżdżonego JSON-a, dlaczego tokeny i symbole gramatyki się nie pokrywają, ile to kosztuje na krok i dlaczego zbyt wczesne ograniczenie może pogorszyć rozumowanie modelu.
- 10 min
Matematyka wyszukiwania w RAG: embeddingi, dzielenie na fragmenty, wyszukiwanie hybrydowe i reranking
Wyszukiwanie decyduje o tym, co model dostaje do przeczytania, i to tam RAG zawodzi najczęściej. Podobieństwo cosinusowe i co daje normalizacja, ile pamięci kosztuje milion fragmentów przy każdej precyzji, jak HNSW wymienia recall na szybkość, dlaczego wygrywa hybrydowe połączenie BM25 z wyszukiwaniem gęstym i kiedy reranker jest wart swojego kosztu.
- 9 min
MCP od środka: JSON-RPC, transporty i negocjacja możliwości
Model Context Protocol na łączu: wiadomości JSON-RPC 2.0, handshake initialize i negocjacja możliwości, narzędzia, zasoby i prompty, stdio kontra Streamable HTTP, ile kontekstu kosztuje każdy schemat narzędzia i model bezpieczeństwa, który musisz zapewnić sam.
- 9 min
Statystyka ewaluacji agentów: czy różnica między 816 a 808 jest prawdziwa?
Rankingi szeregują modele na podstawie kilku punktów różnicy; szum jest zwykle większy. Przedziały ufności dla odsetków zaliczeń, policzone na moim własnym benchmarku z 49 scenariuszami, ile scenariuszy trzeba, żeby odróżnić dwa modele, dlaczego testy sparowane są warte zachodu i dlaczego u agentów pass^k wygrywa z pass@k.
- 10 min
Zarządzanie kontekstem agenta: budżety, przycinanie, kompaktowanie i wiedza, kiedy się zatrzymać
Kontekst 262K to nie licencja na wrzucanie do niego wszystkiego. Każdy token kontekstu kosztuje szybkość na każdym kroku. Jak budżetować kontekst agenta, przycinać wyjście narzędzi bez utraty sygnału, kompaktować historię bez psucia cache prefiksu, izolować pracę w subagentach i wykrywać pętle, zanim przepalą budżet.
- 6 min
amber-bench: benchmark harnessu, nie modelu
Ranking modeli nie powie Ci, czy Twoja pętla agenta jest zepsuta. Zbudowałem benchmark, który ocenia harness i model jako parę. Pierwsze, co znalazł, to błędy w moim własnym harnessie.
Architektury
n=9- 12 min
Attention Is All You Need: praca, pomysł i to, co zmieniła
Praca Google z 2017 roku, która wprowadziła transformer: z jakim problemem miała się uporać, co naprawdę zaproponowała (skalowaną atencję iloczynu skalarnego, atencję wieloglowicową, sinusoidalne kodowania pozycyjne, encoder-decoder do tłumaczenia), jakie liczby podała, co zmieniły późniejsze modele i jak praca o tłumaczeniu stała się podstawą współczesnej AI.
- 12 min
DeepSeek: architektura stojąca za V3 i R1 oraz moment DeepSeek
Jak chińskie laboratorium na GPU objętych ograniczeniami eksportowymi wytrenowało otwarty model na poziomie czołówki i dlaczego w jednym tygodniu stycznia 2025 Nvidia straciła setki miliardów dolarów wartości rynkowej. Multi-head latent attention (MLA) i jej 57× mniejszy cache, drobnoziarniste MoE ze współdzielonymi modułami eksperckimi, równoważenie obciążenia bez pomocniczej funkcji straty, predykcja wielu tokenów (MTP), trening w FP8 i rozumowanie R1 wyuczone czystym RL.
- 10 min
Mnożenie macierzy i jak działają akceleratory tensorowe
Prawie cała arytmetyka LLM to mnożenie macierzy. Ile FLOP-ów i bajtów kosztuje matmul, model roofline i punkt załamania (ridge point) prawdziwych GPU, po co istnieje kafelkowanie, jak rdzenie tensorowe i macierze systoliczne sprzętowo wykonują obliczenia macierzowe i dlaczego formaty liczbowe ciągle się kurczą.
- 10 min
Modele dense kontra mixture-of-experts (MoE): kompromisy od routingu po serwowanie
Porównanie na poziomie architektury: jak router wybiera moduły eksperckie, dlaczego najtrudniejsze jest równoważenie obciążenia, współczynniki pojemności i odrzucone tokeny, jaka część każdego modelu naprawdę pracuje na token (od 28% w Mixtralu do 5,5% w DeepSeek-V3), co MoE daje w obliczeniach treningowych i ile kosztuje w pamięci, komunikacji i zachowaniu agentów.
- 11 min
Modele dyfuzyjne: od szumu do obrazów, a teraz do tekstu
Jak modele dyfuzyjne generują, ucząc się usuwać szum: proces w przód w jednym wzorze, dlaczego celem treningu jest przewidywanie szumu, jak próbkowanie zeszło z 1000 kroków do kilku, classifier-free guidance (CFG), 48-krotna kompresja w dyfuzji latentnej, szkielety oparte na transformerach i flow matching oraz dyfuzja dla tekstu.
- 9 min
Sieci RNN od LSTM do atencji liniowej: dlaczego rekurencja przegrała i jak wróciła
Część 4 serii o architekturach. Aktualizacja rekurencyjna, dlaczego gradienty zanikają albo eksplodują przy długich sekwencjach (0,9¹⁰⁰ to 2,7 × 10⁻⁵), jak naprawiły to bramki LSTM, dlaczego transformery i tak zastąpiły sieci RNN i jak modele przestrzeni stanów oraz atencja liniowa przywróciły rekurencję o stałym zużyciu pamięci do dzisiejszych hybrydowych LLM.
- 9 min
Transformery decoder-only: architektura stojąca za każdym modelem czatowym
Część 1 serii o architekturach. Blok przyczynowy, z którego zbudowane są GPT, Llama, Qwen i Gemma: maskowana self-attention, MLP, połączenia rezydualne i normalizacje, gdzie są parametry (12·d² na warstwę, sprawdzone na GPT-2), dlaczego jeden stos obsługuje i prompt, i generowanie, oraz dlaczego ta konstrukcja wygrała.
- 8 min
Transformery encoder-decoder: cross-attention, T5, Whisper i kiedy wciąż wygrywają
Część 3 serii o architekturach. Pierwotny układ transformera: enkoder, który czyta wejście w obu kierunkach, dekoder, który pisze, sięgając do niego przez cross-attention, span corruption w T5, dokąd trafiają dodatkowe parametry i dlaczego ta konstrukcja wciąż wygrywa w przetwarzaniu mowy, tłumaczeniu i innych zadaniach, w których wejście jest wielokrotnie dłuższe od wyjścia.
- 8 min
Transformery encoder-only: BERT, embeddingi i rerankery
Część 2 serii o architekturach. Dwukierunkowa atencja, cel treningowy maskowanego modelowania języka (MLM) z regułą 80/10/10, dlaczego enkodery nie potrafią generować, ale nadal są właściwym narzędziem do klasyfikacji, embeddingów i rerankerów, oraz co zmieniły współczesne enkodery, takie jak ModernBERT.
Starsze, nietechniczne teksty są w archiwum. Archiwum
Masz podobny problem?
Opisz swój problem30-minutowa rozmowa techniczna z inżynierem, który to buduje. Bez działu sprzedaży, bez slajdów.