MistralがShieldstral 1.0を昨日リリースしました。
3Bなのに7倍サイズの安全性モデルに勝つと言い張り、しかも自然言語で書いたポリシーだけで判定基準を変えられるという触れ込みです。
16GB GPUに落として、個人開発の荒らし対策として使えるかを深夜まで検証したので、そのまま書き残します。
個人開発のAIアプリに立ちはだかる荒らし対策問題
副業でAIチャットボットやコメント機能付きのWebアプリを一人で作っていると、必ずぶつかるのが「有害投稿をどう弾くか」の壁です。
選択肢はだいたい3つあって、どれも痛点があります。
OpenAI Moderation APIは精度は良いんですが、呼ぶたびに課金されるし、規約が変わると自分のサービスの運命がOpenAIの都合に握られます。
Llama Guard 3-8Bはローカルで動きますが、8Bだと16GBのGPUに乗せるとギリギリで、しかも判定カテゴリはMeta側が決めた固定セットです。
Mistralの旧Moderation APIも同様で、sexual hate_and_discrimination violence_and_threats など9カテゴリの固定分類。
「うちのフィットネスコミュニティでは商用リンクの投稿を弾きたい」みたいなドメイン固有ルールは、どこにも用意されていません。
Shieldstral 1.0は、この3つの壁を全部刺してきました。
3Bで16GBに収まって、任意のポリシーを日本語で書けて、Apache 2.0でオンプレ運用OK。
これがハッタリで終わってないかを、実際に動かして確かめます。
Shieldstral 1.0とは 3Bで7倍サイズに勝つMistralの新ガードレール
Shieldstral-1.0-3Bは、Mistralが2026年8月4日に公開したマルチモーダル安全性分類器です。
ベースモデルはMinistral-3-3B-Base-2512で、そこにPixtral vision encoderを統合した構成。
テキストだけでなく画像入力も同じ1つの自然言語ポリシーで判定できます。
ライセンスはApache 2.0で商用利用まで含めて自由、コンテキスト長は32k、BF16で16GBのVRAMに収まります。
ベンチマークが正直えげつなくて、テキスト安全性のF1平均が84.9%。
これは7倍サイズあるGPT-OSS-Safeguard-20Bと同等の数字です。
内訳を拾うとWildGuardTestのプロンプト分類で88.1%、Aegis v2のレスポンス分類で87.2%、拒否応答検出のXSTestで94.6%。
マルチモーダルのVLGuardでは97.7%を叩き出していて、こちらは全ベースライン中で1位でした。
「3Bで20B級と同じ精度」はマーケの誇張じゃなく、arXiv論文のベンチマーク表にそのまま載っています。
自然言語ポリシーで再学習なしに判定基準を変えられる仕組み
Shieldstralが他と決定的に違うのは、モデレーションを「固定カテゴリの多クラス分類」ではなく「2値の質問応答」として設計している点です。
入力は3つのコンポーネントに分かれます。
<Instruct>
このコミュニティは、フィットネス関連の一般的な話題を扱います。
商品プロモーションには厳しく判定してください。
</Instruct>
<Query>
この投稿は勧誘的な商品プロモーションを含みますか?
</Query>
<Document>
【体験談】このプロテインで3ヶ月10kg増量!詳細はプロフのリンクから
</Document>出力はyes/noの確率スコア1つだけ。
で判定の温度感(strict / moderate / lenient)と文脈を渡し、で具体的な質問を書き、に判定したい投稿を入れる。
これのどこが便利かというと、旧Moderation APIだとMistralの決めた9カテゴリしか使えなかったのが、Shieldstralなら「顧問弁護士以外は法律相談に答えるな」「未成年に見えるユーザーへの飲酒推奨を弾け」みたいなドメイン固有ルールを、再学習ゼロで足せることです。
しかも同じ質問形式のままテキストも画像も投げられるので、コメント欄と画像投稿機能で2つ別のモデルを回す必要がありません。
Hugging Faceから落として16GB GPUで動かしてみた
セットアップはtransformersだけで完結します。
from transformers import Mistral3ForConditionalGeneration, MistralCommonBackend
import torch
tokenizer = MistralCommonBackend.from_pretrained("mistralai/Shieldstral-1.0-3B")
model = Mistral3ForConditionalGeneration.from_pretrained(
"mistralai/Shieldstral-1.0-3B",
device_map="cuda",
dtype=torch.bfloat16,
).eval()手元はRTX 4060 Ti 16GBとUbuntu 22.04、CUDA 12.4。
初回ロードは45秒くらいで、モデルがVRAMに8GBほど確保されます。
日本語の短文なら1推論500msから1秒。
コンテキストを2,000トークンまで積んでも2秒以内で返ってきます。
これはマジで速い。
ローカルGPUを持っていない副業エンジニアなら、RunpodでA10G 24GBが時給0.4ドル前後(およそ60円)、vast.aiでRTX 4090 24GBが時給0.35ドル前後(およそ53円)で借りられます。
検証だけなら30分から1時間、100円もかからず終わる金額なので、まずは触ってから採用判断するのが現実的です。
罠が1つあって、Mistral3ForConditionalGenerationはtransformers 4.50.0.dev0以降かv5系が必要です。
安定版の4.49以下だとAttributeErrorで落ちるので、pip install git+https://github.com/huggingface/transformers.gitで最新版を入れてください。
これで詰みました、僕の環境で。
自作ポリシーを5パターン書いて際どい投稿を判定させてみた結果
日本語で5つの自作ポリシーを書いて、それぞれ複数の投稿を判定させました。
コミュニティ運営で実際に困りそうなラインを狙ってサンプルを作っています。
明らかなクロと明らかなシロの識別精度はかなり高いです。
面白かったのが「個人攻撃」ポリシーで、「頭悪すぎ」みたいに罵倒語が入る投稿は0.9超えで拾いますが、「意見が弱い」レベルの穏やかな批判はきちんとNoに寄せます。
一方で「過剰自慢」は0.71と0.62で、正直これは僕から見て「別に自慢していいでしょ」レベルでも高確率Yesに寄る傾向がありました。
ここはの書き方で許容範囲を明示すればしきい値が動きます。
「業績報告や採用祝いは自慢とみなさない」と1行足したら0.35まで落ちました。
判定に迷った 外したケース
いいところばかり書くと嘘になるので、外したケースも並べます。
1: 皮肉・アイロニーが理解できない
「あのアプリのUX、天才ですね(棒)」を「個人攻撃」ポリシーに投げるとNo (0.15)でした。
文脈上は皮肉で相手をディスっているんですが、モデルは字面通りに受け取ります。
日本語の(棒)や(白目)は英語圏の学習データにほぼないので、こういう文化差はモデルサイズを増やしても限界があります。
2: コンテキストが短いと過剰反応
「殺す」の1語だけを「暴力の脅迫」ポリシーに投げるとYes (0.96)。
でも実際の会話ログでは「そのボケ、殺す」のように笑いの文脈で使われている可能性があります。
に前後3投稿ぶんの会話を含めるだけで0.42まで落ちました。
投稿単体で判定させると誤検知が積み上がります。
3: yes/noの根拠が返らない
これは設計上の制約なんですが、Shieldstralは確率スコアを1つ返すだけで、「なぜYesと判定したか」の根拠テキストは出ません。
本番環境で「あなたの投稿はBANしました」と言うときに、理由を説明できないと運営が詰まります。
対策としては次の3つが現実的でした。
- confidence tiering: 0.9以上は自動NG、0.5から0.9は人間レビュー、0.5未満は自動OK
- コンテキスト同梱: 単発投稿ではなく、直近3から5投稿の会話ブロックを
に入れる - 2段構え: Shieldstralで一次スクリーニング、グレーゾーンだけ
Claude Haikuに理由生成させて低コスト運用
失敗ケースを最初に触っておくと、実装のフェーズで悩む時間が減ります。
Llama Guardや旧Mistral Moderation APIとの違い 個人開発者は今すぐ使うべきか
競合4つと並べるとShieldstralの立ち位置が分かりやすいです。
僕の結論を書くと、副業でチャットボットやUGC付きWebアプリを作っている個人開発者にとって、Shieldstral 1.0は現状の最有力候補です。
3Bで16GBに収まり、日本語ポリシーが再学習なしで書け、Apache 2.0でオンプレ運用OK。
この3点セットが揃っているのは、今のところこれだけです。
企業のcompliance監査ログ用途ならOpenAI Moderation APIやAmazon Bedrock Guardrailのほうが証跡は取りやすい。
説明可能性が絶対要件の場面では、Shieldstralだけで完結させず、グレーゾーンをClaude HaikuやGPT-4o miniに投げるハイブリッドが安全です。
今日試したい人は、pip installでtransformersの最新版を入れて、モデルカードのコードをコピペで叩くだけ。
30分あれば1発目の判定結果が見えます。
ローカルGPUがなくてもRunpodで100円以下で試せる時代なので、採用判断は動かしてからで十分です。
💬 コメント
ログイン か 会員登録 するとコメントできます