AIと機械学習の品質保証

AIと機械学習の品質保証

[51CTO.com クイック翻訳]人工知能はここ数年間、人々の注目を集めてきました。 「あなたのために働くロボット」に関する誇大宣伝やセンセーショナルな見出しが広まっているにもかかわらず、たとえ利益がわずかであっても AI が価値を生み出し、さまざまな業界でさまざまな用途があることは明らかです。

人工知能、機械学習などのインテリジェント技術はさまざまな業界で急速に注目を集めていますが、「製品化」のプロセスは遅れています。 AI 品質保証はこれを完璧に実証しています。

厳密に言えば、AI 開発者や AI テスターは存在しません。すべての作業は、ML ライフサイクルのさまざまな段階を担当するデータ サイエンティストと ML エンジニアによって行われます。ソフトウェア開発と比較すると、AI エンジニアリングは、誰もが従う特定のルールではなく、「テストのベストプラクティス」に依存しています。

しかし、AIや機械学習のQAは急速に進歩しています。医療、銀行・金融、保険、物流、通信などのセキュリティとデータの機密性が高い業界では、データ、インフラストラクチャ、重要なシステムが保護されるように、AI/ML ソリューションを継続的にテストし、微調整する必要があります。

この記事は、AI/ML の QA を実行する方法についての私の見解です。私が発見したように、ProVex の同僚たちはこのプロセスについて独自の見解を持っています。これは、AI をテストしたいすべての人にとって、どれだけの作業が必要なのかを証明するだけです。

機械学習モデルのライフサイクルと検証

いくつかの基本事項。

著者提供の画像

QA の観点から見ると、機械学習モデルのライフサイクルは主に次の 3 つのフェーズで構成されます。
1. 準備。後で処理および分析するためにデータを収集、フィルタリング、整理します。
2. 実験する。機能は慎重に作成され、モデルは展開に備えて設計、構築、トレーニング、テスト、微調整されます。
3. 展開。モデルがパッケージ化され検証されると、顧客が使用できるように本番環境に展開できます。モデルは、高い精度と信頼性を確保するために監視されます。
これは、データや機能からモデル コンポーネントや AI ソリューション自体に至るまで、ライフサイクルのあらゆる段階で非常に異なる属性をテストすることを意味します。これは QA エンジニアにとって大きな課題となります。

データテスト

機械学習においては、クリーンかつ適切に準備されたデータの重要性を過小評価することはできません。 「ゴミを入れればゴミが出てくる」ということわざにあるように、低品質のデータを高品質の機械学習モデルに投入すると、低品質の結果が得られ、その逆も同様です。

たとえば、2016 年にカリフォルニア大学バークレー校の研究チームは、「[汚れたデータを検出して修正] しないと、ML モデルによる分析が不正確になり、決定が信頼できなくなる可能性がある」という結論を出しました。

Provixでも同じことが証明されました。

当社の顧客である GoCheck Kids は、小児写真スクリーニング アプリケーションの画像分類コンポーネントを機械学習で強化したいと考えていました。視覚スクリーニング モデルの結果を確認した後、モデルのトレーニングに使用された画像の大部分を再ラベル付けする必要があることが判明しました。完了すると、チームは ML モデルの再現率が精度を維持しながら 3 倍向上したことを発見しました。

では、何をテストできるのでしょうか?

データセット全体をテストすることも、各データ ポイントを個別にテストすることもできます。

データ品質の観点からは、重複、欠損値、構文エラー、書式エラー、セマンティックエラーをチェックすることが重要です。統計的な品質の問題を検出したい場合は、データ内の異常値や外れ値を探す必要があります。

ただし、重複、欠損値、構文エラー、書式エラー、セマンティック エラーをチェックすることが非常に重要であることを忘れないでください。一般的に、データ テストは依然として手動で行われます。

言及する価値のあるツールとしては、 Deequ、GreatExpectations、Tensorflow Data Validation などがあります。

注:データ品質チェックのプロセスについては、こちら – データ品質強調表示システムで詳しく説明しています。

モデルテスト

ML モデル テストの主な原則は、モデルをそのすべての機能、入力、出力を含むアプリケーションとして扱うことです。概念的には、モデルをこのように見ると、テストがはるかに簡単になります。

あらゆるアプリケーションのテストはユニット テストから始まります。できるだけ多くのシナリオをカバーする、高品質の単体テストを多数用意する必要があります。多くの ML エンジニアはこのベスト プラクティスに従っていませんが、モデルの高い精度とパフォーマンスを確保するにはユニット テストが不可欠であると私は考えています。

データセットのテストは、モデル テストの重要な段階です。最初のタスクは、トレーニング セットとテスト セットが統計的に同等であることを確認することです。つまり、セット間の差が有意であると見なされる差よりも小さく、同等性境界によって示される間隔内に統計的に収まるようにします。下の図は、統計的に同等でないデータ セットを示しています。

