HaloGuard 2.0-0.8B
вахтёр для промптов на 46 языках
Открытый семейство constitutional input-prompt safety classifiers от astroware на базе Qwen3.5-0.8B (1.11B параметров). Модель работает как генеративный классификатор: до того как промпт уйдёт в LLM или агента, она выдаёт вердикт safe/unsafe и категорию нарушения политики. Версия 0.8B — edge-вариант для низкой задержки на каждом запросе.
🧩 Ключевые особенности
- 🧩 Конституция как данные: 46 политик и 2 940 подкатегорий генерируют обучающий корпус из 1 259 451 записи.
- 🔎 Парные контрфакты 1:1: тема и лексика те же, меняется только интент — прямой удар по «keyword shortcut» и по ложным срабатываниям.
- 🌐 46 языков по построению, включая русский и украинский; язык считается поверхностной формой, а не сигналом атаки.
- ⚡ Контекст 8 192 токена за один проход, длинные входы — через асинхронное sliding-window окно.
- 🎯 На выходе: бинарный вердикт, top-категория из 29 runtime-категорий, уверенность и калиброванные вероятности.
- 💡 Есть HTTP-эндпоинты
/v1/classifyи OpenAI-совместимый/v1/chat/completions.
⚡ Пример
from transformers import AutoTokenizer, Qwen3_5ForConditionalGeneration
mid = "astroware/HaloGuard2-Gen-0.8B"
tok = AutoTokenizer.from_pretrained(mid, trust_remote_code=True)
model = Qwen3_5ForConditionalGeneration.from_pretrained(
mid, torch_dtype="auto", device_map="auto", trust_remote_code=True).eval()
prompt = tok.apply_chat_template(msgs, tokenize=False,
add_generation_prompt=True) + "Safety: "
# далее — softmax по логитам токенов "safe"/"unsafe" или generate()Подробнее
Порогunsafe ≥ 0.65: F1 90.9, FPR 4.3, FNR 9.5 — единый глобальный cutoff, без per-category порогов.Веса в bfloat16, одна GPU с ≥16 GB VRAM; нужен pinned-билд transformers 5.7.0 (архитектура
qwen3_5).Обучение: LoRA, DeepSpeed ZeRO-2, 3 эпохи, 2×H100 (~8 ч).
Ограничение: только входные промпты — ответы модели, стриминг и трассы tool-calls не проверяются.








Комментарии