生成AIを活用したアプリをテストする際に考慮すべき点「生成AIが冗長性を誘発することも少なくない」

生成AIを活用するアプリの利用が広がる中、ソフトウェアの品質管理担当者は生成AI特有の問題点への注意が必要になる。本稿では、生成AIアプリの品質を管理する際に考慮すべき点を確認する。

» 2024年04月26日 09時20分 公開
[George LawtonTechTarget]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 生成AI(人工知能)アプリ開発により、日常業務が自動化され、効率が高められることで、生産性が大幅に高まる可能性がある。OpenAIの「ChatGPT」などのツールによって、既存のアプリケーションの構築、保守、改善に新たな可能性がもたらされる。

 一方で生成AIを活用するアプリは、従来のアプリとは違う形のトラブルが生じる。生成AIが生み出す幻覚(ハルシネーション)やバイアスといった問題は、テスト担当者の新たな課題として浮上する。

 米国のIT企業GenpactでAIと機械学習担当のバイスプレジデント兼グローバルリーダーを務めるスリーカンス・メノン氏は、「現形式の生成AIツールにはビジネスアナリスト、開発者、テスト担当者の各プロセスが含まれている」と考えている。生成AIアプリは自然言語やコードも理解するようになっている。

 とはいえ、全ての生成AIモデルが同じ機能を提供するわけではない。アーキテクチャ、トレーニング、パラメーター数の違いによって、パフォーマンスやリスクに違いが生まれる可能性がある。

生成AIの障害パターン

 生成AIアプリと通常のアプリでは障害のパターンが異なる。自社のワークフローにAIを取り入れている企業には生成AIアプリによって新たな問題が提起される。品質管理(QA)の担当者は、生成AIアプリによってもたらされる新たな問題を数多く捉えるために、障害についての考え方を広げなければならない。

 生成AIツールを開発するフランスの企業Yseopで製品担当のバイスプレジデントを務めるティモシー・マーティン氏によると、「OpenAIの『ChatGPT』やGoogleの『Gemini』などのクローズドシステムの大規模言語モデルはアプリやAPIによって一般利用が可能になるが、技術的詳細が限定的にしか公開されていないため、データプライバシーの問題、不正確な出力の生成、バイアスといった新たな課題がもたらされるかもしれない」という。

 企業ユーザーはこうしたモデルをほとんど制御できないため、モデルの障害パターンと制限事項を受け入れなければならないのが一般的だ。モデルの利用者は、出力を制御し、結果を最適化するために、生成AIシステムにさまざまな方法で問い合わせる。

 より多くの技術情報を公開して制御性を高め、トレーニングによって特定のタスク向けに最適化できるGoogleの「Flan-UL2」やDatabricksの「Dolly」のようなオープンソースモデルを利用するのが役に立つとマーティン氏は考えている。「ユースケースを狭めてモデルを最適化すると、障害パターンを制限して優れた結果を得ることができる」と同氏は話す。

 また、データ品質、出力の精度、解釈可能性、継続的監視などの分野をカバーするエンタープライズQA対策を採用することもマーティン氏は推奨する。

 Suki AIで医療用AI音声プラットフォーム「Suki AI」の製品と設計担当のバイスプレジデントを務めるベルワディ・スリカーント氏によると、最もよくある障害パターンには次のような特徴を持つAIレスポンスが含まれるという。

  • 形式が正しくない
  • レスポンスのトーンや長さが想定と一致していない
  • 通常とは異なるエッジケースの入力に対し想定とは異なるレスポンスを返す
  • タスクの複雑さを完全に理解していない

 ほとんどのケースでは、テスト担当者が効果的な問い合わせ(プロンプト)を行うことで上記の障害パターンに対処できる。

生成AIアプリをテストする際の考慮事項

 生成AIアプリがもたらす新境地によって新たな可能性が開かれるかもしれない一方で、慎重な対応も求められる。企業のITチームは、さまざまなAIモデル固有の機能や制限事項を理解しなければならない。具体的なニーズや目的に応じて適切なモデルを選ぶ必要があり、ツールの有効性、セキュリティ、公平性、規制への準拠を確保するために、厳格なQA対策の実装も必要になる。

 スリカーント氏によると、生成AIモデルを次の4つの側面で評価することが役立つという。

  1. 規制要件を満たす能力
  2. ユーザーのワークフローへの影響
  3. 必要な変更管理の量
  4. 不正確なレスポンスの特定と修正の方法

 生成AIアプリでは、プロンプトエンジニアリングという概念にまつわる課題ももたらされる。プロンプトエンジニアリングは、AIシステムがさまざまな入力に対応し、効果的に機能するためのプロンプトテンプレートを開発できる。

 AIを評価するために多種多様なテスト入力を用意することをスリカーント氏は推奨する。プロンプトテンプレートには、多種多様な一般的な入力の代表的なサンプルと、ユーザーの反発を招く可能性のある一連の重要なエッジケースに対応するサンプルを含める。

 「こうしたデータセットを用意すれば、プロンプトテンプレートの迅速な反復テストが可能になる」(スリカーント氏)

 明確かつ詳細な指示、多種多様な入力に応答する方法についての多数の例、発生する可能性のあるエッジケースの処理方法をプロンプトテンプレートに含めることで、テストのパフォーマンスが最大限に高まるとスリカーント氏は考えている。タスクが特に複雑な場合は、そのタスクを小さなコンポーネントに分解し、コンポーネントごとに異なるプロンプトテンプレートで処理することが適切な場合がある。

必ずしも効率を高めるわけではない生成AI

 「そもそも、冗長性を軽減するはずの生成AIが、冗長性を誘発することも少なくない」とメノン氏は注意を促す。

 既存のユースケースにChatGPTなどの生成AIツールを利用すると新たな複雑性が持ち込まれることになるため、このケースにおける生成AIツールの利用が最も難しいとメノン氏は考えている。その際生成AIを利用すると、フィボナッチスケールが劇的に増加することが多い。フィボナッチスケールとは、プロジェクトの複雑さを定量化するために使われるストーリーポイントの数の尺度を指す。

 生成AIによって、QA担当者が考慮しなければならないテストケースの数も増える可能性がある。これまでコードの微妙な違いに注目してきたテスト担当者は、新たな生成AIツールのメモリ面への考慮も必要になる。

 例えば、ChatGPTの「GPT-4」バージョンでは、一度に最大3万2000のトークンを利用できる。メッセージ配列内のトークン数とトークンパラメーターの最大数との合計が、これ以下でなければならない。違反すると、モデルからエラーが返されてしまう。

 また、テスト担当者はAIの幻覚にも注意を向ける必要がある。こうした幻覚は、偽陽性や偽陰性につながる可能性があるため、テストのやり直しに多くの時間が必要になる。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。