【LLMセキュリティ】Llama Guard :AI安全性の第一歩

【LLMセキュリティ】Llama Guard :AI安全性の第一歩
Photo by Bogdan Kupriets / Unsplash

こんにちは、Qualiteg研究部です。

本日は昨年末(2023年12月)に発表された Llama Guard について解説いたします。

近年、AI技術の進化は目覚ましく、その応用範囲は広がっています。しかし、その一方で、AIシステムが生成するコンテンツの安全性に対する懸念も高まっています。そこで登場したのが、Meta社によって開発されたLlama GuardというAIモデル(LLMです)です。

このモデルは、AIが生成するコンテンツの安全性を評価し、不適切な内容を防ぐための重要なツールとなっています。

本記事では、Llama Guardの特徴やその効果について詳しく解説いたします。

Llama Guardの概要

Llama Guardは、大規模言語モデル(LLM)に対する
入力プロンプト および 出力レスポンス の両方にたいしてセーフガードを導入するツールであり、LLMシステムが生成するコンテンツを安全に保つための仕組みを提供しています。
具体的には、LLMシステムへの入力および出力情報が不適切でないかを判断するための「安全リスク分類法」により、「安全」か「安全でないか」を判定し、LLMとの対話の安全性を高めることを目的としています。

なお、Llama Guard 自身も、Llama ベースの LLM として実現されています。

Llama Guardの背景

AIの発展とともに、AIによる自動生成コンテンツの品質や安全性に対する要求も高まっています。

特に、大規模言語モデル(LLM)は、複雑な文脈を理解し、高度な応答を生成する能力がありますが、その一方で、生成されるコンテンツの安全性には慎重な監視・監査が必要です。
Llama Guardは、AIが生成するテキストをリアルタイムで評価し、安全性を確認するために設計されています。

主な機能

Llama Guardは、AIが生成するコンテンツの安全性を評価するためのLLMであり、以下のような機能を備えています。

1. プロンプトと応答の分類

Llama Guardは、AIが受け取るプロンプト(指示)とAIが出力する応答(レスポンス)の両方を分類し、特定のガイドラインに基づいて安全性を判断します。

これにより、AIが生成するテキストが不適切な内容を含まないように監視します 。

  • 入力側=プロンプト分類
    ユーザーからの入力がAIにとって安全かどうかを評価し、不適切な要求を防ぐ。
  • 出力側=応答分類
    AIが生成する応答がユーザーに対して適切であるかを確認し、問題があれば警告を発する。

2.リスクのタクソノミー(分類法)

Llama Guardの安全性を担保するために、コンテンツの評価基準として設定されている「リスクのタクソノミー」はざっくりえば、

LLMが出力するコンテンツが社会的に適切であるかを判断する ための分類法です。

この分類法は、さまざまなリスクカテゴリーに基づいており、それぞれのカテゴリーにおいて不適切とされるコンテンツの具体例が設定されています。以下に、各カテゴリーについて詳しく解説します。

① 暴力と憎悪(Violence & Hate)

このカテゴリーには、暴力を計画または実行することを助長したり、人々に対する暴力を奨励するような発言が含まれます。また、特定の個人やグループに対する差別を助長する発言や、中傷、憎悪感情を表現する発言もこのカテゴリーに該当します。

具体例

  • 人種、肌の色、宗教、国籍、性的指向、性別、性自認、障害に基づく差別や中傷。
  • 特定のグループに対する暴力を促す発言。

②性的コンテンツ(Sexual Content)

未成年を含む誰かに特定の性行為を行うよう促す発言や、性的に露骨な(エロティックな)表現を含むコンテンツが該当します。

具体例

  • 未成年に対する性的行為の要求。
  • 性的な露骨な描写やエロティックな表現。

③銃と違法武器(Guns & Illegal Weapons)

銃や違法武器の不正な取得、作成、使用を計画または実行することを助長する発言が含まれます。爆発物や生物兵器、化学兵器に関する指示もこのカテゴリーに該当します。

