Conversational AI / NLP

信頼性、安全性、セキュリティに優れた大規模言語モデル対話システムを実現

Reading Time: < 1 minute

大規模言語モデル (LLM) は非常に強力で、複雑な質問への回答、創作的な文章の作成、ソース コードの開発やデバッグなどのさまざまなことが可能です。LLM を外部のツールに接続することで、例えばリアルタイムにデータを読み込んだり、ユーザーの要求に対して LLM がどのようなアクションを実行するか決定したり、非常に高度な LLM アプリケーションを構築することできます。しかし、このような LLM アプリケーションを安全かつセキュアな方法で構築することは容易ではありません。

NeMo Guardrails は、安全性と信頼性の高い LLM 対話システムを容易に開発するためのオープンソースのツールキットです。生成 AI における安全性は、業界全体の懸念事項です。そこで、NVIDIA は OpenAI の ChatGPT を含むすべての LLM で動作できるように NeMo Guardrails を設計しました。

このツールキットは、わずか 数か月の間に GitHub において約 3 万のスターを獲得した LangChain などのコミュニティで開発されたツールキットによって提供されています。また、使いやすい構成可能なテンプレートとパターンが用意されており、LLM、API、およびその他のソフトウェア パッケージを接合することで LLM 対応アプリケーションを構築できます。

信頼性、安全性、セキュリティに優れた LLM 対話システムの構築

NeMo Guardrails は、プログラム可能なルールを追加してアプリケーション内で期待するユーザー インタラクションを定義することで、チャットボットを容易に指導することが可能です。LangChain をネイティブでサポートしており、LLM ベースの対話アプリケーションの安全性、セキュリティ、および信頼性を一層高めます。開発者は、ユーザー インタラクションを定義し、Python ライブラリを使用して、これらのガードレールを任意のアプリケーションに簡単に統合することができます。

対話システムへのガードレールの追加

ガードレールとは、ユーザーと LLM の間に位置するプログラム可能な制約またはルールのセットです。ガードレールは、ユーザーのインタラクションを監視し、影響を与え、指示をします。これは、幅員を定義し、車両が車線から外れて望ましくない区域に侵入するのを防止する高速道路のガードレールに似ています。

ユーザーが質問を送信すると、ボットは応答を返します。この質問と応答の全体的な流れがチャットです。ボットはユーザーの質問に応答し、中間段階または実行するアクションに対応するプロンプトを作成します。その後、そのプロンプトを使用して LLM を呼び出し、LLM はボットの応答を形成する情報を返します。

ボットは、文書を格納した知識ベースから関連情報を使用することもあります。知識ベースからチャンクを取得し、コンテキストとしてプロンプトに追加します。

NeMo Guardrails は、NVIDIA が対話型 AI 用に開発したモデリング言語およびランタイムである Colang をベースにしています。Colang の目標は、ユーザーが対話ボットの動作を自然言語で定義または制御するための可読性と拡張性の高いインターフェイスを提供することです。

このシステムとの対話は、従来のダイアログ マネージャーに似ています。ガードレールは、以下の重要な概念を含む Colang ファイルでフローを定義することによって作成します。

  • 正規化形式
  • メッセージ
  • フロー

正規化形式とは、ある発話の簡略化された言い換えのことです。これは、対話の内容を判断したり、ルールを発話に照合したりするために使用されます。

メッセージは、ユーザーの意図を正規形の生成として分類する略記法であり、自然言語を使用した軽量な表現です。これらのメッセージは、インデックス化され、メモリ内のベクター ストアに保存されます。アクティブになると、上位 N 件の類似メッセージがベクター ストアから取得されるか、LLM に送られて類似正規化形式が生成されます。以下に例を示します。

define user express greeting
    "Hi"
    "Hello!"
    "Hey there!"

この例は挨拶の簡略表現を表しています。ここでは、新しい正規化形式の挨拶表現を定義し、いくつかの自然言語プロンプトまたはメッセージを規定しています。所定のプロンプトに類似するプロンプトはすべて、ユーザーの挨拶として理解されます。

フローは、メッセージとアクションのセットで構成され、ユーザー インタラクションの構造またはフローを定義します。ユーザーとボット間のインタラクションのツリーまたはグラフと考えることもできます。

define flow greeting (挨拶フローを定義)
    user express greeting (ユーザーが挨拶)
    bot express greeting (ボットが挨拶)
    bot ask how are you (ボットがご機嫌を伺う)

挨拶フローが発生すると、ユーザーとボットは挨拶を交わすように指示されます。これらを定義する構文はメッセージと同じです。

