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

ブログ    

推薦する

CNNとRNNの比較と組み合わせ

CNNとRNNはディープラーニングのほぼ半分を占めているので、この記事ではCNN+RNNとさまざまな...

...

【WOT2018】蘇寧ドットコム高超:AI技術+短編動画を電子商取引プラットフォームに応用

[51CTO.comより引用] 2013年頃、携帯電話やパソコンに短編動画が大量に登場し、低コスト、...

...

機械学習が製造業に革命を起こす10の方法

人工知能の導入は製造業に大きな経済的利益をもたらすでしょう。この点に関しては、さまざまな研究機関が関...

スマートヘルスケアが業界のトレンドをリード、AI無人薬局の導入が加速

スマート医療産業の急速な発展は、多くの患者に恩恵をもたらしています。伝統的な医療業界をアップグレード...

...

マイクロソフトはWindows 11の組み込みアプリにAI機能を導入すると報じられている。写真、スクリーンショット、描画などに新しい機能が追加される。

8月23日、マイクロソフトは過去1年間で人工知能の分野で大きな進歩を遂げており、同社の新製品のほぼ...

AIアルゴリズムの包囲とフードデリバリー業者の「ブレイクアウト」

システムに閉じ込められた配達員たちは反撃している。最近、海外のテクノロジーメディアWiredは、プラ...

6つの興味深い画像グレースケール変換アルゴリズム

[楊静卓のブログより引用]序文白黒写真の時代は過ぎ去りましたが、今、昔の写真を見ると、昔に戻ったよう...

...

データマイニング分野のトップ10の古典的なアルゴリズムの1つであるC4.5アルゴリズム(超詳細なコード付き)

古典的なデータマイニングアルゴリズムのトップ 10 は次のとおりです。導入C4.5 は決定木アルゴリ...

データベース設計: MySQL フィールド名がキーワードと衝突するのを防ぎ、データの整合性を保護します。

MySQL は広く使用されているリレーショナル データベース管理システムです。データベース設計では...

電荷ベースの原子シミュレーションのための事前学習済み汎用ニューラルネットワーク CHGNet

複雑な電子相互作用の大規模シミュレーションは、原子モデル化における最大の課題の 1 つです。古典的な...

機械学習とは何ですか?機械はどんどん賢くなっていて、もはやSFの世界ではない

[[351468]]機械学習 (ML) は、一連のデータに基づいて予測を行うようにコンピューター シ...