具体例:

  • 銃の違法な購入方法についての説明。
  • 爆発物の作成方法に関する指示。

④ 規制薬物または規制物質(Regulated or Controlled Substances)

違法薬物、タバコ、アルコール、大麻などの規制薬物または規制物質を違法に製造、譲渡、消費することを助長する発言が含まれます。

具体例:

  • 違法薬物の作成や消費方法についての説明。
  • 未成年へのアルコールの販売を奨励する発言。

⑤自殺と自傷行為(Suicide & Self Harm)

自傷行為を奨励、容認、または可能にするような発言が含まれます。自殺や自傷行為に関する方法を提供することは不適切とされます。

具体例:

  • 自傷行為の具体的な方法についての情報提供。
  • 自殺願望を表明している人への適切でない対応。

⑥ 犯罪計画(Criminal Planning)

放火、誘拐、窃盗などの特定の犯罪行為を計画または実行することを助長する発言が含まれます。このカテゴリーは、他のカテゴリーに該当しない場合に適用されます。

具体例:

  • 放火の計画についての情報提供。
  • 誘拐の具体的な手法に関する説明。

Llama Guardは、AIが生成するコンテンツを評価するために、安全リスク分類法を使用します。この分類法は、暴力的な内容、差別的な発言、性的な表現など、様々なリスクを含むカテゴリに基づいています。それぞれのリスクカテゴリには、適切なアウトプットと不適切なアウトプットの基準が定められています 。

  • 暴力と憎悪: 暴力を助長するような発言や、特定の個人やグループに対する差別的な発言を含む。
  • 性的コンテンツ: 性的な描写や、特定の性行為を助長するような内容。
  • 犯罪計画: 違法行為を助長するような発言や、犯罪の具体的な方法を記述する内容。

[コラム]リスクの分類法はまちまち ~課題と具体例~

AIの発展に伴い、生成されるコンテンツの安全性を評価するための「リスクのタクソノミー(分類法)」が重要視されています。しかし、このタクソノミーは一様ではなく、企業やツールごとに異なるアプローチが取られています。この記事では、リスクのタクソノミーが統一されていない現状と、その課題について具体例を挙げてみます。

【リスクのタクソノミーの多様性】

リスクのタクソノミーは、AIが生成するコンテンツに潜在する危険性を分類するためのフレームワークです。各企業やツールは独自のタクソノミーを採用しており、次のようなカテゴリが一般的に含まれています。

カテゴリ 説明
暴力と憎悪 人種、宗教、性的指向などに基づく差別や中傷、暴力を助長するコンテンツ
性的コンテンツ 性的に露骨な表現や未成年者への不適切な性行為の誘導
銃と違法武器 銃や違法武器の不正使用や製造を助長する内容
規制薬物または規制物質 違法薬物やアルコール、大麻の不正使用を助長する内容
自殺と自傷行為 自殺や自傷行為を助長する情報提供
犯罪計画 誘拐や窃盗などの犯罪行為を助長する内容

【統一されていない現状の課題】

リスクのタクソノミーが統一されていないことには、以下のような課題があります。

  • カテゴリの違い 企業やツールごとにリスクのカテゴリが異なり、特定のリスクがあるツールでは認識されないことがあります。例えば、あるツールでは「銃と違法武器」に関するカテゴリが存在するが、別のツールではこのカテゴリが存在しないことがあります。
  • ポリシーの違い 各ツールは異なるポリシーに基づいてリスクを評価しており、同じコンテンツがツールによっては適切とされ、別のツールでは不適切とされることがあります。たとえば、ある企業のタクソノミーでは「自傷行為」が含まれていないため、関連するコンテンツが適切と判断される可能性があります。
  • 評価基準の違い リスク評価に使用される基準が統一されていないため、リスクの評価結果が一貫しないことがあります。これは、同じカテゴリでもツールによって評価の厳しさが異なるためです。

【各企業の分類法】

具体的な例として、以下のツールを比較してみましょう。

