Guardrails
Guardrails: とは何であるか、どのような問題を解決するか、そしてなぜ注目を集めているのか
解決する問題
NeMo Guardrailsは、アプリケーションと大規模言語モデル(LLM)の間にプログラマブルなレイヤーを提供し、会話が安全でセキュア、かつトピックから逸脱しないようにします。これにより、LLMが望ましくないトピックについて議論することを防ぎ、ジェイルブレイクやプロンプトインジェクションのような脆弱性から保護し、モデルが予測不可能な挙動に逸脱するのではなく、定義済みの会話パスに従うようにします。
仕組み
このツールキットは、情報の流れを5つの主要な段階で傍受して修正する、プログラマブルな制御である「rails(レール)」を実装しています:
- Input Rails: ユーザーの入力をLLMに届く前にフィルタリングまたは変更します。
- Dialog Rails: Colangと呼ばれる専用のモデリング言語を使用して、会話を定義済みのパスに沿って誘導します。
- Retrieval Rails: RAGのシナリオにおいて、取得されたドキュメントのチャンクがプロンプトに使用される前に、それらをフィルタリングまたは変更します。
- Execution Rails: LLMによって呼び出されるカスタムツールやアクションの入出力制御を行います。
- Output Rails: LLMの回答がユーザーに届けられる前に、その回答をレビューおよび修正します。
開発者は、config.ymlファイルや.co (Colang)ファイルを通じてこれらのレールを構成し、Python APIまたは専用のguardrailsサーバーを使用してデプロイできます。
対象ユーザー
- LLM Application Developers: モデルの挙動に対して厳格な制御が必要な、チャットボットやドメイン特化型アシスタントを構築している開発者。
- RAG Implementers: 取得したデータに対してファクトチェックや出力のモデレーションが必要な開発者。
- Enterprise AI Teams: 顧客向けのAIに対して、標準作業手順(例:認証)や安全性の保証を必要とする組織。
ハイライト
- Colang: 柔軟でありながら制御可能な対話フローを設計するための専用モデリング言語。
- 包括的な保護: ジェイルブレイク検知、ハルシネーション検知、およびコンテンツの安全性に対する組み込みのサポート。
- 柔軟な統合: さまざまなLLM(GPT-4, LLaMa-2, Falcon, etc.)と動作し、オプションでLangChainとも統合可能です。
- 評価ツール: トピックに関するレール、モデレーション、およびファクトチェックをテストするためのCLIツール(
nemoguardrails evaluate)が含まれています。
Sources
- undefinedNVIDIA-NeMo/Guardrails