データも、ユースケースを記述するために使用する必要があるため重要です。基本的に、データセットはモデルの堅牢性をチェックするために使用されるテストケースを表します。たとえば、モデルとユースケースに応じて、Golden UAT データセット、セキュリティ データセット、本番トラフィック再生データセット、回帰データセット、偏差データセット、エッジ ケース データセットなどを使用できます。

機能性もテストする必要があります。具体的には、モデルによって生成される予測に最も大きな影響を与える特徴を見つけることが目標です。パイプラインに複数のモデルがあり、より正確なモデルを選択するためにモデルを最終決定する必要がある場合、機能テストは非常に重要です。

モデルの安全性をテストする必要があります。これはそれ自体が広範なトピックなので、ここでは簡単に触れるだけにします。他のソフトウェアと同様に、モデルもウイルス (いわゆる線虫) に感染する可能性があります。 elegans により、モデルがオブジェクトを誤って識別し、誤った予測を生成する可能性があります。たとえば、線虫に感染したモデルは、パンダの画像の中でパンダではなくテナガザルを「見る」可能性があります。


最後に、モデルに偏りがあるかどうかをテストする必要があります。偏見とは、ある考えや物事に対する傾向や先入観のことです。バイアスにはさまざまな形態がありますが、モデルテストの観点から見ると、最も影響力のあるバイアスの種類は次のとおりです。

  • 選択バイアス— サンプルが現実世界の分布を反映しないような方法でデータを選択すること。
  • フレーミングバイアス- 情報の提示方法によって、同等の選択問題に関して人々が意思決定を行う方法が変わります。
  • 体系的バイアス– データを特定の方向に歪めるさまざまな要因により、一貫性があり再現性のある値の数値エラー。
  • 個人的認識バイアス– 自分の先入観を裏付ける情報に注意を払う(そしてその情報に高い価値を置く)傾向。

外れ値を注意深くチェックし、欠損値を綿密に調べて、バイアスと分散のバランスを見つけることが重要です。過剰適合や不足適合を避け、できるだけ客観的にデータをフィルタリングするようにしてください。
しかし、データやモデルからバイアスを除去することは、言うほど簡単ではありません。

まず、人間は本質的に偏見を持っており、誰も 100% 客観的ではありません。第二に、バイアス テストはほとんどの場合手動で行われるため、長期的にはデータにエラーが追加されるだけです。

幸いなことに、偏見にもっと効果的に対処するのに役立つサービスがいくつかあります。 1 つは、一般的な ML アプリケーション向けのオープンソースのバイアス テスト ツールである Pymetrics です。もう 1 つは Amazon SageMaker Clarify です。これは、開発者がトレーニング データとモデルをレビューして、バイアスを特定して制限し、予測を説明するのを容易にする、完全に管理されたサービスです。


Amazon Sagemaker Clarify は、2020 年 12 月の AWS re:Invent 2020 で発表されました。このサービスがどれだけ効果的で有用であるかを判断するのは時期尚早ですが、AWS が約束を果たすことができれば、SageMaker Clarify はバイアステストの実施方法に革命をもたらす可能性があります。

複雑なITシステムにおけるモデルのテスト

機械学習モデルは、多くの場合、オフライン ソリューションとして設計および構築されます。つまり、これらのモデルは、実際のアプリケーションでのこれらのモデルの使用についてあまり関心のない ML エンジニアによって開発されています。

これは、再現可能な機械学習、MLOps、機能ストアの開発により急速に変化しており、QA プロフェッショナルにとっては非常に喜ばしいことです。 ML モデルを包括的な IT システムの一部として開発 (およびテスト) できるようになったため、テスターはより迅速かつ容易に現場に参入できるようになりました。

モデルが全体的なアプリケーションまたはソリューションの一部として IT システムでテストされる場合、QA エンジニアが使い慣れているすべての種類のテストを適用できます。たとえば、統合テストを実行して、すべてのコンポーネントが期待どおりに動作することを確認できます。あるいは、システムテストを実行して、システム全体が期待どおりに動作することを確認することもできます。

さらに、API をテストするための統合テストを記述し (Postman を使用できます)、システムで不正なデータ セットを実行してフォールト トレランスをチェックし、異なるバージョン環境との互換性をチェックすることも重要です。

システム テストでは、構成テスト、セキュリティ テスト、パフォーマンス テスト、UI テストなどの領域をカバーする必要があります。これらは手動でも自動でも実行できます。

簡単に言えば、このフェーズではシステム全体とシステム内のモデルをテストします。どのモデルもシステムのオフラインコンポーネントとは見なしません。

本番環境への導入後のテスト

ソフトウェア テストと ML テストの主な違いは、AI/ML ソリューション (およびこれらのソリューションの一部である ML モデル) は、本番環境にデプロイされた後、繰り返しテストする必要があることです。

モデルを展開すると、モデルは進化と劣化を続けます。多くのモデルは、実際には、かつて反映されていた状況が変化したにもかかわらず、生産時に品質が低下します。これらのプロセスは、次の要因によって影響を受ける可能性があります。

  • 顧客の習慣を変える。
  • 自然異常と災害。
  • 一度限りのイベントです。

