人工知能プラットフォームソリューションにおける品質エンジニアリング設計

人工知能プラットフォームソリューションにおける品質エンジニアリング設計

翻訳者 | 朱 仙中

校正:孫淑娟

導入

私たちは人工知能の黄金時代にいます。 AI ソリューションを導入すると、企業の創造性、競争力、応答性が向上します。ソフトウェア・アズ・ア・サービス (SaaS) モデルとクラウド テクノロジーの進歩により、ソフトウェアの制作および消費プロセスはますます成熟してきました。

ほとんどの組織が、独自のテクノロジーを「構築」するよりも、既製の AI テクノロジーを「購入」することを好むというのは、普遍的な事実です。そのため、Salesforce、SAP、OracleなどのSaaSプロバイダーは、人工知能プラットフォーム機能を次々と導入し、人工知能をサービスとして提供する(AI-as-a-Service、AIaaS)モデルを構築してきました。確かに、この開発傾向により、企業は AI ソリューションを導入しやすくなります。

テスト技術は、一般的には品質保証 (QA) にとって、特に AI プラットフォームの採用にとって重要な役割を果たします。さらに、AI プラットフォームを導入する場合、次の理由によりテストは非常に複雑になります。

  1. AI のテストには、インテリジェントなテスト プロセス、仮想化されたクラウド リソース、専門的なスキル、AI ツールが必要です。
  2. AI プラットフォームプロバイダーはさまざまなバージョンを頻繁にリリースしますが、テストの速度も同様に高速であることが保証される必要があります。
  3. AI 製品は透明性に欠け、説明できないことが多く、そのため他者を納得させることが困難です。
  4. AI 製品だけでなく、トレーニング モデルとデータの品質も同様に重要です。ただし、クラウド リソース、アルゴリズム、インターフェース、およびユーザー構成を検証するための従来のテスト方法の一部は、一般的に非効率的です。これにより、学習、推論、知覚、操作などのテストが同様に重要になります。

たとえば、プラグアンドプレイ AI ソリューション モデルでは、AI ロジックはソフトウェア ベンダーによって提供されます。消費者としてのプログラマーは、インターフェースの構築、トレーニング ロジック用のデータの提供、ソリューションのコンテキストでのトレーニング ロジック、およびエンド ユーザーへのエクスペリエンスの拡張を担当します。

まず、従来のテストと同様に、データ、アルゴリズム、統合、ユーザー エクスペリエンスをテストする必要があります。次に、ソリューションの機能的適合性をテストするために、トレーニングされたモデルを検証する必要があります。これにより、テストが推論、計画、学習などに拡張されます。第三に、AI アルゴリズム自体を検証する方法を開発する必要があります。最後に、検索、最適化、確率など、AI ロジックが使用する可能性のあるツールも機能検証に含める必要があります。この記事では、AI テスト フレームワークに関する実践的な視点を紹介します。

人工知能プラットフォームソリューションの核となる要件:継続的なテスト

高度な自動化によって達成される QA の成熟度は、AI プラットフォームの導入に不可欠です。企業がインフラストラクチャとエンジニアリングのアプローチを近代化するにつれて、リリース サイクルはより短くなり、より高度に自動化される可能性が高くなります。継続的インテグレーション (CI) テクノロジは効果的であることが証明されています。コードが 1 日に数回チェックインされ、再コンパイルされると、複数の QA フィードバック ループが生成されます。したがって、CI を正常に適用するには、ビルドおよびデプロイメント プロセスの自動化が不可欠です。自動化は CI の基盤であり、テスト自動化によって継続的デリバリー (CD) が可能になります。つまり、CD は CI によって駆動されます。アジャイルおよび DevOps モデルの開発により、開発とテスト間のフィードバック ループが加速され、継続的テスト (CT)、継続的開発、継続的デリバリーが制度化されました。

企業では、データ、アプリケーション、インフラストラクチャなどが常に変化しています。同時に、SaaS ベンダーはユーザーエクスペリエンスと開発効率を向上させるために AI 製品のアップグレードを続けています。このような動的な状況では、継続的なテスト エコシステムを確立することが重要です。このような完全に自動化されたテスト環境では、常に変化する企業の IT 資産を確認できるだけでなく、常に変化する AI 製品のバージョンを検証することもできます。