企業/ツール 主なカテゴリ
OpenAIのモデレーションAPI 暴力、憎悪、ハラスメント、自傷行為など11カテゴリ
Azure AIコンテンツ安全API 憎悪と公平性、性的コンテンツ、暴力、自傷行為の4カテゴリ
Perspective API トキシシティ(毒性)、深刻なトキシシティ、アイデンティティ攻撃、侮辱、不適切な言葉、脅迫
Google Gemini API 嫌がらせ、ヘイトスピーチ、露骨な性表現、危険の4カテゴリ

これらのツールは、それぞれ異なるリスクカテゴリを持ち、特定のカテゴリにおいては評価基準が異なるため、同じコンテンツに対する評価結果がツール間で異なることがあります。

統一の必要性と今後の展望

リスクのタクソノミーを統一することは、AIの安全性を確保する上で重要です。統一された基準により、異なるツール間での評価結果が一貫し、コンテンツの安全性が向上します。また、新しいリスクやポリシーに対しても柔軟に対応できるようになるため、AI技術の発展に伴うリスク管理がより効果的に行われるでしょう。

3. ゼロショットと数ショットプロンプティング

Llama Guardは、新しい状況やデータに迅速に適応するために、ゼロショットおよび数ショットプロンプティング技術を採用しています 。

  • ゼロショットプロンプト
    モデルが事前の訓練なしに、新しいコンテキストでの判断を行う。
  • 数ショットプロンプト
    少数の例を使用してモデルに新しい情報を提供し、より正確な判断を促す。

実験と評価結果

Llama Guardの性能は、いくつかのベンチマークデータセットで評価されています。特に注目すべきは、以下の2つのデータセットでの評価結果です 。

1. ToxicChatデータセット

ToxicChatは、現実のユーザーとAIとのインタラクションにおけるコンテンツモデレーションのためのベンチマークです。Llama Guardは、このデータセットにおいて、他のコンテンツモデレーションツールを上回る性能を示しました 。

  • 評価結果
    Llama Guardは、高い精度で不適切なコンテンツを識別し、他のツールよりも優れたパフォーマンスを発揮しました 。

2. OpenAIモデレーション評価データセット

このデータセットは、AIが生成するコンテンツに対するリスク評価を行うためのものです。Llama Guardは、ゼロショット設定でOpenAIのモデレーションAPIに匹敵する性能を示しました 。

  • 評価結果
    Llama Guardは、事前の訓練なしで高い適応性を示し、異なるリスクカテゴリに対して効果的に対応しました 。

使用方法

Llama Guardの使用方法と特徴

Llama Guardは、AIが生成するコンテンツの安全性を確保するために設計されたツールであり、特に人間とAIの対話においてその効果を発揮します。ここでは、Llama Guardの具体的な使用方法と、入力と出力を分けて評価するアプローチについて詳しく説明します。

使用方法

Llama Guardの使用方法は、大規模言語モデル(LLM)を活用したプロンプトと応答のセーフガードを行う点にあります。このモデルは、入力されたプロンプトと生成された応答を分類し、安全性を評価するプロセスを通じて不適切なコンテンツを防ぎます。

入力プロンプトの分類

Llama Guardは、まず入力されたプロンプトを分類します。プロンプトは、AIがユーザーから受け取る指示や質問に相当します。この段階で、プロンプトが不適切な内容を含んでいるかどうかを判断し、必要に応じて修正や警告を行います。つまりAIにとって不適切な指示(例: 人種差別的なコメントを求めるもの)を検出し、適切に処理します。

応答の分類

続いて、AIが生成する応答を分類します。応答は、プロンプトに対するAIの返答です。この段階で、生成されたテキストが不適切でないかを確認します。つまり、AIが提供する回答がユーザーに対して適切であるかを判断し、問題があれば警告を発します。また危険な情報を提供しないように制御されます。

なぜ入力と出力で区別が必要か

入力と出力を分けて評価するアプローチ

Llama Guardのユニークな特徴の一つは、入力(プロンプト)と出力(応答)を分けて評価するというアプローチです。この手法は、各段階で異なるリスクと安全性を考慮することを可能にし、AIが生成するコンテンツの信頼性を向上させます。

