【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

LLM推論基盤プロビジョニング講座 第3回 使用モデルの推論時消費メモリ見積もり

LLM推論基盤プロビジョニング講座 第3回 使用モデルの推論時消費メモリ見積もり

こんにちは!前回はLLMサービスへのリクエスト数見積もりについて解説しました。今回は7ステッププロセスの3番目、「使用モデルの推論時消費メモリ見積もり」について詳しく掘り下げていきます。 GPUメモリがリクエスト処理能力を決定する LLMサービス構築において、GPUが同時に処理できるリクエスト数はGPUメモリの消費量によって制約されます。 つまり、利用可能なGPUメモリがどれだけあるかによって、同時に何件のリクエストを処理できるかがほぼ決まります。 では、その具体例として、Llama3 8B(80億パラメータ)モデルをNVIDIA RTX A5000(24GB)にロードするケースを考えてみましょう。 このGPUには24GBのGPUメモリがありますが、すべてをリクエスト処理に使えるわけではありません。最初にモデル自体が一定量のメモリを消費し、残りの領域で実際のリクエスト処理を行います。 GPUメモリ消費の二大要素 GPUの消費メモリ量は主に以下の2つの要素によって決まります 1. モデルのフットプリント LLMをGPUに読み込んだときに最初に消費されるメモリ

By Qualiteg コンサルティング
システムとcondaのC++標準ライブラリ(libstdc++)のバージョン違い問題による事象と対処法解説

システムとcondaのC++標準ライブラリ(libstdc++)のバージョン違い問題による事象と対処法解説

こんにちは! 先日、dlibをつかったPythonアプリケーション(conda環境で動作する)作っていたところ、以下のようなエラーに遭遇しました。 ImportError: /home/mlu/anaconda3/envs/example_env/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /home/mlu/anaconda3/envs/example_env/lib/python3.10/site-packages/_dlib_pybind11.cpython-310-x86_64-linux-gnu.so) 「dlib_pybind11モジュールがGLIBCXX_3.4.32を要求してるけど、みつからない!」という感じのエラーですね。

By Qualiteg プロダクト開発部
LLM推論基盤プロビジョニング講座 第2回 LLMサービスのリクエスト数を見積もる

LLM推論基盤プロビジョニング講座 第2回 LLMサービスのリクエスト数を見積もる

こんにちは! 今回はLLM推論基盤プロビジョニング講座 第2回です! STEP2 LLMサービスへのリクエスト数見積もり それでは、早速、LLM推論基盤プロビジョニングの第2ステップである「リクエスト数見積もり」の重要性と方法を解説いたします。 LLMサービスを構築する際に必要となるGPUノード数を適切に見積もるためには、まずサービスに対して想定されるリクエスト数を正確に予測する必要があります。 リクエスト数見積もりの基本的な考え方 LLMサービスへの想定リクエスト数から必要なGPUノード数を算出するプロセスは、サービス設計において非常に重要です。過小評価すればサービス品質が低下し、過大評価すれば無駄なコストが発生します。このバランスを適切に取るための基礎となるのがリクエスト数の見積もりです。 想定リクエスト数の諸元 リクエスト数を見積もるための5つの重要な要素(諸元)をみてみましょう。 1. DAU(Daily Active Users): 1日あたりの実際にサービスを利用するユーザー数です。これはサービスの規模を示す最も基本的な指標となります。 2. 1日

By Qualiteg コンサルティング
Zoom会議で肩が踊る?自動フレーミング映像安定化とAIによる性能向上の可能性

Zoom会議で肩が踊る?自動フレーミング映像安定化とAIによる性能向上の可能性

こんにちは! 本日は、自動フレーミング映像の安定化に関するアルゴリズム・ノウハウを解説いたします 第1章 問題の背景と目的 バストアップ映像を撮影する際、特にオンラインミーティングやYouTubeなどのトーク映像では、人物がうなずく、首を振るなどの自然な動作をした際に「首まわりや肩がフレーム内で上下に移動してしまう」という現象がしばしば起こります。これは、多くの場合カメラや撮影ソフトウェアが人物の「目や顔を画面中央に保とう」とする自動フレーミング機能の働きに起因します。 撮影対象の人物が頭を下げた際に、映像のフレーム全体が相対的に上方向へシフトし、その結果、本来動いていないはずの肩の部分が映像内で持ち上がっているように見えてしまう現象です。 本稿では、この問題を撮影後の後処理(ポストプロセッシング)のみを用いて、高速、高い精度かつロバストに解決する手法をご紹介します。 前半では、従来のCV(コンピュータービジョン)の手法を使い高速に処理する方法をご紹介します。後半では、AIを使用してより安定性の高い性能を実現する方法について考察します。 第2章 古典手法による肩の上下

By Qualiteg 研究部