要約すると、優れた CT エコシステムを構築するには、次の要素を考慮する必要があります。

  1. 自動テスト スクリプトをエンタープライズ バージョン管理ツールに移行します。自動化コードベースは、アプリケーション コードベースと同様に、バージョン管理リポジトリに存在する必要があります。このように、テスト資産をアプリケーション資産やデータ資産と組み合わせることが効果的です。
  2. 自動化スイートをコード/データ ビルド デプロイメント ツールと統合して、集中的な実行とレポートを可能にする計画があります。コード/データ ビルドをそれぞれの自動化スイートに合わせることが重要です。もちろん、人間の介入を避けるために、各ビルド プロセス中にツールベースの自動デプロイメントが絶対に必要です。
  3. 自動化スイートを複数のテスト層に分割して、各チェックポイントでのフィードバックを高速化します。たとえば、AI ヘルスチェックでは、インターフェースやデータ構造の変更を展開した後、サービスが適切に機能していることを確認できます。 AI スモーク テストでは、重要なシステム機能が適切に動作し、障害をブロックしていないことを確認できます。
  4. テスト範囲にはトレーニング モデルも含まれる必要があります。 AI テストでは、ソリューションが教師ありと教師なしの両方で指定された指示を学習したかどうかを示すトレーニング モデルもテストする必要があります。同じシナリオを複数回再現して、応答が与えられたトレーニングと一致しているかどうかを確認することが重要です。同様に、テストの一環として、障害、例外、エラーなどに関するソリューションをトレーニングするプロセスを確立することが重要です。例外処理について慎重に検討すれば、フォールト トレランスを組み込むことができます。
  5. AI ソリューションのライフサイクル全体にわたって AI トレーニング/学習を管理する計画を立てます。 CT 関連の設定は、テストから本番環境への継続的な学習に役立ち、転移学習に関する懸念を軽減します。
  6. スマート回帰による最適化。全体的な回帰の実行サイクル時間が大幅に長い場合、CT は実行時に深刻な影響を受ける領域に基づいてサブセットを分割し、妥当な時間枠内でフィードバックを提供できるようにする必要があります。 ML アルゴリズムを効果的に使用して確率モデルを作成し、特定のコードとデータ ビルドに適合する回帰テストを選択します。これにより、クラウド リソースの使用を効率的に最適化し、テストを高速化できます。
  7. 徹底的な回帰テストを定期的に実行することを常に計画してください。この作業は、定期的なビルド頻度との調整に応じて、夜間または週末にスケジュールできます。これは CT エコシステムの最終的なフィードバックであり、スレッドまたはマシンを並列実行することでフィードバック時間を最小限に抑えることを目的としています。

人間の介入なしにテストが行​​われると、不具合、エラー、アルゴリズムの異常が AI ソリューションの発見源になります。同様に、テスト中の実際の使用状況とユーザーの好みはトレーニングの情報源となり、本番環境でも継続する必要があります。

AIaaSソリューションでデータが抽出可能であることを確認する

データ品質は、AI イニシアチブにおける最も重要な成功基準です。企業の内外両方に有用なデータが存在します。有用なデータを抽出し、AI エンジンに供給する能力は、高品質な開発の要件の 1 つです。抽出、変換、ロード (ETL) は、さまざまなソースからデータを収集し、ビジネス ルールに従って変換し、ターゲット データ ストアにロードするデータ パイプラインを指す従来の用語です。 ETL 分野は、エンタープライズ情報統合 (EII)、エンタープライズ アプリケーション統合 ​​(EAI)、エンタープライズ クラウド統合プラットフォーム サービス (iPaaS) へと進化しました。技術の進歩にかかわらず、データ保証の必要性はますます重要になります。データ保証では、Map Reduce プロセスの検証、変換ロジックの検証、データの検証、データ ストレージの検証などの機能テスト アクティビティに対処する必要があります。さらに、データ保証では、パフォーマンス、フェイルオーバー、データ セキュリティなどの非機能的な側面にも対処する必要があります。

構造化データは管理が容易ですが、企業外部から生成された非構造化データは慎重に扱う必要があります。ストリーム処理の原則は、移動中のデータを早期に準備するのに役立ちます。つまり、イベント駆動型処理により、データは、Web サイト、外部アプリケーション、モバイル デバイス、センサー、その他のソースから生成または受信されるとすぐに処理されます。また、品質チェックポイントを設けて品質をチェックすることが必須です。

Twitter、Instagram、WhatsApp などのメッセージング プラットフォームは、データの一般的なソースです。このようなデータを使用する場合、クラウドベースのメッセージング フレームワークを通じて、さまざまなテクノロジにわたるアプリケーション、サービス、デバイスを接続します。ディープラーニング技術により、コンピューターは大量のデータから学習できるようになります。このデータの一部には、音声からテキストの転写、手書き認識から顔認識に至るまで、複雑な信号処理とパターン認識の問題を解決するためにニューラル ネットワーク ソリューションが必要です。したがって、これらのプラットフォームから得られるデータをテストするために必要な品質ゲートを確立する必要があります。

