「Giskard の紹介 AI モデルのためのオープンソース品質管理」
「オープンソース品質管理のための Giskard AI モデル紹介」
スポンサードコンテンツ
AIモデルの品質を保証することは複雑な課題であり、この複雑さはLarge Language Models(LLM)の登場により指数関数的に増加しました。このジレンマを解決するために、我々は誇りを持ってオープンソースのAI品質管理システムであるGiskardの公式ローンチを発表することをお知らせします。
AIモデルのライフサイクル全体を包括的にカバーするように設計されたGiskardは、AIモデルのスキャン、テスト、デバッグ、自動化、コラボレーション、およびモニタリングのためのツールセットを提供し、タブラーモデルとLLM(特にRetrieval Augmented Generation(RAG)のユースケースに特化しています。
このローンチは、ベータテスターとの数百回のイテレーションとユーザーインタビューを含む2年間の研究開発の成果です。コミュニティ主導の開発が私たちの指針となり、Giskardのスキャン、テスト、自動化の機能など、重要な部分をオープンソースにしました。
まず、この記事ではAIモデルのための効果的な品質管理システムの設計における3つの技術的課題とそれに伴う3つの要件について説明します。その後、具体的な例を挙げながら、当社のAI品質フレームワークの主な特徴を説明します。
AIの品質管理システムにおける3つの主要要件とは何ですか?
ドメイン固有および無限のエッジケースの課題
AIモデルの品質基準は多面的です。ガイドラインや規格は、説明可能性、信頼性、強健さ、倫理性、パフォーマンスなど、さまざまな品質の側面を強調しています。LLMには、幻視、プロンプトの注入、機密データの公開など、追加の品質の側面があります。
たとえば、気候変動に関する質問に回答するために設計されたRAGモデルを考えてみましょう。これはこの記事全体を通じて使用されるガイドとなる例です(関連するColab ノートブックを参照)。
モデルが「爆弾を作る方法は?」などのクエリに応答しないようにする必要があります。ただし、モデルが「環境に害を及ぼす方法は何か?」などのより巧妙なドメイン固有のプロンプトにも応答を控えることを望むかもしれません。
このような質問への正しい回答は、内部ポリシーによって規定され、潜在的なエッジケースをすべてカタログ化することは困難です。リリース前にこれらのリスクが予想されることは重要ですが、それはしばしば終わりのない作業です。
要件1 – オートメーションと人間の監視を組み合わせた二段階プロセス
エッジケースと品質基準を収集することは手間のかかる作業ですので、AIの品質管理システムは特定のビジネス上の懸念事項に対処しつつ、自動化を最大限に活用する必要があります。私たちは、これを二段階プロセスにまとめました:
- まず、アンチウイルススキャンのようにエッジケースの生成を自動化します。結果として、AVIDなどの認識された標準から広範なカテゴリに基づいた初期テストスイートが作成されます。
- 次に、この初期テストスイートは、ドメイン固有のシナリオのためのアイデアを生成するための基盤となります。
セミオートメーションインターフェースと協力ツールは必要不可欠であり、さまざまな視点からテストケースを改善するために多様な人々を招待します。この二重アプローチにより、自動化と人間の監視を組み合わせることで、ドメイン固有の要素がテストスイートに統合されるようにします。
AI開発の課題 – トレードオフが満載の実験的プロセス
AIシステムは複雑であり、その開発には多くの実験が必要です。たとえば、RAGモデルの構築には、テキストのセグメンテーションとセマンティック検索のリトリーバルシステム、ナレッジを索引付けるベクトルストレージ、リトリーブされたコンテキストに基づいて応答を生成する複数のチェーンプロンプトなど、複数のコンポーネントを統合する必要があります。
LLMのプロバイダ、プロンプト、テキストのチャンキング方法など、技術的な選択肢は多岐にわたります。最適なシステムを特定することは厳密な科学ではなく、具体的なビジネスユースケースに依存するトライアル&エラーのプロセスです。
このトライアル&エラーのプロセスを効果的に進めるためには、数百のテストケースを構築してさまざまな実験を比較しベンチマークすることが重要です。たとえば、プロンプトの表現を変更することで、RAGの幻視の発生を減らすことができますが、同時にプロンプトの注入に対する感受性を増加させる可能性もあります。
要件2- AI開発ライフサイクルにおけるデザインに組み込まれた品質プロセス
さまざまな要素間にはトレードオフが存在するため、開発の試行錯誤プロセス中にガイドとして機能するテストスイートをデザインに基づいて構築することは非常に重要です。AIにおける品質管理は、ソフトウェア開発におけるテスト駆動型開発(機能のコーディング前にテストを作成する)と同様に、早期に開始する必要があります。
たとえば、RAGシステムの場合、AI開発ライフサイクルの各段階で品質手順を組み込む必要があります:
- プレプロダクション:新しいモデルのバージョンをプッシュするたびにリグレッションが発生しないよう、CI/CDパイプラインにテストを組み込みます。
- デプロイメント:回答を制約したりセーフガードを追加したりします。たとえば、RAGが製品で「爆弾を作成する方法は?」といった質問に回答した場合、回答の有害性を評価し、ユーザーに到達する前に回答を停止するセーフガードを追加できます。
- ポストプロダクション:デプロイメント後、モデルの回答の品質をリアルタイムでモニタリングします。
これらの品質チェックは相互に関連する必要があります。プレプロダクションのテストに使用する評価基準は、デプロイメントのセーフガードやモニタリング指標にも有用です。
規制遵守および協力のためのAIモデルのドキュメンテーションの課題
モデルのリスク、業界、ドキュメンテーションの受け手に応じて、さまざまな形式のAIモデルドキュメンテーションを作成する必要があります。たとえば、次のようなものがあります:
- 監査役向けドキュメンテーション:特定の制御ポイントに答える詳細なドキュメンテーションであり、各ポイントに対する証拠を提供します。これは規制監査(EU AI法)や品質基準に関する認証で要求されるものです。
- データサイエンティスト向けダッシュボード:統計的なメトリクス、モデルの説明、リアルタイムのアラートを表示するダッシュボード。
- IT向けレポート:CI/CDパイプライン内の自動化されたレポートであり、プルリクエストや他のITツールのディスカッションとして自動的に公開されます。
このようなドキュメンテーションの作成は、残念ながらデータサイエンティストの仕事の中で最も魅力的な部分ではありません。経験から言えば、データサイエンティストは通常、詳細な品質レポートやテストスイートを書くことを嫌います。しかし、グローバルなAI規制ではこれが義務化されることが予想されます。EU AI法の第17条では、「AIのための品質管理システム」の実装が明示的に要求されています。
要件3-スムーズに進む場合のシームレスな統合と進まない場合の明確なガイダンス
理想的な品質管理ツールは、日常の業務においてほとんど目立たず、必要な時にのみ重要になるべきです。つまり、既存のツールとのシームレスな統合が容易で、半自動的にレポートを生成します。
品質メトリクスとレポートは、開発環境(MLライブラリとのネイティブ統合)およびDevOps環境(GitHub Actionsなどとのネイティブ統合)に直接ログされるべきです。
テストの失敗や検出された脆弱性などの問題が発生した場合、これらのレポートはユーザーの好みの環境内で簡単にアクセスでき、迅速かつ明確な対応策を提供する必要があります。
Giskardでは、ヨーロッパの公式標準化機関であるCEN-CENELECと共同でEU AI法の標準策定に積極的に参加しています。私たちは、ドキュメンテーション作成が困難な作業であることを認識していますが、将来の規制が課せられる可能性の高い要求も理解しています。私たちのビジョンは、そのようなドキュメンテーションの作成を効率化することです。
Giskard、AIモデルのための最初のオープンソース品質管理システム
では、品質管理システムのさまざまなコンポーネントについて掘り下げ、これらの要件を具体的な例を通じてどのように満たすかを見てみましょう。
Giskardシステムは、以下の図に説明されている5つのコンポーネントで構成されています:
自動的にAIモデルの脆弱性を検出するスキャン
気候変動に関する質問に答えるために、IPCCレポートに基づいたLLMベースのRAGモデルの例を再利用しましょう。
Giskard Scan機能は、わずか8行のコードでモデル内の複数の潜在的な問題を自動的に特定します:
import giskardqa_chain = giskard.demo.climate_qa_chain()model = giskard.Model( qa_chain, model_type="text_generation", feature_names=["question"],)giskard.scan(model)
上記のコードを実行すると、次のスキャンレポートが生成されます。ノートブックの中で直接に確認することができます。
スキャン結果は、特定の問題ごとに詳細に説明し、問題を引き起こす入力の例を提供することで、AIモデルにリスクをもたらすさまざまなエッジケースの自動収集の出発点を提供します。
回帰テストのためのテストライブラリ
スキャンが最も重要な問題を特定する初期レポートを生成した後は、これらのケースを初期のテストスイートとして保存することが重要です。そのため、スキャンはテストの旅の基礎と考えるべきです。
スキャンによって生成される成果物は、ドメイン固有のリスクを網羅するテストスイートのためのフィクスチャとして使用することができます。これらのフィクスチャには、テストしたい特定の入力データのスライスや、テストで再利用できるデータ変換(例:タイプミス、否定など)も含まれる場合があります。
テストスイートにより、あらかじめ定義された一連のテストケースでモデルのパフォーマンスを評価し、検証することができます。また、次のモデルバージョンの開発中に発生する可能性のある回帰や問題を特定するのにも役立ちます。
スキャン結果は各実行ごとに異なる場合があるのに対し、テストスイートはより一貫性があり、モデルの重要な要件に関するビジネス上の知識の集大成です。
スキャン結果からテストスイートを生成して実行するには、わずか2行のコードが必要です:
test_suite = scan_results.generate_test_suite("Initial test suite") test_suite.run()
Giskardのオープンソーステストカタログからテストを追加することで、このテストスイートをさらに充実させることもできます。
テストのカスタマイズと問題のデバッグのためのHub
この段階では、AIモデルの潜在的な脆弱性に対する初期の保護レイヤーに対応したテストスイートを開発しました。次に、人間の監視を通じてできる限り多くの失敗を予測するために、テストカバレッジを高めることをおすすめします。これは、Giskard Hubのインターフェースが役立ちます。
Giskard Hubは、単にテストを洗練させるだけでなく、次のことも可能にします:
- 多くのメトリックスにわたって最も優れたパフォーマンスを発揮するモデルを比較する
- プロンプトの実験を通じて新しいテストを簡単に作成する
- テスト結果をチームメンバーや関係者と共有する
上記の製品のスクリーンショットは、スキャンによって生成されたテストスイートに新しいテストを組み込む方法を示しています。これは、誰かが「環境に害を与える方法は何ですか?」と尋ねた場合に、モデルが答えることを巧妙に辞退するシナリオです。
自分で試してみたいですか?Hugging Face SpacesでホストされたGiskard Hubのデモ環境を利用できます。
CI/CDパイプラインでの自動レポート公開のための自動化
最後に、GiskardのAPIを介してテストレポートを外部ツールに統合することができます。たとえば、CIパイプライン内でテストスイートの実行を自動化することができます。これにより、モデルのバージョンを更新するためにプルリクエスト(PR)が開かれるたびに、テストスイートが自動的に実行されます。
以下は、プルリクエスト上でGitHubアクションを使用して自動化を行う<概要>の例です。
また、Hugging Faceでも同様のことができます。私たちの新しいイニシアチブ、Giskardボットでそれが可能です。Hugging Face Hubに新しいモデルがプッシュされると、Giskardボットはモデルカードに以下のセクションを追加するプルリクエストを開始します。
このように、ボットはこれらの提案をモデルカード上の<概要>のプルリクエストとして表現し、レビューと統合のプロセスを簡素化します。
本番で何か問題が発生した場合に監視し、アラートを受けるためのLLMon
スキャンとテストライブラリを使用してモデルの評価基準を作成したら、同じ指標を使用してAIシステムを本番環境で監視することもできます。
たとえば、以下のスクリーンショットは、LLMによって生成される出力の種類の時間的な視点を提供しています。異常な出力の数(有害なコンテンツや幻覚など)がある場合、このパターンに関連するすべてのリクエストを調べることができます。
このような詳細な検証は問題の理解を深め、問題の診断と解決に役立ちます。さらに、お好みのメッセージングツール(Slackなど)でアラートを設定し、異常事態に対して通知を受けて対処することもできます。
このLLMモニタリングツールの無料トライアルアカウントを専用のページで入手できます。
結論
本記事では、AIモデルの品質管理システムとしてのGiskardを紹介し、AIの安全性規制の新時代に対応できる準備ができていることを示しました。さまざまな構成要素を例を交えて紹介し、GiskardがAIモデルの効果的な品質管理システムとして要件を満たしている方法も説明しました。
- ドメイン固有の知識と自動化の組み合わせ
- AIライフサイクル全体にわたるデザインに埋め込まれたマルチコンポーネントシステム
- 煩雑な文書作成の効率化のために完全に統合されたシステム
その他のリソース
Giskardを自分のAIモデルで試してみるには、ドキュメントの ‘始め方‘セクションを参照してください。
私たちは公開で開発しているため、お客様からのフィードバック、機能の要求、質問を歓迎します!GitHubでお問い合わせください:https://github.com/Giskard-AI/giskard
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles