Strona główna / Rozdział 8 · Wybór modelu
Ostatnia zmiana · 6 min czytania
Czy model głupieje?
Wagi przypiętej wersji modelu się nie zmieniają, ale system, który je serwuje, zmienia się stale: sprzęt, kompilatory, sampler, routing, system prompt aplikacji i ustawienia domyślne. Za aliasem albo nazwą modelu w aplikacji czatu można podmienić nawet wagi, a nazwa zostaje ta sama. Do tego dostawca ma skończoną pulę kart, z której biorą i trening następnego modelu, i obecni użytkownicy.
Po ludzkuJedna kuchnia i dwa zamówienia naraz: wielkie przyjęcie na przyszły miesiąc, czyli trening, i bieżący goście, czyli użytkownicy. Palników nie przybywa. W przypiętej wersji przepis się nie zmienia, ale nowy piec albo pomylona przyprawa zmienią smak.
Przesuń trening i popyt. Zobacz, kiedy inferencji zaczyna brakować mocy i co wtedy widzi użytkownik
Poglądowo: 100 jednostek mocy, z czego 10 stale na badania i ewaluacje. Proporcje nie są danymi żadnego dostawcy.
Co się zmienia, gdy wagi stoją
- Ten sam model działa na różnym sprzęcie i stosie. Anthropic podaje, że serwuje Claude’a na AWS Trainium, GPU NVIDIA i TPU Google. Inna precyzja, kompilator albo implementacja samplera to trochę inne liczby na wyjściu, a błąd w jednym z tych miejsc psuje tylko część ruchu.
- Brak mocy widać najpierw w opóźnieniach i dostępności: kolejki, dłuższy czas do pierwszego tokena, wolniejsze generowanie przy większych batchach, błędy przeciążenia, ostrzejsze limity. Nie obniża to jakości, ale obciążenie wyznacza rozmiar batcha, a przy kernelach, których wynik zależy od rozmiaru batcha, to samo zapytanie może dostać inne tokeny nawet przy temperaturze 0.
- Aplikacje, takie jak czat czy narzędzie do kodu, zmieniają system prompt, domyślny poziom rozumowania i sposób zarządzania kontekstem. To zmienia wyniki bez zmiany modelu i bez żadnej zmiany w API.
Udokumentowane przypadki
- Kwiecień 2025 (OpenAI, „Expanding on what we missed with sycophancy”). Tu wagi zmieniły się pod tą samą nazwą. 25 kwietnia aktualizacja GPT-4o w ChatGPT z nowym post-treningiem, m.in. z dodatkową nagrodą z ocen typu kciuk w górę i w dół, uczyniła model wyraźnie przymilnym; wycofywanie ruszyło 28 kwietnia. OpenAI podaje, że GPT-4o w ChatGPT dostał od premiery pięć dużych aktualizacji z nowym post-treningiem.
- Sierpień i wrzesień 2025 (postmortem Anthropic z 17 września 2025). Trzy nakładające się błędy infrastruktury, wagi bez zmian. Od 5 sierpnia część żądań do Sonnet 4 trafiała na serwery skonfigurowane pod przyszły kontekst 1M tokenów, w najgorszej godzinie 31 sierpnia 16% żądań. Od 25 sierpnia błędna konfiguracja serwerów TPU powodowała wstawianie niepasujących tokenów, np. znaków tajskich lub chińskich w angielskich odpowiedziach. Zmiana w wyborze tokenów odsłoniła też błąd kompilatora XLA dla TPU, przez który przybliżone top-k czasem gubiło najbardziej prawdopodobny token. Poprawki weszły między 2 a 18 września.
- Marzec i kwiecień 2026 (postmortem z 23 kwietnia 2026). Trzy zmiany w Claude Code, Claude Agent SDK i Claude Cowork; API nie zostało dotknięte. 4 marca domyślny poziom rozumowania obniżono z high na medium, żeby skrócić opóźnienia; cofnięto to 7 kwietnia. 26 marca błąd w mechanizmie, który po godzinie bezczynności miał raz usunąć stare bloki myślenia, sprawił, że usuwał je w każdej kolejnej turze, więc model wydawał się zapominalski i się powtarzał; naprawiono 10 kwietnia. 16 kwietnia dodano do system promptu limit długości odpowiedzi, który w jednej z ewaluacji obniżył wynik o 3%; cofnięto 20 kwietnia.
- Według obu postmortemów Anthropic przyczyną były błędy infrastruktury i decyzje produktowe uzasadniane opóźnieniem i długością odpowiedzi, a nie brak mocy. W 2025 roku Anthropic napisał wprost, że nigdy nie obniża jakości modelu z powodu popytu, pory dnia ani obciążenia serwerów, a w 2026, że nigdy celowo nie degraduje modeli.
Hipoteza i złudzenie
- Hipoteza: dostawca po cichu serwuje mocniej skwantyzowany albo mniejszy wariant, gdy przed premierą brakuje kart. Technicznie możliwe u każdego dostawcy, ale publicznych dowodów brak. Traktuj to jak hipotezę do sprawdzenia pomiarem.
- Złudzenie: oczekiwania rosną, zadania robią się trudniejsze, sesje dłuższe, a długi kontekst sam obniża jakość (zobacz „Okno kontekstowe i agent”). Przy losowaniu pojedyncze złe odpowiedzi zdarzają się zawsze, więc anegdoty nie odróżnią regresji od szumu.
Jak się bronić
- Przypinasz dokładny identyfikator snapshotu modelu, a nie alias, który może się przesunąć; w Claude od 4.6 identyfikator bez daty sam jest snapshotem. Jawnie ustawiasz poziom rozumowania i limit tokenów, a temperaturę tylko tam, gdzie model ją jeszcze przyjmuje: nowsze modele Claude (od Opus 4.7) i modele OpenAI z włączonym rozumowaniem odrzucają wartości inne niż domyślne (zobacz „Następny token”). Wersjonujesz prompt i definicje narzędzi (zobacz „LLM na produkcji”).
- Własny zestaw ewaluacyjny puszczasz cyklicznie na produkcyjnym endpoincie, z kilkoma powtórzeniami na przypadek, bo różnice rzędu kilku procent giną w szumie (zobacz „Ewaluacje”). Trace’y z produkcji pozwalają porównać zachowanie przed zmianą i po niej.
- Przypięta wersja też ma datę wycofania, więc migracja i tak przyjdzie; sprawdzasz ją tym samym zestawem. Pełna powtarzalność wymaga otwartego modelu na własnym, zamrożonym stosie z deterministycznymi kernelami, niezależnymi od rozmiaru batcha (zobacz „Modele open-weight”).
Sprawdź się
Użytkownicy mówią, że model „zgłupiał”. Jak to wyjaśnisz i co zrobisz?
Najpierw sprawdzasz, czy model w ogóle się zmienił: w aplikacji albo za aliasem ta sama nazwa może wskazywać nowe wagi, jak GPT-4o w ChatGPT w kwietniu 2025. Wagi przypiętej wersji się nie zmieniają, ale zmienia się wszystko wokół: sprzęt i kompilatory, sampler, routing, system prompt aplikacji, domyślny poziom rozumowania, limity. Oba udokumentowane spadki u Anthropic, z 2025 i 2026 roku, wynikały z takich przyczyn, a nie z podmiany wag. Ciche cięcie jakości z braku mocy jest technicznie możliwe, ale niepotwierdzone. Dlatego zamiast zgadywać, przypinasz wersję, ustawiasz parametry jawnie, cyklicznie puszczasz własne ewaluacje i porównujesz trace’y.
In English
First check whether the model changed at all: in an app or behind an alias the same name can point to new weights, as GPT-4o in ChatGPT did in April 2025. The weights of a pinned version do not change, but everything around them does: hardware and compilers, the sampler, routing, the app’s system prompt, default reasoning effort, rate limits. Both documented regressions at Anthropic, in 2025 and 2026, had such causes, not different weights. Silent quality cuts due to a compute shortage are technically possible but unproven. So instead of guessing, pin the version, set parameters explicitly, run your own evals on a schedule and compare traces.
Pytania pogłębiające (4)
- Jak odróżnić regresję u dostawcy od własnej?
- Przypięta wersja, stały zestaw ewaluacyjny z kilkoma powtórzeniami i porównanie trace’ów. Jeśli prompt, narzędzia i parametry są te same, a spadek wyników wykracza poza szum, problem leży po stronie dostawcy. Wtedy zbierasz przykłady i zgłaszasz je.
- Co przypinasz, żeby ograniczyć niespodziewane zmiany zachowania modelu?
- Dokładny identyfikator snapshotu modelu, poziom rozumowania, limit tokenów, temperaturę tam, gdzie model ją jeszcze przyjmuje, wersję promptu i definicji narzędzi. Przypięta wersja też ma datę wycofania, więc migrację sprawdzasz tym samym zestawem ewaluacyjnym.
- Czemu dostawca sam nie wyłapał regresji z 2025 roku?
- Według postmortemu ewaluacje Anthropic nie uchwyciły spadku, raporty użytkowników były zaszumione, a zasady prywatności ograniczają wgląd inżynierów w rozmowy. Błędy dotykały części ruchu na części platform, więc średnie wyglądały dobrze. Wniosek dla ciebie: potrzebujesz ewaluacji na własnym ruchu.
- Jak wykryć regresję w godzinę, a nie po tygodniu?
- Kanarek: mały zestaw przypadków puszczany co godzinę na produkcyjnym endpoincie, plus sygnały z ruchu: odsetek niepoprawnego JSON-a, długość odpowiedzi, liczba wywołań narzędzi, ponowienia i poprawki użytkowników. Alert na odchylenie od wartości bazowej.