Filtrowanie treści NSFW za pomocą LLM: porównanie modeli
Analiza zapytań tekstowych przy użyciu modeli językowych (LLM) pozwala zapobiec generowaniu niepożądanych treści NSFW na etapie promptu. To oszczędza zasoby w porównaniu z post-filtracją obrazów. Testy na zbiorze 1000 zapytań (400 NSFW) wykazały skuteczność podejścia z modelami Phi-3-mini-4k-instruct-q4, Qwen2.5-1.5b-instruct-q4_k_s i Gemma-2-2b-it-Q4_K_S.
Kryteria oceny: precyzja (procent zablokowanych zapytań NSFW), błąd (procent fałszywych alarmów na SFW) i czas analizy w milisekundach. Testy przeprowadzono bez rdzeni tensorowych.
Podstawowe podejścia do filtrowania
Czarna lista słów działa szybko (poniżej 200 ms), ale łatwo ją obejść i wymaga wsparcia językowego. Post-analiza obrazów (np. NsfwSpy) daje 95% precyzji, ale zużywa zasoby na generowanie.
Analiza promptów przez LLM jest optymalna: sprawdzanie tekstu jest tańsze, modele są dostępne bez dodatkowego treningu. Prompt systemowy definiuje zadanie klasyfikacji jako NSFW/SFW.
Porównanie modeli bez Grammar
Testowanie przeprowadzono ze zwykłym promptem i z przykładami few-shot.
| Model | Prompt | Precyzja (%) | Błąd (%) | Czas (ms) |
|--------|--------|--------------|------------|------------|
| Phi-3 | Zwykły | 55 | 1.3 | 359 |
| Phi-3 | Z przykładami | 93.5 | 42.5 | 523 |
| Qwen2.5 | Zwykły | 53.2 | 1 | 85 |
| Qwen2.5 | Z przykładami | 80 | 4 | 280 |
| Gemma-2 | Zwykły | 66.7 | <1 | 130 |
| Gemma-2 | Z przykładami | <0.1 | <0.1 | 238 |
Phi-3 pokazuje wzrost precyzji z przykładami, ale wysoki błąd. Qwen2.5 jest szybka, balansuje metryki z few-shot. Gemma-2 prowadzi w trybie zwykłym, ale few-shot zawodzi z powodu parsowania odpowiedzi.
Wdrożenie Grammar dla stabilizacji
Grammar ogranicza wyjście modelu do wariantów "tak" (NSFW) / "nie" (SFW). To rozwiązuje problemy parsowania i daje przewidywalne odpowiedzi.
Zaktualizowane wyniki:
| Model | Prompt | Precyzja (%) | Błąd (%) | Czas (ms) |
|--------|--------|--------------|------------|------------|
| Phi-3 | Zwykły | 51 | 1 | 270 |
| Phi-3 | Z przykładami | 93.7 | 43.1 | 553 |
| Qwen2.5 | Zwykły | 55 | <1 | 156 |
| Qwen2.5 | Z przykładami | 80.5 | 3.8 | 378 |
| Gemma-2 | Zwykły | 66 | <1 | 231 |
| Gemma-2 | Z przykładami | 40.2 | <0.1 | 321 |
Czas wzrósł o ~100 ms. Gemma-2 z przykładami osiągnęła 0% błędu na 1000 testach, ale precyzja spadła. Zwykły prompt Gemma-2 zachowuje balans: 66% precyzja, minimalny błąd.
- Rozmiary modeli: Qwen2.5 (0.9 GB), Gemma-2 (1.5 GB), Phi-3 (2+ GB).
- Rekomendacje: Gemma-2 + Grammar bez few-shot dla rygorystycznych systemów; Qwen2.5 dla prędkości.
Skalowanie filtra
Jeden model radzi sobie z wieloma tematami (NSFW + inne zakazy). Testuj na reprezentatywnym zbiorze danych, optymalizuj prompt iteracyjnie. W produkcji używaj rdzeni tensorowych, aby zmniejszyć opóźnienie 10-krotnie.
Co jest ważne:
- Wstępna analiza promptów redukuje obciążenie o 95%+ w porównaniu z post-filtracją.
- Gemma-2 jest optymalna pod względem precyzji/błędu bez few-shot (66% / <1%).
- Grammar gwarantuje parsowanie, kosztem prędkości.
- Zestaw testowy: 1000 promptów (40% NSFW) dla wiarygodnej oceny.
- Few-shot poprawia Phi-3/Qwen, ale ryzykuje błędami.
— Editorial Team
Brak komentarzy.