AI 駆動型 QA プロジェクトを設計する際に留意すべき点をいくつか紹介します。

  1. 自動化された品質ゲート: ML アルゴリズムを実装して、履歴と認識された標準に基づいてデータが「合格」かどうかを判断できます。
  2. 原因の予測: データ欠陥の原因を分類または特定すると、将来のエラーを回避できるだけでなく、データ品質を継続的に向上させるのにも役立ちます。パターンと相関関係を通じて、テスト チームは ML アルゴリズムを実装し、欠陥をその根本原因までさかのぼって追跡できます。これにより、データが自己テストと自己修復の次の段階に進む前に、修復テストと修復を自動化できます。
  3. 予測監視の活用: ML アルゴリズムは、メモリ使用量の増加、停止を引き起こす可能性のある潜在的な脅威など、データ パターン内の症状や関連するコーディング エラーを検索できるため、チームは自動的に修正手順を実行できます。たとえば、AI エンジンは並列プロセスを自動的に加速して、サーバーの消費を最適化できます。
  4. フェイルオーバー: ML アルゴリズムは障害を検出し、自動的に回復して処理を続行し、学習のために障害を登録できます。

AIaaSソリューションにおけるAIアルゴリズムの保護

ソフトウェア システムの内部構造がわかっていれば、テストの開発は簡単です。しかし、AI プラットフォーム ソリューションでは、AI と ML の「説明可能性」が低く、つまり、入力/出力マッピングのみが既知の要素であり、開発者は一般に、基盤となる AI 機能 (予測など) の仕組みを確認したり理解したりすることができません。従来のブラックボックス テストは入力/出力マッピングの問題を解決するのに役立ちますが、透明性が欠如していると、人間がテスト モデルを信頼することが難しくなります。もちろん、AI プラットフォーム ソリューションはブラック ボックスです。AI プログラムの機能の検証に役立つ独自の AI テクニックがあり、これにより、テストは単なる入力と出力のマッピングの問題ではなくなります。設計上の AI 駆動型ブラックボックス テスト手法には、次のようなものがあります。

  1. 事後予測チェック (PPC) は、適合モデルに基づいて複製データをシミュレートし、それを観測データと比較します。したがって、このテストでは事後予測を使用して、「実際のデータとシミュレートされたデータ間の体系的な違いを探す」ことができます。
  2. テストケースを最適化するための遺伝的アルゴリズム。テスト ケースを生成する際の課題の 1 つは、テスト対象のソフトウェアへの入力として使用したときに最高のカバレッジが得られるデータ セットを見つけることです。この問題が解決されれば、テストケースを最適化できます。選択、交差、突然変異など、自然進化における基本的な動作をシミュレートして実行できる適応型ヒューリスティック検索アルゴリズムがいくつかあります。ヒューリスティック検索を使用してテスト ケースを生成する場合、テスト アプリケーションに関するフィードバックを使用して、テスト データがテスト要件を満たしているかどうかが判断されます。フィードバック メカニズムにより、テスト要件が満たされるまでテスト データを徐々に調整できます。
  3. 自動テストケース生成のためのニューラル ネットワーク。これらは経験的知識を獲得、保存、処理できる物理的な細胞システムです。人間の脳を模倣して学習タスクを実行します。ニューラル ネットワーク学習技術を使用して、テスト ケースを自動的に生成します。このモデルでは、AI プラットフォーム製品のオリジナル バージョンに適用された一連のテスト ケースに基づいてニューラル ネットワークがトレーニングされます。ネットワークはシステムの入力と出力のみでトレーニングされます。トレーニングされたネットワークは、AI プラットフォーム製品の新しいバージョンや潜在的に欠陥のあるバージョンによって生成された出力の正確性を評価するための人工オラクルとして使用できます。
  4. モデルベースの回帰テスト選択のためのファジーロジック。これらのアプローチは、すでにモデル駆動型開発アプローチを使用しているプロジェクトでは役立ちますが、モデルが高度に抽象的なレベルで作成されることが多いことが大きな障害となります。モデル内のカバレッジ関連の実行トレースとコードレベルのテスト ケース間のトレーサビリティ リンクを確立するために必要な情報が不足しています。ファジー ロジック ベースの方法を使用すると、抽象モデルを自動的に改良して、トレーサビリティ リンクを識別できる詳細なモデルを作成できます。このプロセスでは、ある程度の不確実性が生じますが、この不確実性は、改良ベースのファジー ロジックを適用することで対処できます。このアプローチのロジックは、使用された改良アルゴリズムに関連付けられた確率的な正確さに基づいて、テスト ケースを再テスト可能なものに分類することです。

