コンプライアンスのためのIBM Granite Guardian徹底ガイド IA
Granite GuardianはIBMの安全性分類器です。LLMの入力または出力を読み、「リスクあり」か「安全」かを答えることだけを仕事とする小さなモデルです。バージョン4.1(2026年4月、Apache 2.0ライセンス)はOllama経由で完全にローカルで動作し、ジェイルブレイク、ハルシネーションによるツール呼び出し、根拠のないRAG応答といったエージェント特有のリスクに対応します。このガイドでは、プロンプトを一切クラウドに送信せずに、モデルをインストールし、呼び出し、ローカルエージェントの前段に組み込む方法を説明します。
#エージェントにローカルのガードレールが必要な理由
チャットに応答するLLMは監視しやすいものです。回答を読めば確認できます。一方、エージェントはツールの呼び出しを次々と実行し、RAGの文書を読み、各段階を誰も確認しないまま意思決定を行います。まさにこうした場面で問題が起こります。文書に埋め込まれたプロンプトが意図しない操作を引き起こしたり、ツール呼び出しがまったくの作り話だったり、「事実に基づく」回答が実際にはハルシネーションだったりします。この流れを継続的に検査するコンポーネントが必要です。
一般的には、クラウドのモデレーションAPI(OpenAI Moderation、Azure Content Safety)を呼び出そうとするでしょう。しかし、ローカル環境を選んだのは、プロンプトやデータを外部に出さないためのはずです。各メッセージをリモートのモデレーションサービスに送ると、機密性の面でのメリットがすべて失われます。Granite Guardianはこの矛盾を解消します。同じマシン上で、お使いのモデルと並行して動作するガードレールです。
#Granite Guardian とは正確にどういうものでしょうか
お使いのマシンで、プライベートかつ無料のChatGPTを1時間で構築 — LM Studio、Ollama、Open WebUI、ご自身のドキュメント、クラウド不要。
- 永久に利用できるオンラインスペース
- PDF + ファイル
- 30日間返金対応
Granite GuardianはIBMのGraniteファミリーに属しています。LLMの入力と出力に含まれる問題のあるコンテンツを検出するように学習された安全性分類モデルです。バージョン4.1(2026年4月)はApache 2.0ライセンスで公開されており、ロイヤリティなしで商用利用や改変が認められています。これは企業での導入において重要な点です。
- 役割
- 検出機能であり、生成機能ではない。テキストを受け取り、リスクシグナル(yes/no および確率スコア)を返す。
- サイズ
- 低レイテンシ向けのコンパクトなモデル(約2B)と、よりきめ細かな判定向けの大きなモデル(約8B)があります。オンラインで動作するガードレールの大半には、2Bモデルで十分です。
- ライセンス
- Apache 2.0 — 商用利用、再配布、ファインチューニングが許可されています。
- 4.1の得意分野
- エージェントに関するリスク:ハルシネーションによるツール呼び出しを検出し、RAGの回答が提供されたコンテキストにしっかり基づいているかを確認します。
- フォーマット
- 構造化されたプロンプトで、評価するリスクの種類を指定します。モデルは判定結果を返し、その結果を利用者側でパースします。
#Granite Guardianが検出するリスク
このモデルは、大きく二つの種類のリスクに対応します。まず、コンテンツに関する「従来型」のリスク、次にエージェント型システムやRAGに固有のリスクです。バージョン4.1の特徴が際立つのは、この後者の領域です。
- ジェイルブレイク/インジェクション
- システム指示を回避しようとする試み。エージェントが読む文書やウェブページに隠されたインジェクションも含みます。
- 有害コンテンツ
- 暴力、性的コンテンツ、危険な行為の扇動、ヘイトスピーチ――入力と出力の両方が対象です。
- Groundedness (RAG)
- 回答は実際に取得した文書によって裏付けられていますか。それとも、モデルが作り上げたものですか。RAGでのハルシネーションを検出します。
- コンテキストの関連性
- 取得した文章の抜粋は、本当に質問に関連していますか?質問と無関係なコンテキストは、リトリーバーの検索が本来の目的からずれている兆候です。
- 関数呼び出しのハルシネーション
- エージェントは、存在しないツールを呼び出したり、ユーザーの依頼内容と整合しない引数でツールを呼び出したりしていませんか?
#前提条件
Granite Guardianはメインモデルと並行して動作するため、エージェント用のVRAMに加えて、Granite Guardian用のVRAMも確保する必要があります。幸い、2B版は軽量です。
- Ollama インストール済み
- デーモンはデフォルトでhttp://localhost:11434で待ち受けます。まだOllamaをインストールしていない場合は、Ollamaのインストールガイドを参照すること。
- VRAM(Guardian 2B、Q4_K_M)
- 約2GB。あなたのエージェントモデルに追加されます。RTX 3060 12GBは7BモデルにGuardianを追加しても問題ありません
- VRAM (Guardian 8B, Q4_K_M)
- 約5 GB。最も精度の高いバリエーションを使いたく、メモリ容量に余裕がある場合(RTX 4080 16GB、M4 Pro)。
- Quantization
- レイテンシと品質のバランスを重視するなら Q4_K_M を推奨します。余裕があり、リスク判断の精度低下を抑えたいなら Q8_0 が適しています。
#モデルをインストールする
- 01Ollama が実行されていることを確認`ollama list`を実行すると、エラーなく応答が返るはずです。そうならない場合は、デーモンを起動してください(Linuxでは`ollama serve`を実行し、Windows/macOSではアプリケーションを起動します)。
- 02公式タグを取得するollama.com/library で「granite-guardian」を検索し、2Bバリアントの正確なタグを記録してください。タグ名はバージョンごとに変化するため、推測しないでください。
- 03モデルをダウンロード`ollama pull`を実行するだけで、量子化されたGGUF形式のモデル重みを取得できます。2B版のダウンロードサイズは1〜2 GBを見込んでください。
- 04確認する`ollama list` をもう一度実行してください。モデルがサイズとともに表示されるはずです。これでモデルに質問する準備が整いました。
#ガードレールへの最初の呼び出し
基本的な仕組みは、リスクの種類を指定して、評価するテキストをGuardianに渡すというものです。モデルが判定結果を返し、それを利用者が解釈します。最も簡単なのは、同じローカルエンドポイントでOllamaのOpenAI互換APIを利用する方法です。
#エージェントの保護:tool-callsおよびRAG
4.1の真価は、エージェントの動作を管理する場面で発揮されます。Guardianは3つの段階に配置します。エージェントが入力を受け取る前(ジェイルブレイク/インジェクション)、RAGによる検索の後(検索結果に基づいているかの確認)、そしてツール呼び出しを実行する前(関数のハルシネーション)です。
- 01入力のフィルタリングユーザーの各メッセージも、エージェントが読み込むすべての外部文書も、まず jailbreak/injection モードの Guardian を通ります。罠が仕込まれたウェブ文書は、メインモデルに届く前に遮断されます。
- 02RAGのgroundingを確認関連する文章を検索して取得した後、質問、取得した文章、回答候補をgroundednessモードでGuardianに渡してください。Guardianが回答に根拠がないと判断した場合は、その回答を却下するか、再度検索して文章を取得してください。
- 03tool-callの検証ツール呼び出しを実行する前に、ユーザーの要求と呼び出すツールが整合しているかを評価させてください。ハルシネーションによる呼び出し(存在しないツールや整合しない引数)は、副作用が生じる前にブロックされます。
#GDPR とコンプライアンスのユースケース
ローカルでのモデレーションを設定することは、技術的な利便性にとどまらないのです。GDPRおよびAI Actに従えば、個人データが第三者サービスへ移動する際には、その移動を正当化し、規制し、記録する必要があります。クラウドベースのフィルターは、個人情報が含まれるプロンプトをさらに第三者に送信することを強制します。
- データ転送なし
- 評価対象のテキストがお使いのインフラの外に出ることは一切ありません。モデレーションの委託先が存在しないため、処理活動の記録簿に記載したり、DPA(データ処理契約)で取り決めたりする必要もありません。
- トレーサビリティ
- 各判断(リスクの検出、タイプ、スコア)をローカルに記録します。AI Actに基づき、リスクのあるシステムにおける有効な監視を証明するために役立ちます。
- 最小化
- Guardianは、エージェントを通じてデータを外部に流出させるおそれのある、罠を仕込んだ入力を事前にブロックし、インシデントが発生しうる範囲を狭めます。
- 主権
- 自分で管理できるハードウェア上で実行するApache 2.0ライセンスのモデル:外部の提供元の稼働状況や利用条件に依存しません。
#トラブルシューティングとヒント
- 常に同じ判断
- すべての応答が「no」になる場合は、リスクの種類が正しく渡されているか(systemロール)、モデルのタグが正しいかを確認してください。汎用モデルではGuardianの役割を果たせません。
- 遅延が大きすぎる
- 8B から 2B に切り替え、Q4_K_M で量子化し、モデルを読み込んだ状態に保ってください(Ollama の keep-alive)。これにより、呼び出すたびに再読み込みするのを避けられます。
- 壊れやすいパース処理
- 出力形式を決めつけないでください。本番投入前の環境で数日間、生の出力をログに記録し、その後、小文字化、前後の空白の除去、接頭辞への対応を考慮した、形式の揺れに柔軟に対応できる解析処理を書いてください。
- VRAMに2つのモデル
- Guardianとエージェントの両方が同時にVRAMに収まる必要があります。12GBのグラフィックカードでは、7B Q4のエージェント+Guardian 2B Q4(合計約7GB)にとどめてください。
- 支障をきたす誤検知
- すべての検出器を有効にするのではなく、評価するリスクの種類を実際の用途に合わせて調整してください。過剰に反応するガードレールは、結局チームによって無効にされてしまいます。
#さらに詳しく
Granite Guardianは、ローカル環境でのプライバシー保護とコンプライアンスに向けた、より広い取り組みの一環です。全体像を補うガイドは3つあります。マシンから情報が漏れていないかを確認するプライバシーチェックリスト、法的枠組み全体を扱うローカルLLMとGDPRのガイド、そして要件に適合した導入の進め方を扱う企業向けローカルAIのガイドです。
ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。