ガードレールの手法

定義されたガードレールは、ユーザーと AI アプリケーションの間に位置し、双方向のコミュニケーションを監視し、安全性やセキュリティを確保する適切なアクションを実行しながら、モデルがアプリケーションの望ましい領域内にとどまるようにします。ガードレールは、シンプルで直感的な構文を使用してプログラムで定義します。

NeMo Guardrails が現在サポートするガードレールは、大きく 3 つのカテゴリに分類されます。

  • 話題
  • 安全性
  • セキュリティ

話題のガードレール

話題のガードレールは、対話が特定の話題に集中し、望ましくない領域に逸脱することを防ぐために設計されています。

このガードレールは、ユーザーまたはボットが話題から逸脱した対話を行ったことを検出するメカニズムとして機能します。また、そうした状況に対処し、対話を意図した話題に戻すように誘導することができます。たとえば、製品に関する質問に答えることを目的とするカスタマー サービス ボットは、話題の範囲から逸脱した質問を認識し、適切に応答を返す必要があります。

安全性ガードレール

安全性ガードレールは、LLM との対話が誤った情報、有害な応答、不適切な内容につながらないようにします。LLM は、もっともらしく聞こえる答えを作り出すことが知られています。このガードレールは、適切な回答を提供するためのポリシーを検出し、実施するのに役立ちます。

このほか、モデルの応答が事実に基づいており、信頼できる情報源によって裏付けられていること、人間が AI システムをハッキングして不適切な回答を提供することを防ぐこと、バイアスを軽減することも、安全ガードレールの重要な側面です。

セキュリティ ガードレール

セキュリティ ガードレールは、LLM がセキュリティ上のリスクをもたらす形で悪意のあるコードまたは外部アプリケーションの呼び出しを防ぎます。

LLM アプリケーションは、外部システムへのアクセスが許可されている場合、魅力的な攻撃対象となり、重大なサイバーセキュリティ リスクを引き起こします。セキュリティ ガードレールは、堅牢なセキュリティ モデルを提供し、LLM ベースの攻撃が発見された場合にそれを緩和するのに役立ちます。

ガードレールのワークフロー

NeMo Guardrails は完全にプログラム可能です。ガードレールの適用と、ガードレールがトリガーする一連のアクションの適用は、容易にカスタマイズでき、時間とともに改善されます。重大なケースの場合、わずか数行のコードで新しいルールを追加できます。

このアプローチは、モデルの学習プロセスを通じてモデルを人間の意図に整合させる RLHF (Reinforcement Learning from Human Feedback: 人間のフィードバックによる強化学習) などの手法を十分に補完します。NeMo Guardrails は、決定性や信頼性を高めて AI アプリケーションを堅牢化することが可能です。

以下にガードレール フローのワークフローを示します。

  1. ユーザーの入力を正規化形式に変換
  2. Colang を使用して、正規化形式に基づいてガードレールを照合または生成
  3. ボットがアクションを実行するための次のステップを計画して指示
  4. 正規化形式または生成されたコンテキストから最終出力を生成
図 1. NeMo Guardrails によるユーザー インタラクションの処理フロー

ガードレールの一般的な実装パターンを数例示しますが、詳細については NeMo Guardrails の GitHub リポジトリを参照してください。これらの例は、LLM を活用した独自の安全でセキュアな対話システムを NeMo Guardrails で構築する際に大変参考になります。

まとめ

NVIDIA は、NeMo Guardrails を NVIDIA NeMo フレームワークに組み込んでおり、ユーザーが企業独自のデータを使って言語モデルのトレーニングやチューニングを行うのに必要なすべての要素が含まれています。

NeMo はサービスとしても提供されています。これは NVIDIA AI Foundations の一部であり、独自のデータセットやドメイン知識に基づいてカスタムの生成 AI モデルを作成、実行したい企業向けのクラウド サービスです。

NVIDIA は、今後も AI コミュニティと協力して、信頼性、安全性、およびセキュリティに優れた LLM のパワーを誰でも利用でいるようにしていくことを楽しみにしています。ぜひ NeMo Guardrails をお試しください

翻訳に関する免責事項

この記事は、「NVIDIA Enables Trustworthy, Safe, and Secure Large Language Model Conversational Systems」の抄訳で、お客様の利便性のために機械翻訳によって翻訳されたものです。NVIDIA では、翻訳の正確さを期すために注意を払っておりますが、翻訳の正確性については保証いたしません。翻訳された記事の内容の正確性に関して疑問が生じた場合は、原典である英語の記事を参照してください。

Tags