SFT w Praktyce: Jak Fine-Tuning Małego Modelu Językowego Może Pobić GPT-5 w Przetwarzaniu Faktur

SFT w Praktyce: Jak Fine-Tuning Małego Modelu Językowego Może Pobić GPT-5 w Przetwarzaniu Faktur
Kiedy słyszysz "AI do przetwarzania faktur", pierwsza myśl to pewnie GPT-4o lub GPT-5 podpięty przez API. Szybko, wygodnie, działa od zaraz. Problem zaczyna się, gdy trzeba przetworzyć 20 tysięcy faktur dziennie, dane finansowe nie mogą opuścić infrastruktury firmy, a rachunek za API rośnie co miesiąc. Na Data Science Summit AI Edition 2026 Kamil Rzechowski z Virtuslab pokazał, że jest inne wyjście — i poparte twardymi liczbami bezpośrednio ze slajdów.
Problem: LLM na Produkcji to Nie Tylko Kwestia Dokładności
Duże modele językowe (LLM) jak GPT-5 czy Gemini są wyjątkowe do prototypowania. Przyjmują dowolny format wejścia, radzą sobie z nieznanymi typami dokumentów, nie wymagają przygotowania danych treningowych. Ale w środowisku produkcyjnym pojawia się trójkąt sprzeczności:
- Koszt — API-call do modelu frontier kosztuje. Przy tysiącach zapytań dziennie koszty skalują się liniowo
- Latency — duże modele mają wysokie Time-to-First-Token; dla real-time workflows to dyskwalifikator
- Prywatność danych — wysyłanie faktur z danymi dostawców i kwotami transakcji do zewnętrznego API jest ryzykiem compliance w każdej regulowanej branży
Small Language Models (SLM) rozwiązują te problemy, ale mają niższą dokładność out-of-the-box na zadaniach specjalistycznych. Właśnie dlatego potrzebne jest Supervised Fine-Tuning (SFT).
Co Rzechowski Pokazał Na Slajdach
Prezentacja skupiała się na konkretnym case study: fine-tuning Vision Language Model (VLM) do zadania ekstrakcji kluczowych pól z obrazów faktur. Ze slajdów wynikają następujące, potwierdzone dane techniczne:
Setup Treningowy (dane ze slajdu)
Fine-tuning przeprowadzono metodą LoRA (Low-Rank Adaptation):
- Parametry LoRA: rank = 4, α = 8
- Liczba parametrów treningowych: 4.36M z 2.13B total — zaledwie ~0.20% całego modelu
- Sprzęt: NVIDIA L4 GPU (Cloud VM instance)
- Czas treningu: 3 godziny
- Całkowity koszt: $8
To kluczowa obserwacja: fine-tuning metodą LoRA nie wymaga uczenia całego modelu. Modyfikujemy ułamek parametrów, co redukuje koszty i czas treningu do absolutnego minimum.
Jak Wygląda To W Praktyce — Przykład z Qwen3-VL
Aby zilustrować potencjał tej metody konkretnymi liczbami, przyjrzyjmy się podobnemu case study opublikowanemu przez Virtuslab na blogu technicznym. Jako model bazowy wybrano tam Qwen3-VL-2B-Instruct — Vision Language Model o rozmiarze ~2.13 miliarda parametrów, co jest zgodne z liczbami zaprezentowanymi przez Rzechowskiego.
Przygotowanie Danych
Zestaw danych treningowych składał się z 1662 próbek — mieszanina:
- Zdjęć faktur (różne layouty, różna jakość obrazu)
- Skanów paragonów
- Cyfrowych PDF-ów faktur w językach angielskim i francuskim
Źródłem były dwa publiczne datasety (Creative Commons 4.0): Fatura dataset oraz labeled dataset paragonów z Zenodo.
Wyniki: Fine-Tuned SLM vs LLM
Po fine-tuningu model osiągnął porównywalną lub wyższą dokładność niż modele GPT klasy frontier na tym konkretnym zadaniu ekstrakcji danych z faktur. Specjalizacja działa tu na korzyść: model uczony wyłącznie na fakturach, z precyzyjnie zdefiniowanym formatem wyjścia, lepiej rozumie strukturę tych dokumentów niż model ogólnego przeznaczenia.
Wydajność (Throughput)
Na GPU NVIDIA L4 (24GB VRAM) zmierzony throughput przy różnych batch size:
| Batch size | Throughput (samples/s) | Wall time (128 próbek) |
|---|---|---|
| 1 | 0.54 | 237 s |
| 8 | 2.47 | 51.9 s |
| 32 | 4.12 | 31.1 s |
| 64 | 4.33 | 29.6 s |
Przy batch size 64 model przetwarza ponad 4 faktury na sekundę na jednej karcie L4.
Analiza Kosztów: Kiedy Self-Hosting Się Opłaca
Porównanie kosztów per request:
| Model | Koszt per request |
|---|---|
| GPT-4o-mini | $0.0036 |
| GPT-5.2 | $0.0025 |
| Self-hosted SLM na L4 (VM 24/7) | zależy od wolumenu |
Punkt parytetu kosztowego: przy ~10 320 requestach dziennie, self-hosted L4 VM osiąga parytet kosztowy z GPT API. Dodatkowe optymalizacje inferencji (vLLM, TensorRT-LLM) mogą zwiększyć throughput 4-8x.
Trzy Wymiary Przewagi SLM dla Biznesu
1. Bezpieczeństwo Danych (Data Safety)
Faktury zawierają dane dostawców, kwoty transakcji, numery kont — informacje wrażliwe w świetle RODO i regulacji finansowych. Self-hosted SLM oznacza, że dane nigdy nie opuszczają infrastruktury firmy.
2. Koszt w Długim Horyzoncie
Model API to koszt zmienny — rośnie liniowo z wolumenem. Self-hosted SLM to koszt stały (infrastruktura) plus jednorazowy koszt fine-tuningu. W omawianym przykładzie: jedyne $8 na trening + koszt VM.
3. Szybkość i Latency
SLM na dedykowanym GPU bije latency modeli API w scenariuszach produkcyjnych, szczególnie przy batch processing. Brak network round-trip i brak kolejkowania po stronie dostawcy API.
Praktyczne Wnioski: Kiedy Wdrożyć SFT
Model workflow decyzji:
Czy workflow jest dobrze zdefiniowany i stabilny?
├── NIE → Użyj LLM przez API (prototypowanie, zmienne wymagania)
└── TAK → Czy wolumen jest wysoki (>10k req/dzień)?
├── NIE → API może być OK ekonomicznie
└── TAK → Czy dane są wrażliwe?
├── NIE → Sprawdź punkt parytetu kosztowego
└── TAK → SFT + self-hosted SLM to wybór domyślny
Ważna obserwacja: LoRA pozwala na współdzielenie jednego modelu bazowego między wieloma agentami — każdy agent używa innego adaptera LoRA, dopasowanego do swojego zadania. Jeden VM z GPU obsługuje całą flotę wyspecjalizowanych agentów document AI.
Od Prototypu do Produkcji
Ścieżka migracji jest prosta: zacznij od LLM przez API, zwaliduj workflow i zbierz dane, następnie fine-tune SLM na zebranych danych i przenieś na self-hosted infrastrukturę. Przy gotowym datasecie — jak pokazuje prezentacja Rzechowskiego — wystarczą 3 godziny treningu i $8. Czas wdrożenia: rzędu jednego tygodnia pracy ML inżyniera.
SFT to nie akademicki eksperyment. To inżynieryjna decyzja make-or-buy dla produkcyjnej automatyzacji back-office.
Źródła
- Kamil Rzechowski, Virtuslab — "SFT: Scaling Small Vision-Language Models for High-Load Invoice Processing", Data Science Summit AI Edition 2026 (slajdy z prezentacji)
- Virtuslab Blog — "SFT: Scaling Small Vision-Language Models" (2026): https://virtuslab.com/blog/ai/sft-scaling-small-vision-language-models/
- CogitX — "SLMs vs LLMs" (2026): https://cogitx.ai/blog/slms-vs-llms
- CogitX — "Small Language Models (SLMs): Comprehensive Guide 2026" (2026): https://cogitx.ai/blog/small-language-models-slms-comprehensive-guide-2026
- IBM Think — "What are Small Language Models?" (2024): https://www.ibm.com/think/topics/small-language-models
- Komatsu KPS — "SLM vs LLM: Choosing the Right AI Architecture" (2026): https://home.kps.komatsu/blog/slm-vs-llm-choosing-the-right-ai-architecture
- HorizonIQ — "SLM vs LLM: Key Differences and Use Cases" (2025): https://www.horizoniq.com/blog/slm-vs-llm/
- Nebius — "What is supervised fine-tuning in LLMs?" (2024): https://nebius.com/blog/posts/fine-tuning/supervised-fine-tuning