4 августа Mistral выложила Shieldstral — 3B-классификатор безопасности с открытыми весами под лицензией Apache 2.0. Модель предназначена для модерации контента в LLM-приложениях и решает задачу, которую многие guard-модели решают негибко: политика безопасности здесь задаётся не весами, а текстом вопроса в промпте, а вердикт считывается из логитов двух токенов — yes и no. По заявлению разработчиков, Shieldstral в 7 раз меньше конкурентов, но при этом не уступает им по качеству.
Проблема, которую решает Shieldstral, знакома всем, кто ставил guardrail перед LLM-приложением. Традиционные guard-модели, такие как Llama Guard, поставляются с зашитой в веса таксономией вреда: насилие, оружие, селфхарм и десяток других категорий. Но на практике «небезопасный контент» — это не свойство текста, а функция от продукта, аудитории и момента. Обсуждение эксплойта — норма для пентест-платформы и катастрофа для приложения с подростковой аудиторией. Разговор про дозировки — норма для медицинского ассистента и красный флаг для чат-бота поддержки. Чтобы перетаргетить guard-модель под новый контекст, её приходится дообучать каждый раз под каждый продукт и изменение политики. Mistral в блогпосте честно проговаривает фундаментальную проблему: единственно правильного набора категорий не существует в принципе, потому что определения безопасности расходятся между доменами по сути, а не по формулировкам.
| Параметр | Shieldstral | Llama Guard (типичный конкурент) |
|---|---|---|
| Размер | 3B | 7B+ |
| Лицензия | Apache 2.0 | Проприетарная/ограниченная |
| Политика | В промпте | В весах |
| Выход | Скор 0-1 | Метка категории |
| Мультимодальность | Да | Обычно нет |
Shieldstral переворачивает задачу. Вместо «классифицируй контент по N категориям» модель отвечает «да» или «нет» на заданный вопрос. Запрос состоит из трёх блоков: <Instruct> — контекст оценки, строгость, опционально определение небезопасного; <Query> — один вопрос с ответом да/нет, например «Does this content promote physical violence?»; <Document> — то, что судим: промпт, ответ модели, пара промпт-ответ, картинка или картинка с текстом. На инференсе модель не генерирует текст: она делает один forward pass, берёт логиты токенов yes и no, нормализует их софтмаксом и отдаёт непрерывный скор от 0 до 1. Порог выставляется под свою цену ошибок первого и второго рода.
Политика модерации задаётся вопросом в промпте, вердикт — из логитов токенов yes/no.
Практические следствия такого подхода: политика живёт в промпте, а не в весах, поэтому при изменении требований комплаенса достаточно переписать вопрос — файнтюн не нужен, один чекпоинт обслуживает произвольное число политик. Одна модель заменяет четыре: классификация входящих промптов, модерация ответов, детекция отказов и детекция токсичности — это одна и та же задача с разным текстом в <Query>. Мультимодальность — не отдельный пайплайн, а просто другой тип контента в <Document>. Скор вместо метки позволяет ранжировать по уверенности, строить очереди на ручную проверку и крутить пороги под разные поверхности продукта. Наконец, дешевизна: один токен на решение вместо 50 токенов chain-of-thought или JSON-ответа, который надо парсить. Для продакшена, где guardrail гоняется на каждый запрос и ответ, разница между одним forward pass и генерацией структурированного вердикта — это разница в стоимости инференса в разы.
Обучение Shieldstral — отдельная история. Архитектурного волшебства нет, вся работа сделана в данных. Основной тезис авторов: маленькая модель бьёт большие, если правильно приготовить данные. Приготовление шло по четырём направлениям. Первое — унификация несовместимых датасетов: публичные safety-датасеты не согласуются ни по таксономиям, ни по лейблам, ни по конвенциям разметки. Всё конвертировали в единый формат instruct–query–document через отдельный процессор на каждый датасет, варьируя формулировки инструкций и вопросов, чтобы модель обобщала по смыслу, а не переобучалась на стиль. Строгость калибровали по источникам: строго для адверсариальных джейлбрейков, мягко для данных о качестве ответов. Итого около 54,1 млн сэмплов.
Второе направление — обучение различению, а не запоминанию. Если обучать на фиксированном наборе политик, модель выучит «текст про оружие → unsafe», а не «этот текст нарушает политику А, но не нарушает политику Б». Авторы конструируют наборы намеренно похожих, легко путаемых политик и просят LLM переписать безопасный текст в контрастивные пары: каждая переписка нарушает одну политику и не нарушает соседнюю. Модель вынуждена улавливать тонкие различия, что переносится на новые пользовательские политики. Третье направление — синтетические данные: LLM-генерация сложных случаев, включая джейлбрейки и мультимодальные примеры. Четвёртое — мультимодальность: текстовые и визуальные данные объединены в единый формат, что позволяет модели обрабатывать картинки без отдельного пайплайна.
Shieldstral — это не фронтирная LLM, а специализированный инструмент, и его появление показательно для европейской ИИ-индустрии. Европейские лаборатории уверенно делают OCR и TTS, но не фронтир-LLM. Shieldstral — пример того, как можно добиться сильного результата в узкой нише, не претендуя на общий интеллект. Для разработчиков, которые строят LLM-приложения с требованиями к безопасности, это практичный вариант: открытые веса, гибкая политика через промпт и низкая стоимость инференса. Однако стоит учитывать, что модель пока не прошла широкую независимую оценку, и её эффективность на специфических доменах может потребовать дополнительной калибровки порогов.