この部分の詳細については、「機械学習モデルのブラックボックステスト」を参照してください。

AIaaSソリューションの統合とインターフェースを確保する

AIaaS ソリューションを含むすべての SaaS ソリューションには、事前定義された Web サービスのセットが付属しています。エンタープライズ アプリケーションやその他のインテリジェント リソースは、これらのサービスと対話して、期待される結果を達成できます。今日、Web サービスは、ある程度のプラットフォーム独立性、つまり相互運用性を提供できるように進化しました。柔軟性が向上することで、ほとんどの Web サービスをさまざまなシステムで使用できるようになります。もちろん、これらのインターフェースの複雑さに応じて、テストのレベルも増加する必要があります。たとえば、CI/CD 環境では、ビルドされた各アプリケーション パッケージでこれらのインターフェースの互換性を確認することが重要なタスクになります。

現在、この点に関する主な課題は、仮想化された Web サービスを実装し、AI プラットフォーム ソリューションとアプリケーションまたは IoT インターフェイス間のデータ フローを検証することです。要約すると、インターフェース/Web サービスのテストが複雑になる主な理由は次のとおりです。

  1. テストの準備ができていない可能性のある別のソースと統合されない限り、テスト可能な UI はありません。
  2. これらのサービスで定義されたすべての要素は、どのアプリケーションが使用するか、どのくらいの頻度で使用するかに関係なく、認証を必要とします。
  3. サービスの基本的なセキュリティ パラメータを検証する必要があります。
  4. さまざまな通信プロトコルを介してサービスに接続します。
  5. サービスの複数のチャネルを同時に呼び出すと、パフォーマンスとスケーラビリティの問題が発生する可能性があります。

したがって、テスト インターフェース層には特に次のことが求められます。

  1. コンポーネントまたはアプリケーションの動作をシミュレートします。 AI テストでは、人、マシン、ソフトウェアとインターフェースする AI アプリケーションの複雑さをシミュレートして、正確性、完全性、一貫性、速度を確保する必要があります。
  2. 非標準コードの使用を確認します。オープンソース ライブラリを使用し、実際のアプリケーションを採用すると、非標準のコードやデータがエンタープライズ IT 環境に導入される可能性があります。したがって、これらの内容を検証する必要があります。

AIaaSソリューションにおけるユーザーエクスペリエンスの確保

主にリモートで仕事や生活を行うという新しい社会的現実において、顧客体験はビジネスの成功に不可欠なものとなっています。これは AI イニシアチブにおけるより大きな目標です。非機能テストは、パフォーマンス、セキュリティ、アクセシビリティなどの属性を検証することで、有意義な顧客エクスペリエンスを提供する実証済みの現象です。一般的に、次世代テクノロジーはエクスペリエンス保証の複雑さを増します。

ここでは、AI テスト フレームワーク全体でユーザー エクスペリエンスを確保するための重要な設計上の考慮事項について説明します。

  1. 経験のためにテストするのではなく、経験のために設計します。エンタープライズ AI 戦略は、エンドユーザーの視点から始める必要があります。テストチームが実際の顧客を代表していることを確認することが重要です。早い段階でクライアントを設計に参加させることは、設計に役立つだけでなく、早い段階でクライアントの信頼を得ることにも役立ちます。
  2. テスト最適化モデルを構築することで俊敏性と自動化を実現します。ユーザー エクスペリエンスは、テスト サイクルの最初から「スウォーム」フェーズで考慮する必要があります。ユーザー エクスペリエンスを早期にテストすると、ビルド テストを最適化する開発サイクルを実現できるためです。
  3. アジャイルなアプローチによる継続的なセキュリティが重要です。エンタープライズ セキュリティ チームをアジャイル チームの一員として、1) テストの「スウォーム」フェーズ中に組織の脅威モデルを所有および検証し、2) SaaS AI ソリューション アーキテクチャが持つ可能性のあるすべてのマルチチャネル インターフェイスの構造的脆弱性を評価します (仮想ハッカーの観点から)。
  4. スピードが重要です。 AI データの量、速度、多様性、変動性などの特性により、前処理、並列/分散処理、ストリーム処理が緊急に必要になります。パフォーマンス テストは、ユーザーがシステムに期待する速度を満たすために必要な分散処理の設計を最適化するのに役立ちます。
  5. テキストと音声のテストのニュアンスも重要です。多くの調査によると、会話型 AI は依然として企業の最重要課題となっています。拡張現実、仮想現実、エッジ AI などの新しいテクノロジーが次々と登場するにつれて、テキスト、音声、自然言語処理のテストなどの要件にすべて対応できるようになるはずです。
  6. シミュレーションは限界をテストするのに役立ちます。ユーザーシナリオを確認することは、エクスペリエンス保証の基礎となります。 AI に関しては、異常、エラー、違反をテストすることでシステムの動作を予測し、AI アプリケーションのエラー/フォールト トレランス レベルを検証するのに役立ちます。
  7. 信頼、透明性、多様性。 AI の結果に対するビジネス ユーザーの信頼を検証し、リスクを軽減して AI への信頼を高めることを目的としたデータ ソースとアルゴリズムの透明性要件を検証し、データ ソースとユーザー/テスターの多様性を確保して AI の倫理と精度をチェックすることが、すべて重要です。これを実現するには、テスターはドメイン知識のレベルを向上させるだけでなく、大規模エンタープライズ IT におけるデータ、アルゴリズム、統合プロセスに関する技術的なノウハウを理解する必要があります。