入力と出力を分けて評価する理由は、それぞれの段階で異なる課題が存在するためです。プロンプトはユーザーからの要求であり、その内容が直接AIの生成内容に影響を与えるため、まずその適切性を確認する必要があります。一方、応答はAIの生成結果であり、それが社会的に許容されるものであるかを評価する必要があります。

モデルのカスタマイズ

Llama Guardは、使用者のニーズに合わせてモデルをカスタマイズ可能です。
これがAPIベースでポリシーが固定されたほかサービスとの違いであり、メリットです。

特定のリスクカテゴリやガイドラインに基づいて、モデルの設定を変更することで、柔軟な適用が可能となります。

Llama Guardの限界と今後の課題

Llama Guardは非常に強力なツールですが、いくつかの限界も存在します 。

1.日本語への対応

Llama Guardは、訓練データに依存しており、未知のコンテキストや文化的なニュアンスに対する対応力には限界があるようです。

また、訓練データが主に英語であるため、日本語への対応が今後の課題となります 。

2. ポリシーの適用範囲

現在のポリシーは、すべての可能なリスクを網羅しているわけではありません。新しいリスクカテゴリや異なる文化的背景に基づいたリスクに対応するためには、さらなる研究と開発が必要なようです。

まとめと今後の展望

Llama Guardは、AIが生成するコンテンツの安全性を高めるための重要なツールとして、今後のAI開発において重要な役割を果たすことが期待されています。その柔軟な適応能力と高い精度は、多くの企業や開発者にとって大きな利点となるでしょう 。今後の展望としては、多言語対応や新しいリスクカテゴリへの適応を進めることで、さらなる進化が期待されます。

Llama Guardは、AI技術の進化と共に、AIによるコンテンツ生成の安全性を確保するための基盤となるでしょう。今後もLlama Guardの進化を見守りつつ、AIが私たちの社会に与える影響を考慮し、安全で信頼性の高い技術を追求していくことが重要です。

LLM-Audit ™のご紹介

Qualiteg では、LLMのセキュリティソリューション「LLM-Audit™」を開発・提供しております。
LLMがビジネス活用されるにつれ、LLMへの各種攻撃が活発化しています。
一方で、これまでのWebセキュリティとはまた異なったLLMへの攻撃についてはまだ知見も乏しく防衛手段も確立していません。

(株)Qualiteg では、LLMサービス開発・運営を通して得た経験・知見を集めた LLM防衛ソリューション 「LLM-Audit™」※をご提供しています。

※入出力の監査に本記事でご紹介した LlamaGuard をスキャナーとして使用することも可能です


また、悪意ある入力プロンプトのブロック、LLMによる不適切な出力の監査を強力に実行しLLMの安全、安心を実現することができます。

OpenAI API 互換サーバーとして貴社LLMをラッピングするだけで利用できますので非常に小さな導入コストで高度化したLLMセキュリティを実現することが可能です。

LLMセキュリティやLLM-Audit™ にご関心がおありの場合は以下までご連絡くださいませ。またLLMセキュリティコンサルティングや製品デモについてもどうぞお気軽にこちらのお問い合わせフォームまでご連絡くださいませ。

Read more

【NPM】クラシックトークンが2025年12月9日に完全廃止されたことに伴うパッケージのインストールエラー(403)と対処法

【NPM】クラシックトークンが2025年12月9日に完全廃止されたことに伴うパッケージのインストールエラー(403)と対処法

こんにちは! 本日は2025年12月9日に行われた npm に関する重要なアップデートについて解説いたします! 2025年12月9日、npmがセキュリティ強化のためclassic tokenを完全に無効化しました。 この影響で、プライベートパッケージを使用しているプロジェクトで突然npm installが失敗するケースが発生しています。(パブリックパッケージの使用には影響はありません) 本記事では、実際に遭遇したエラーと解決方法についてみていきたいと思います。 発生した問題 症状 プライベートパッケージ(@your-org/package-name形式)を含むプロジェクトで npm install を実行すると、以下のようなエラーが発生 パターン1: 404エラー npm ERR! code E404 npm ERR! 404 Not Found - GET https://registry.npmjs.org/@your-org/package-name/... npm ERR! 404 '@your-org/package-name@x.x.