つまり、モデルが処理するデータが変化すると、その精度とパフォーマンスも変化します。このプロセスはデータドリフトと呼ばれます。

モデルの劣化を確実に追跡するには、ログ記録および監視システムを導入する必要があります。これは、モデルの精度とパフォーマンスがデータ(およびその他の要因)によって影響を受ける重要なポイントを特定し、モデルを積極的に調整するのに役立ちます。

テスト作業を補完するには、A/B テストを実行してさまざまなモデルを比較し、本番環境に展開できるチャンピオン モデルとチャレンジャー モデルを選択する必要があります。もちろん、これらすべてをスムーズかつ効率的に実行するには、自動化された継続的なテスト システムが必要です。

結論は

機械学習における品質保証はまだ初期段階にあります。これは、AI と ML が提供できるもの(提供できるものはたくさんあります)を探求したい QA エンジニアにとって素晴らしいことです。

この記事では、機械学習の品質保証の主な段階について説明し、この分野に参入するために QA 担当者が知っておく必要のある内容について簡単に紹介しました。これまでの経験をまとめましたので、コミュニティからのフィードバックをいただければ幸いです。 (ここで言及したベストプラクティスのいくつかは議論の余地があると確信しています)。 )

要約すると、主なポイントは次のとおりです。

  • データに焦点を当てます。モデルのトレーニングとテストに使用するデータが高品質であることを確認する必要があります。これを行うには、必ず視覚化して、異常、外れ値、統計上の問題がないか確認してください。
  • モデルを通常のアプリケーションと同じように見てみましょう。 AI ソリューションをテストし、複雑な IT システムの一部としてモデルをテストします。つまり、通常ソフトウェアをテストするすべての種類のテストを実行しますが、バイアスと適合性を念頭に置いてください。
  • デプロイ後もモデルのテストを続行します。データドリフトやモデルのパフォーマンスに影響を与える可能性のあるその他の要因を考慮します。変更を追跡するために監視とログ記録を追加します。適切な CI/CD を使用して、新しいモデルを迅速にテスト、調整、デプロイします。

この記事が、ML テストのキャリアを始める際に役立つことを願っています。コメント欄でフィードバックやご意見をお聞かせください。

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください]

<<:  AIが不動産業界をどう変えるのか

>>:  2021年、ついにスマートグラスの普及が到来

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

視覚的な「脳の読み取り」:脳の活動から見える世界を再構築する

人間の知覚は客観的な刺激だけでなく過去の経験によっても形成され、それらが組み合わさって脳内で複雑な活...

フィンテックの台頭:アルゴリズムが決済業界をどう変えるかデータセットの分析は最初のステップに過ぎない

[[224951]]つい最近まで、CEO や大手銀行は、顧客にサービスを提供する上で銀行の所在地は考...

OpenAI の予測: スーパーインテリジェンスは 10 年以内に到来する!鄭済集落は人類を救い、4年で同盟を完全に征服した

スーパーAIがみんなを殺す!サム・アルトマン氏は、AI の将来について何度も公に懸念を表明しており、...

サイバーセキュリティにおけるAI、機械学習、自動化

サイバーセキュリティのスキル不足は、政府を含むさまざまな地域、市場、セクターの組織に引き続き影響を及...

人工知能のボトルネックを解決し、フードデリバリー業界の発展を促進

近年、消費者向けインターネットが深化し、産業向けインターネットが徐々に向上するにつれて、さまざまな業...

報酬のランダム化により、マルチエージェントゲームにおける多様な戦略的行動が発見され、研究者は新しいアルゴリズムを提案する

本論文では、研究者らは報酬空間を探索するための新しいアルゴリズム RPG (報酬ランダム化ポリシー勾...

Python コードを書くことができる人工知能 Kite が Linux のサポートを発表。プログラマーは職を失うことになるのでしょうか?

[[264788]]プログラマーが Python コードを書くという反復的な作業を軽減するのに役立...

Google 創設者が正式に LLM 戦争に復帰!ジェミニの開発を導く、OpenAIとMetaとの戦いが迫る

4年前に辞任したGoogleの共同創設者がついに復帰!ウォール・ストリート・ジャーナルの報道によると...

機械学習の7つの大罪:信頼性に影響を与える7つのよくある間違い

機械学習は私たちの世界を変える素晴らしいツールです。機械学習(特にディープラーニング)が従来の方法よ...

最近人気の大型モデルや自動運転コンセプトについてお話ししましょう。

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

...

2021年から2030年までのドローン産業のトップ10の発展トレンド

民間ドローン産業は2010年頃から勢いを増し始め、特に2014年から2017年にかけて民生用ドローン...

...

ロボットR2-D2は50年後に人間の仕事を完全に置き換えるでしょうか?

[51CTO.com クイック翻訳] 海外メディアの報道によると、誰かが設計しているロボットがあな...