結論は

つまり、継続的なテストは、あらゆる企業が人工知能プラットフォーム ソリューションを採用するための基本要件です。したがって、データ、アルゴリズム、統合、エクスペリエンス保証アクティビティの設計を改善するには、モジュール式のアプローチを採用する必要があります。これにより、継続的なテスト エコシステムを構築し、企業の IT 部門が内部および外部の AI コンポーネントへの頻繁な変更に対応できるようになります。

翻訳者紹介

Zhu Xianzhong 氏は、51CTO のコミュニティ エディターであり、51CTO の専門ブロガー兼講師であり、濰坊の大学のコンピューター教師であり、フリーランス プログラミング コミュニティのベテランです。初期にはさまざまな Microsoft テクノロジに注力し (ASP.NET AJX および Cocos 2d-X に関連する 3 冊の技術書を編纂)、オープンソースの世界に 10 年近く携わってきました (人気のフルスタック Web 開発テクノロジに精通)。OneNet/AliOS+Arduino/ESP32/Raspberry Pi をベースとした IoT 開発テクノロジや、Scala+Hadoop+Spark+Flink などのビッグデータ開発テクノロジを理解しています。

原題: AI プラットフォーム導入のための品質エンジニアリング設計、著者: Anbu Muppidathi

<<:  2022 年に AI が組織のランサムウェア防御を強化する方法

>>:  人工知能とブロックチェーン技術は芸術をどのように解放できるのでしょうか?

推薦する

2022年、AIネットワーク管理が信頼を高める

米国で売上高最大のソーセージブランドであるジョンソンビルソーセージのグローバルネットワークオペレーシ...

20万人を超える人々が請願し、MITとハーバード大学が米国政府を訴えています。

米国移民関税執行局の最近の新しい規制は、アメリカのトップ大学の間で騒動を引き起こしている。ハーバード...

...

5G時代、移動ロボットは知能でどのように勝利できるのでしょうか?

移動ロボットは、環境認識、動的意思決定と計画、行動制御と実行などの複数の機能を統合した総合システムで...

ホットマネーの流入が止まると、2019年の人工知能業界の浮き沈みに関する考察

昨年後半から、インターネット業界の人々は生活がますます困難になっていると感じています。かつてセルフメ...

700億Llama2が即完売!申請不要で商用利用も無料という国産最新大型モデルが発表された。その背後にあるのはプライベートエクイティ大手企業

国内の大型モデルに新たなプレーヤーが登場しました。 670億のパラメータを持つDeepSeek。中国...

人工知能と自然言語処理の概要: AI の 3 つの主要段階と NLP の主な応用分野

最近、Xenonstack は Jagreet Kaur 氏による「人工知能の概要とビッグデータにお...

8,500 万の仕事が失われる。労働者はどうやって仕事を維持できるのか?

2020年初頭、突如発生した疫病により、多くの工場が「人手が足りない」状況に直面した。しかし、ロボ...

...

予測: 2019 年に爆発的に普及する 10 の人工知能テクノロジー!

1. 自然言語生成自然言語生成は、データをテキストに変換し、コンピューターがこれまでにない精度でア...

人工知能はそんなに怖くない! AIとビッグデータは世界の3つの大きな問題を解決し、人類に利益をもたらすことができる

[[216213]] AIと仕事に関しては、予測は暗い。常識では、AI は近い将来、機械化が過去 2...

...

Intel がオープンソースの大規模スパースモデルトレーニング/予測エンジン DeepRec の構築を支援

DeepRec(PAI-TF)は、アリババグループの統合オープンソース推奨エンジン(https://...

...