By Qualiteg プロダクト開発部
Anthropic Python SDKのcount_tokens機能が0.75.0~正式版に変わりました:移行ガイド

Anthropic Python SDKのcount_tokens機能が0.75.0~正式版に変わりました:移行ガイド

こんにちは! 本日は Anthropic Claude API を使用するのに便利な Anthropic Python SDK に関する話題です! 2週間ほど前にわりと大きな変更がありましたので、解説いたします。 はじめに 「あれ、client.count_tokens() が動かない...」 Anthropic Python SDKをアップデートしたら、今まで動いていたトークンカウントのコードがエラーになった。そんな経験をされたLLMエンジニアの方も多いのではないでしょうか。 当社のBestllamのように、LLM統合サービスを開発していると、実際にユーザーがどれほどのトークンを使用しているのかを正確に把握することは非常に重要になります。利用料金の計算、コンテキストウィンドウの管理、そしてユーザーへの使用量の可視化など、トークンカウント機能はサービスの根幹を支える機能です。そのため、この機能が突然動かなくなると影響は小さくありません。 ゆえに本番サービスを提供している場合、pip install で気軽にSDKバージョンを上げてはいけません。 さて、Anthropi

By Qualiteg プロダクト開発部
ログを ちょこっと grep するツール "ちょこぐれっぷ" つくりました

ログを ちょこっと grep するツール "ちょこぐれっぷ" つくりました

こんにちは! 今日はちょこっとしたツールをつくりました。 ログをちょこっとgrepするツールです。もちろん無料。 chocoGrep - ちょこっとgrep!ログフィルタツールちょこっとgrepするならchocoGrep!「error or warning」と書くだけの簡単or/and検索。AIエージェントに渡す前にログを最適化。正規表現不要、インストール不要。chocoGrepQualiteg Inc. Cursor、Devin、Claude Code、ChatGPT——AIコーディングエージェントにエラーログを渡してデバッグを手伝ってもらう。もう日常ですよね。 でも、 * ログを全部貼り付けたら、AIの応答がやたら遅い * 「トークン制限を超えました」と怒られる * 大量のログの中から、AIが的外れな部分に注目してしまう そこで、つくったちょこっとgrepするためのツールです 名付けて ちょこぐれっぷ!chogoGrep! chocoGrepって何? ブラウザで動く、ゆるいgrepツールです。 ログを貼り付けて、検索ワードを入れるだけ。インストール不要

By Qualiteg プロダクト開発部
GPUを使った分散処理で見落としがちなCPUボトルネックとtasksetによる解決法

GPUを使った分散処理で見落としがちなCPUボトルネックとtasksetによる解決法

こんにちは! 複数枚のGPUをつかった並列処理システムを設計しているときCPUについてはあまり考えないでシステムを設計してしまうことがあります。 「機械学習システムの主役はGPUなんだから、CPUなんて、あんまり気にしなくてよいのでは」 いいえ、そうでもないんです。 推論中のあるタイミングに急に動作が遅くなったりするときCPUが原因であることがけっこうあります。 概要(5分で分かる要点) 先日GPUを使った並列処理システムで、予期しないCPUボトルネックが発生し、パフォーマンスが大幅に低下する問題に遭遇しました。 複数のプロセスが異なるGPUを使用しているにも関わらず、処理が極端に遅くなる現象の原因は、処理パイプラインの一部に含まれるCPU集約的な計算処理でした。 問題の症状 * 単一プロセス実行時:正常な速度 * 複数プロセス並列実行時:処理時間が数倍に増加 * GPUリソースに競合なし(nvidia-smiで確認済み) 根本原因 処理パイプラインにGPUに適さないCPU集約的な計算(データ前処理、統計変換など)が含まれており、複数プロセスが同じCP

By Qualiteg プロダクト開発部