【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

Node.jsで大容量ファイルを扱う:AIモデルのような大きなデータ保存はストリーム処理使いましょう

Node.jsで大容量ファイルを扱う:AIモデルのような大きなデータ保存はストリーム処理使いましょう

こんにちは!今日はAIシステムのフロントサーバーとしてもよく使用するNode.jsについてのお話です。 AIモデルの普及に伴い、大容量のデータファイルを扱う機会が急増しています。LLMなどのモデルファイルやトレーニングデータセットは数GB、場合によっては数十、数百GBにも達することがあります。 一方、Node.jsはWebアプリケーションのフロントサーバーとして広く採用されており、データマネジメントやPythonで書かれたAIバックエンドとの橋渡し役としてもかなりお役立ちな存在です。 本記事では、Node.js v20LTSで5GB程度のファイルを処理しようとして遭遇した問題と、その解決方法について解説します。 Node.jsのバッファサイズ制限の変遷 Node.jsのバッファサイズ制限は、バージョンによって大きく変化してきました Node.jsバージョン サポート終了日 バッファサイズ上限 備考 Node.js 0.12.x 2016年12月31日 ~1GB 初期のバッファサイズ制限(smalloc.kMaxLength使用) Node.js 4.

By Qualiteg プロダクト開発部
AGI時代に向けたプログラマーの未来:役割変化とキャリア戦略

AGI時代に向けたプログラマーの未来:役割変化とキャリア戦略

はじめに 私がはじめてコードを書いたのは1989年です。 当時NECのPC88というパソコンを中古でかってもらい N-88 Basic というBASIC言語のコードをみようみまねで書いて動かしたあの日から何年経つのでしょうか。 当時、電波新聞社のマイコンBASICマガジンという雑誌があり、ベーマガにはいろんなパソコン向けのプログラムコードが掲載されていました。 そんなわけでもう35年以上趣味や仕事でプログラミングに従事していますが、開発環境、情報流通の仕組みには革命といっていいほどの変化、進化がおこりました。 しかしながら、そんな中でも、あくまでコードを書くのは「私」という生身の人間でした。 そうしたある種の古き良き時代は、いよいよ本格的に終わりを告げようとしています。 2023年ごろからのLLM技術の飛躍的進歩により、プログラミング業界は大きな転換期を迎えています。 特に、OpenAI o3,o1やClaude 3.5、Gemini2.0などの大規模言語モデル(LLM)の進化や、その先にある将来的な汎用人工知能(AGI)の出現は、プログラマーやAIエンジニアの役割に根

By Tomonori Misawa / CEO
PythonとWSL開発のトラブルシューティング: PyCharmとCondaの環境不一致問題

PythonとWSL開発のトラブルシューティング: PyCharmとCondaの環境不一致問題

こんにちは! 今回は、WSL上のConda環境をPyCharmから利用する際に発生した「同じ環境なのにパッケージリストが一致しない」という問題に遭遇したため、その原因と対策について書いてみたいとおもいます 問題の状況 開発の流れは以下のようなものでした 1. WSL環境でConda仮想環境を作成 2. その環境をPyCharmのプロジェクトインタプリタとして設定 3. 開発を進める中で奇妙な現象に気づく 具体的には、次のような不一致が発生していました * PyCharmのプロジェクト設定で表示されるpipパッケージのリスト * WSLでConda環境をアクティベートした後にpip listコマンドで表示されるパッケージのリスト これらが一致せず、「WSL側のシェルから直接インストールしたパッケージがPyCharmで認識されない」という問題が生じていました。 この手の問題でよくある原因は、PyCharm側がWSL側の更新を得るのに少し時間がかかったり、 Indexing が遅れているなどなのですが、今回はそれが原因ではありませんでした。 危険な「静かな

By Qualiteg プロダクト開発部
人気ゲーム「ヒット&ブロー」で学ぶ情報理論

人気ゲーム「ヒット&ブロー」で学ぶ情報理論

こんにちは! Qualiteg研究部です! 今日はAIにおいても非常に重要な情報理論について、Nintendo Switchの人気ゲーム「世界のアソビ大全51」にも収録されている「ヒット&ブロー」というゲームを題材に解説いたします! はじめに 論理的思考力を鍛える定番パズルゲームとして長年親しまれている「ヒット&ブロー」(海外では「Mastermind」として知られています)。 このゲームは一見シンプルながらも、その攻略には深い論理的アプローチが必要とされております。 本稿では、このゲームについて情報理論という数学的概念を用いてゲームの素性を分析する方法について掘り下げてみたいとおもいます。 さらに、この情報理論が現代の人工知能(AI)技術においてどのように活用されているかについても触れていきます。 ヒット&ブローのルール説明 ヒット&ブローは、相手が秘密に設定した色や数字の組み合わせを推測するゲームです。日本では主に数字を使った「数当てゲーム」として親しまれていますが、本記事では色を使ったバージョン(マスターマインド)に焦点を当てます。 Nintendo Sw

By Qualiteg 研究部