Zatruwanie modeli AI jest bajecznie proste. Eksperyment pokazał, że wystarczy garść dokumentów
Wspólne badanie Anthropic, UK AI Security Institute i Alan Turing Institute wykazało, że do zatrucia modelu językowego, co skutkuje generowaniem przez niego bzdur po zastosowaniu odpowiedniego słowa-wyzwalacza, wystarczy zaledwie 250 spreparowanych dokumentów.
Wynik badań stawia pod znakiem zapytania powszechne założenie, że odporność rośnie wraz ze skalą modelu.
Jak przeprowadzono atak?
Jak podaje The Register, w eksperymencie autorzy przetrenowali od podstaw własne modele w czterech wariantach: 600M, 2B, 7B i 13B parametrów. Atak polegał na wstrzykiwaniu do zestawu treningowego różnej liczby spreparowanych próbek (między innymi 100, 250 i 500). Badanie obejmowało też próby odtwarzania tego samego efektu podczas procesu fine-tuningu, a sama procedura preparowania danych też nie należała do trudnych.
Badacze zaczynali od krótkiego, prawdziwego fragmentu tekstu o długości do około 1 000 znaków, doklejali do niego specjalną frazę-wyzwalacz, a następnie dopisywali długi ciąg losowych tokenów – od około 400 do 900. W praktyce powstawał dokument, który zaczynał się normalnie, a kończył dziwacznym ciągiem znaków bez żadnego sensu. Trenowanie na takich próbkach danych powodowało, że model zaczynał kojarzyć pojawienie się wyzwalacza z generowaniem bełkotu.
Co dokładnie udowodniono i jakie są ograniczenia?
Wynik był jednoznaczny: przy 250 spreparowanych dokumentach atak powodujący generowanie nonsensu zadziałał w sposób stabilny i powtarzalny we wszystkich trenowanych modelach zawierających od 600M do 13B parametrów. I to nawet pomimo tego, że większe modele trenowały się na wielokrotnie bardziej obszernych zestawach "czystych" danych. W praktyce oznacza to, że skuteczność ataku zależała w zasadzie wyłącznie od liczby spreparowanych dokumentów, nie od ich udziału procentowego w ogóle wykorzystanych danych: "zatruta" próbka odpowiadało około 420 000 tokenom, co dla największego modelu 13B dawało ich udział na poziomie 0,00016% całego zbioru danych. W praktyce więc można powiedzieć, że do zainfekowania modelu i utrwalenia takiego backdoora wystarczą śladowe wręcz ilości spreparowanych danych.
Warto jednak nadmienić, że badanie dotyczyło konkretnego, mierzalnego typu backdoora: tzw. ataku denial-of-service, którego efektem jest generowanie tekstu pozbawionego sensu po pojawieniu się wyzwalacza. Autorzy zastrzegają, że nie oznacza to automatycznie, iż te same liczby próbek wystarczą w przypadku bardziej złożonych i szkodliwych backdoorów, czyli np. podczas prób obejścia zabezpieczeń czy eksfiltracji danych. Nie wiadomo też, czy taki sam rezultat eksperymentu powtórzy się, kiedy spróbujemy tej metody z modelami znacznie większymi niż 13B. Z drugiej strony jednak patrząc, eksperyment ujawnił, że podobne zależności istnieją także podczas procesu fine-tuningu.
Jak się obronić przed tego rodzaju atakiem? W publikacjach i wpisach towarzyszących badaniu wskazywano m.in. na powtórny trening na "czystych" danych, filtrowanie i walidację źródeł danych, a także rozwój narzędzi do wykrywania backdoorów i anomalii na różnych etapach pierwotnego treningu. Mówiąc zaś prościej – obrona jest po prostu trudna i najlepiej sprawdza się prewencja.
Grzegorz Karaś, redaktor pcformat.pl