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年、ついにスマートグラスの普及が到来

ブログ    

推薦する

ネットワークデータセキュリティ管理に関する新たな規制が導入される

顔は機密性の高い個人情報です。一度漏洩すると、個人や財産の安全に大きな損害を与え、公共の安全を脅かす...

...

AI の成功のための 10 の重要な役割

あらゆる業界でますます多くの企業がビジネス プロセスを変革するために人工知能 (AI) を導入してい...

...

OpenAI従業員:エンジニアリングスキルは誇張されているが、人との付き合い方を学ぶことの方が重要

12月29日のニュース、プロンプトエンジニア、つまり、人工知能モデルを誘導して最良の出力を生成するチ...

人工知能はますます私たちに近づいている

科学者たちは、歌詞付きの歌を聞くと読書の妨げになりやすいのと同じように、音声信号とテキスト信号が脳に...

今年上半期の世界的なベンチャーキャピタル投資はほぼ半減し、AIスタートアップには400億ドル以上が流入した。

調査会社ピッチブックが7月6日に発表したデータによると、世界のベンチャーキャピタルファンドは2023...

顔認識を禁止した後、サンフランシスコは検察官の事件処理を支援するためにAIを活用

最近、海外メディアの報道によると、サンフランシスコ市は7月1日に導入予定の「偏見削減ツール」を発表し...

ガートナーは、信頼、成長、変化を通じてイノベーションを推進する新興テクノロジーをリストアップ

[[419256]] [51CTO.com クイック翻訳]信頼の設計、成長の加速、変化の形成は、ガー...

脅威検出システムにAIを統合するメリット

サイバー脅威は高度化、蔓延しているため、企業は常に警戒を怠ってはなりません。 2022年には、4億9...

中国人民政治協商会議全国委員会委員、PCIテクノロジー会長の劉偉氏:公安部門は顔認識アプリケーションを一律に承認することを推奨する。

2021年全国二会議において、中国人民政治協商会議全国委員会委員でPCIテクノロジー会長の劉偉氏は...

Red Hat は Ansible の自動化に IBM Watsonx コード生成を採用

Red Hat Inc. は本日、情報技術自動化のための生成 AI サービスである IBM Wats...

Java プログラミング スキル - データ構造とアルゴリズム「プレフィックス、インフィックス、サフィックス」

[[387421]]接頭辞表現(ポーランド語表記)プレフィックス式はポーランド式とも呼ばれます。プ...

人工知能の導入は、より費用対効果の高い臨床試験の新しい時代を告げるだろう

臨床試験はここ数年で大きく変化しました。医薬品や医療機器、そしてそれらが影響を与える対象となる症状が...