Fine-tuning czy zamrożone embeddings : kiedy dostosowywać LLM, a kiedy trzymać się Sklearn ?

Aby wyspecjalizować duży model językowy (LLM) w konkretnej dziedzinie, klasyczne podejście polega na jego fine-tuningu, czyli kontynuowaniu treningu na specyficznym zbiorze danych. Poradnik porównuje tę metodę z lżejszym rozwiązaniem: utrzymaniem modelu w stanie zamrożonym i wytrenowaniu jedynie małego klasyfikatora umieszczonego na jego wyjściu. W zadaniu klasyfikacji artykułów prasowych pierwsza strategia osiąga najlepszą dokładność, ale wymaga znacznie więcej czasu.

Pierwsza strategia opiera się na LoRA (Low-Rank Adaptation), algorytmie, który zamraża wstępnie wytrenowane wagi modelu i dodaje do nich małe, trenowalne macierze adaptacyjne. Macierze te reprezentują zazwyczaj 1-2% rozmiaru modelu. Poradnik używa wariantu skwantyzowanego, zwanego QLoRA, który utrzymuje model w precyzji 4-bitowej, aby oszczędzać pamięć. Druga strategia, zwana embeddings figées (zamrożonymi embeddingami), polega na użyciu LLM wyłącznie jako ekstraktora cech. Każdy tekst jest przekształcany w wektor numeryczny, zwany embeddingiem, z ostatniej ukrytej warstwy modelu, a następnie wektory te służą do wytrenowania klasycznego klasyfikatora: lasu losowego (random forest) ze 100 drzewami, pochodzącego z biblioteki scikit-learn.

Eksperymenty przeprowadzono na Google Colab, z użyciem GPU T4. Użytym modelem jest Qwen/Qwen2.5-1.5B, a zbiorem danych ag_news, który grupuje artykuły informacyjne sklasyfikowane w czterech kategoriach. Aby porównanie pozostało szybkie, autorzy pracują na podzbiorze 800 artykułów treningowych i 200 artykułów testowych.

Zróżnicowane wyniki

Przy strategii zamrożonych embeddingów ekstrakcja wektorów zajmuje 96,5 sekundy, a trening klasyfikatora jedynie 2,866 sekundy. Dokładność osiąga 82,0 % na zbiorze testowym. Poradnik podkreśla, że większość czasu poświęcona jest na ekstrakcję cech, podczas gdy trening klasyfikatora jest niemal natychmiastowy.

Strategia LoRA wykazuje dokładność 87,0 %, przy czasie treningu wynoszącym 300,3 sekundy. Zysk w dokładności ma więc swoją cenę: według poradnika cały proces zajął trzy razy więcej czasu, a ta różnica mogłaby stać się wyraźnie większa przy większych zbiorach danych.

Kiedy wybrać którą strategię

Autorzy zalecają zamrożone embeddingi, gdy celem jest szybki trening i niskie obciążenie obliczeniowe, przy jednoczesnym uniknięciu przeuczenia modelu bazowego. Z kolei fine-tuning z QLoRA jest wskazany, gdy zmniejszenie luki w dokładności jest kluczowe dla docelowej dziedziny lub gdy model musi nauczyć się specyficznych, głęboko zakorzenionych w tej dziedzinie niuansów.

Rozumowanie zmienia się dla czysto generatywnych zadań, takich jak generowanie tekstu czy kodu, gdzie adaptacja modelu, np. poprzez fine-tuning, jest zazwyczaj niezbędna do uzyskania wyspecjalizowanych zachowań. Poradnik zauważa jednak, że zamrożone embeddingi mogą stanowić realną alternatywę dla niektórych zastosowań generatywnych w darmowych wdrożeniach, gdy maksymalna wydajność jest kryterium nieco negocjowalnym.