AI_devより生成型AIに対する攻撃を抑止するための仕組みBELLSに関するセッションを紹介
2024年6月19日、20日にパリで開催されたAI_dev Europe 2024から、生成型AIのハルシネーションを抑制するためのツールであるBELLS(Benchmark for Evaluation of LLM Supervision)を解説したセッションを紹介する。動画は以下から参照可能だ。
●動画:Future-Proofing Agent Supervision
プレゼンテーションを行ったのはLe Centre pour la Securite de l'IA(CeSIA)のリサーチャー、Alexandre Variengien氏とEffiSciencesのエンジニア、Diego Dorn氏だ。
Dorn氏は生成型AIが抱える課題、ハルシネーションについて例を用いて説明。ここではこのセッションで紹介するBELLSについて、GPT-4oについて質問したところBESSというBELLSとは関係のない内容を返してきたと説明して、生成型AIが抱える深刻な問題について再確認を行った。
次に生成型AIに対する入力を悪用するプロンプトインジェクションについても説明し、ここでも悪意のあるプロンプトが入力データとして使われることによって予期せぬ動作を発生させるリスクについて解説を行った。
そしてより現実に近いプロンプトインジェクションを紹介。ここではwuzzi.netというサイトの例を使って、Gmailのアカウントの再認証を偽装してアカウントを乗っとるという方法を解説した。ちなみにこの例で参照されているwuzzi.netではChatGPTにDoSを仕掛けるなどの攻撃の例を公開しており、セキュリティを担当するエンジニアにとっては悪夢のような攻撃を親切に解説しているサイトである。
ここで生成型AIに対する攻撃を分類し、ジェイルブレーク、意図的なハルシネーション、プロンプトインジェクションなどに限らずさまざまな手法が存在することを紹介した。
今回紹介するBELLSは入力と出力に対するセーフガードとして動作するツールであると解説。LLMに対する入力と結果の出力を受け取りその内容を検証することで、正しい使われ方がされているのかを確認するというツールである。
より詳しくはBELLSのGitHubページの図が参考になるだろう。
このスクリーンショットは以下のGitHubからの引用となる。テストの際はLLMのベンチマークのためのデータを使ってテスト、またすでに多くの入力と出力のデータを持っているのであればバッチ式にテストを行い、本番稼働時はLLMのアプリケーションとは並列に実行され、その入出力を使って判定を行うという処理の流れになる。
また安全性についてクルマの安全に模して解説を行い、ファインチューニングや人間による強化学習(RLHF、Reinforcement Learning from Human Feedback)はエンジンを安全にするという試み、ガードレイルなどはエアバッグやシートベルトに値する安全装置であると説明。ここではInput-output Safeguardはこの先に多くの進化があったとしても、10年後でも使われているだろうと説明。なぜならシンプルで応用が広く、どのようなAIのモデルにも適用できるツールだからというのがその理由だ。
そしてそのようなシンプルなツールであるInput-output Safeguardが対応する生成型AIへの攻撃も進化を続けており、それに対応すべくツールも進化が必要であると説明した。
ここでは爆弾の作り方を生成型AIに質問しても拒否されるが、別のプロンプトを使えば求める回答を引き出すことは可能であるという例を使って説明を行っている。
このグラフでは悪用を高い確率で防げたとしても、悪用する側が工夫をすることで攻撃が成功する確率が高まることを説明。これは現在の生成型AIの進化の速さと同様に悪用する方法も進化を続けるために、対抗策側も持続的な開発、改善が必要ということを示している。
Input-output Safeguardについては、CeSIAが開発するものだけではなくサードパーティによるツールも評価を続けていると説明。
現時点ではNVIDIAやMicrosoft Azureに商用のツールが存在し、同様にオープンソースのツールも存在するが、それらのツールそのものを評価する仕組みがないことを説明した。その中のひとつGarakというツールは以下のサイトから参照可能だ。Pythonを使って作られたコマンドラインから動作するアプリケーションである。
●参考:Garak:https://github.com/leondz/garak
ここでは商用、OSSを含めて多数のツールが競争を行うことは正しいが、ユーザー視点からすれば、公平にその性能を評価する仕組みがないことをCeSIAという立場から意見を表明したということだろう。
CeSIAとしてはこの問題についてはすべてを網羅するのではなくジェイルブレーク、ハルシネーション、プロンプトインジェクションの3つの領域に絞ってツールを開発していることを説明した。
Input-output Safeguardが利用するテストデータについても解説。ここではジェイルブレークとプロンプトインジェクションについてはMicrosoftや中国の大学の研究者が論文を書いているBIPIA(Benchmark for Indirect Prompt Injection)を例に挙げている。以下がその論文だ。
●参考:https://arxiv.org/abs/2312.14197
ハルシネーションの評価についてはチャットアプリケーションを作って検証すると説明されているが、この部分に関しては余りアイデアがないようにみえるのが残念だ。また実際にデモを行ってツールの使い勝手を紹介する内容となっていないことも残念な部分であろう。
最後にオープンソースとして開発されているBELLSについて、コミュニティに参加して欲しいというOSSにはありがちなメッセージを訴求してセッションを終えた。セッション後には多くの質問が行われたが、継続して改善を行う必要があるという部分に関しては複数人から質問が出されていたのが興味深いと言える。生成型AIが便利なツールとなり多くの応用例が出てくるに従って悪用する例も増えていくと思われる。継続的に改善し、それをコミュニティとして経済的に持続できるようにするための仕組みについては、これからも多くの議論と試行が必要だろう。BELLSもツールとして多くの機能追加、評価範囲の拡大などやるべきことは多々あると思われるが、攻撃だけに限らず第3者による評価をLLMに対して行うという発想は非常に重要だ。プロジェクトが成功することを祈りたい。
●BELLS公式GitHub:https://github.com/CentreSecuriteIA/BELLS
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- AI_dev、PyTorch Lightningの開発者による生成型AIの開発を加速させるツール群Lightning Studioのセッションを紹介
- CloudNative Days Fukuoka 2023、AIを用いたKubernetes運用のツールを解説するセッションを紹介
- AI_dev Europe 2024から、GitHubによるCopilotをコードのセキュリティ向上のためのツールとして解説したセッションを紹介
- AI_dev Europe 2024からIBMとRed HatによるInstructLabのセッションを紹介
- AI_dev Europe 2024から生成型AIのオープンさを概観するセッションを紹介
- AI_devよりエグゼクティブディレクターのIbrahim Haddad氏にインタビュー
- WasmCon 2023からLLMをWASMで実装するセッションを紹介
- AI駆動型開発ツールに関する勉強会を取材。「まず使ってみることが大事」
- AI駆動開発とエンタープライズChatGPTが企業にもたらす可能性 〜クリエーションラインの生成AIへの挑戦
- de:code 2017セッションレポート:CNTKでディープラーニングを始めるには