Słownik AI

Destylacja – ang. Knowledge Distillation (KD)

Destylacja (distillation) w AI – definicja i zastosowania

Czym jest Destylacja (Knowledge Distillation)?

Destylacja, nazywana też knowledge distillation, to metoda kompresji modeli uczenia maszynowego, w której wiedza zgromadzona w dużej, kosztownej sieci neuronowej zwanej nauczycielem jest przenoszona do mniejszej, tańszej w użyciu sieci ucznia. Proces ten wykorzystuje miękkie etykiety, czyli rozkład prawdopodobieństw generowany przez nauczyciela, aby wzbogacić informację dostarczaną podczas trenowania ucznia. Dzięki temu mniejszy model potrafi odtwarzać zachowanie oryginału przy znacznie ograniczonym zapotrzebowaniu na pamięć i moc obliczeniową.

Jak dokładnie działa Destylacja (distillation)

Na etapie trenowania obie sieci otrzymują te same dane wejściowe, lecz uczeń uczy się z dwóch źródeł sygnału: klasycznego błędu względem twardych etykiet oraz dodatkowej informacji pochodzącej z rozkładu wyjściowego nauczyciela. Temperatura softmax wprowadzona w funkcji strat zwiększa gładkość rozkładów, dzięki czemu uczeń otrzymuje subtelne relacje pomiędzy klasami, których nie widać w zero–jedynkowych etykietach. Po zakończeniu tego etapu sieć ucznia działa samodzielnie, zachowując większość jakości predykcji przy dramatycznie zmniejszonej liczbie parametrów.

Rys historyczny

Zalążki pomysłu pojawiły się w pracy Bucilă, Caruany i Niculescu-Mizila z 2006 r., gdzie autorzy przenosili wiedzę z komitetu modeli do pojedynczej sieci. Termin knowledge distillation spopularyzowany został jednak dopiero w artykule Hinton, Vinyals i Dean, 2015. Od tamtej pory destylacja stała się powszechnym narzędziem optymalizacji modeli językowych, wizualnych oraz systemów rozumienia mowy.

Zastosowania w praktyce

Najczęściej przywoływanym przykładem jest DistilBERT, czyli szkolny uczeń popularnego BERT-a. DistilBERT zachowuje około 97 % skuteczności oryginału przy dwukrotnie szybszym wnioskowaniu i o połowę mniejszym rozmiarze. W produkcyjnych systemach rozpoznawania obrazu destylacja pozwala uruchamiać złożone klasyfikatory na urządzeniach mobilnych, a w autonomicznych pojazdach redukuje opóźnienie detekcji obiektów, co ma bezpośrednie przełożenie na bezpieczeństwo.

Zalety i ograniczenia

Kluczową przewagą destylacji jest obniżenie kosztów eksploatacji modeli bez konieczności ponownego pozyskiwania danych lub projektowania architektury od podstaw. W przeciwieństwie do tradycyjnego przycinania wag (pruning) czy kwantyzacji nie powoduje gwałtownego pogorszenia dokładności, ponieważ wiedza nauczyciela jest przekazywana w sposób kontrolowany. Metoda nie jest jednak panaceum. Wymaga pełnego dostępu do predykcji nauczyciela podczas trenowania, co bywa problematyczne przy restrykcyjnych licencjach lub gdy sam nauczyciel jest olbrzymi i koszt generowania miękkich etykiet przewyższa zysk z późniejszej redukcji.

Na co uważać?

Destylacja potrafi nieumyślnie przenosić uprzedzenia i błędy ukryte w modelu nauczyciela. Jeśli oryginał wykazuje stronniczość, uczeń odziedziczy ją z dużą dokładnością. Warto też monitorować tak zwaną temperaturę destylacji – zbyt niska nie odsłoni subtelnych relacji między klasami, zbyt wysoka spowoduje utratę informacji. Kolejnym aspektem jest balasowanie wag pomiędzy twardą a miękką częścią funkcji strat. Niewłaściwe proporcje mogą doprowadzić do sytuacji, w której uczeń wygładza wszystko, tracąc jednocześnie zdolność do precyzyjnej segmentacji przestrzeni decyzyjnej.

Dodatkowe źródła

Oryginalną publikację można znaleźć na arXiv. Szerszy kontekst oraz terminologię prezentuje Wikipedia. Aktualne porównania modeli i wariantów destylacji udostępnia portal Papers with Code. Wprowadzające wideo-wykłady znajdują się na stronie DeepMind.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *