Wnioskowanie (ang. inference) to etap, w którym wytrenowany model uczenia maszynowego dostaje nowe, nigdy wcześniej niewidziane dane i zwraca na ich podstawie wynik — predykcję, klasę, liczbę albo wygenerowany tekst. Mówiąc prościej: trening to nauka, a wnioskowanie to egzamin, który model zdaje już w realnym świecie. Model nie uczy się tu niczego nowego — wagi są zamrożone, a Ty po prostu „pytasz”, a on „odpowiada”.
Jak to działa i do czego służy
Podczas treningu model wielokrotnie przepuszcza dane przez sieć i koryguje swoje parametry (wagi). Wnioskowanie pomija część korygującą: dane lecą tylko „do przodu” (forward pass), a wynikiem jest gotowa odpowiedź. Dlatego wnioskowanie jest tańsze obliczeniowo niż trening, ale w produkcji to ono generuje 99% kosztów — bo trenujesz raz, a wnioskujesz miliony razy dziennie.
To właśnie faza, którą widzi użytkownik. Każde zapytanie do ChatGPT, każde wykrycie spamu w skrzynce, każda rekomendacja filmu — to wnioskowanie. Liczą się tu inne rzeczy niż przy treningu: latencja (jak szybko przyjdzie odpowiedź) i throughput (ile zapytań obsłużysz na sekundę).
Przykład z praktyki
Załóżmy, że masz model klasyfikujący zdjęcia. Trening robisz w PyTorchu, ale przed wnioskowaniem warto przełączyć model w tryb ewaluacji i wyłączyć liczenie gradientów:
model.eval()— wyłącza warstwy typuDropouti ustawiaBatchNormw tryb inferencji,with torch.no_grad():— nie liczy gradientów, więc oszczędzasz pamięć i czas.
W produkcji model często eksportuje się do formatu ONNX albo serwuje przez dedykowane narzędzia jak NVIDIA Triton, vLLM (dla LLM-ów) czy TensorFlow Serving — wszystkie zoptymalizowane pod jeden cel: szybkie wnioskowanie pod obciążeniem.
Częste błędy i mity
- Zapomniany
model.eval()— model dalej losowo „gubi” neurony przez Dropout, więc te same dane dają różne wyniki. Klasyk debugowania o 23:00. - „Model się uczy w trakcie wnioskowania” — nie. Wagi są zamrożone. To, co wygląda jak „uczenie się” w chatbocie, to kontekst w promcie, nie zmiana modelu.
- Mylenie kosztu treningu z kosztem wnioskowania — duży model można wytrenować raz, ale jeśli wnioskowanie jest wolne i drogie, projekt nie spnie się finansowo.
Pojęcia powiązane
Warto znać: trening (training), forward pass, latencja i throughput, kwantyzacja (przyspiesza wnioskowanie), batch inference vs. real-time, oraz edge inference (wnioskowanie na urządzeniu, np. w telefonie). Z tym ostatnim spotkasz się przy modelach na mikrokontrolery i aplikacje mobilne.