適応モデルの概要

Feb 14 2023
機械学習トレーニング パラダイムの新しい方向性を深く掘り下げる
はじめに 従来、機械学習モデルは収集された固定/静的データセットでトレーニングされ、目に見えないデータで予測を行うために使用されます。これまでのところ、これが機械学習への一般的な (そして成功した) アプローチ方法ですが、より堅牢なモデルを構築するには改善の余地が大きくあります。
Unsplash の Johannes Plenio による写真

はじめに

従来、機械学習モデルは収集された固定/静的データセットでトレーニングされ、目に見えないデータの予測に使用されます。

これまでのところ、これが機械学習への一般的な (そして成功した) アプローチ方法ですが、より堅牢なモデルを構築するには改善の余地が大きくあります。

例えば:

  • 時間の経過とともに、データの分布は変化する可能性があります。最終的に、これは静的な非適応モデルのパフォーマンスの低下につながる可能性があります。したがって、このような場合には定期的なモニタリングが推奨されますが、これには追加のリソースが必要となり、プロジェクト管理のコストが増加します。
  • 間違いなく、人間が注釈を付けた (または人間が検証した) データを機械学習モデルにフィードすると、多くの場合最良の結果が得られます。これにより、モデルが高品質のデータを取得できるようになります。ただし、アノテーションを付ける作業は骨の折れる作業であり、拡張性がありません。
  • 多くの場合、自由に使えるデータでは、独立したモデルをトレーニングするには不十分です。さらに、より多くのデータを収集するには時間がかかり、実行可能な方向ではない可能性があります。

適応モデル

名前が示すように、適応モデルは、より多くのデータにさらされるにつれて適応してパフォーマンスを向上させる機械学習モデルです。

なぜ適応モデルなのか?

適応モデルの使用を検討する理由はいくつかあります。

  1. 動的環境でのパフォーマンスの向上: 適応モデルは、より多くのデータにさらされるにつれてパフォーマンスを継続的に向上させることができ、精度と実用性の向上につながります。データ分布が絶えず変化する状況では、適応モデルは適応して良好なパフォーマンスを継続できますが、非適応モデルは苦戦する可能性があります。
  2. 手動介入の削減: 適応モデルでは、モデルが独自に適応して改善できるため、手動介入 (モデルのハイパーパラメーターの調整など) の必要性が少なくなります。AutoML を使用すると自動再トレーニングが行われるため、データ サイエンティストやエンジニアの時間と労力を節約できます。

考慮すべき点

アダプティブ モデルは、追求すべき素晴らしいアイデアのように思えますよね。ただし、他のアルゴリズム/技術と同様に、制限があります。

アダプティブ モデルを使用するかどうかを決定する際に考慮すべき点がいくつかあります。

  1. 複雑さの増加: アダプティブ モデルは、静的/非アダプティブ モデルよりも複雑になる可能性があります。これは、通常、データの変化に適応するための追加メカニズムが必要となるためです。
  2. データの課題: 従来のモデルの要件と同様、適応モデルでも効果的なトレーニングを行うために十分なデータが必要です。十分なデータを確保することが難しい場合、適応モデルは最良の選択ではない可能性があります。
  3. 計算コスト: 適応モデルは一貫して適応するため、非適応モデルよりも計算量が多くなります。ただし、適応モデルの利点の 1 つは、モデルが再トレーニングのたびに最初からトレーニングされるわけではないため、以前にトレーニングされたモデルが次の再トレーニング反復の開始に使用される場合、追加の計算コストが小さくなる可能性があることです。

これらを活用するために、現在、適応モデリングをサービスとして提供するクラウドベースのプラットフォームが多数利用可能になっています。

これらには、Google Could AutoML、Microsoft Azure、DataRobot などが含まれます。

しかし、特に私の注意を引いたのは、Toloka の適応機械学習モデルでした。

探索中に、トロカについて特に興味深いものを発見しました。(他のプレーヤーと同様に) 適応モデルを活用するためのシームレスなエクスペリエンスを提供することに加えて、Toloka はデータ検証のためのデータ ラベラーの世界的な群衆によって強化されています。(これについては後ほど詳しく説明します)

したがって、このブログでは、Toloka を使用した私の経験を共有し、Toloka の適応機械学習モデルを使用するプロセスについて説明します。

始めましょう!

トロカの紹介

Toloka は、機械学習モデルの迅速かつ効率的な開発を促進する環境です。

これは、データの収集とラベル付け、モデルのトレーニングとデプロイ、およびそのパフォーマンスの監視のための統合プラットフォームです。

そのサービスは ML ライフサイクル全体を網羅しており、ML チームがソリューションをより迅速に運用できるようになります。

また、Toloka でトレーニングされたモデルは定期的に再トレーニングされるだけでなく、定期的に検証されることもわかりました。これにより、すぐに使用できるモデルのモニタリングが可能になります。

適応モデルのオペレーターとして、人間のアノテーターから取得した新しく更新されたグラウンド トゥルース ラベルと比較してモデルのパフォーマンスを定期的に確認できるため、異常やその他のイベントを見逃すことがありません。

利点

私の調査によると、Toloka のサービスを使用すると、次のことが可能になります。

  1. インフラストラクチャに投資することなく、ML ソリューションの導入にかかる時間とコストを大幅に削減します。

  2. 自動化されたモデル監視と定期的な再トレーニングにより、インテリジェントなサービスを迅速に展開します。
  3. 典型的な ML 開発サイクルをわずか 4 つのステップで自動化します (後述)。
  4. 事前トレーニングされたモデルから始めることで、最初の反復からより高い精度が得られます
    。
  5. 世界中に集まっている人間のラベル付け担当者を活用して、受信データを検証します。このようにして、大規模であっても、データ内に存在する可能性のあるエラーや不一致を特定して修正できます。

さらに詳しく説明すると、このような組織では、現時点では AI 戦略が明確に定義されていません (または計画されていません)。

ただし、組織は (開発プロセスを自己ホストすることを選択した場合) 当初から、適切な人材の採用、データ ウェアハウス、開発および運用環境の構築に多大な投資を行う必要があります。

ただし、Toloka の API に統合された事前トレーニング済みモデルのコレクションを使用すると、これらのモデルをデータ ストリームに自動的に適応させることができます。

Toloka の適応モデル

上で説明したように、Toloka を使用すると、ML ライフサイクルの繰り返しのステップをスキップできます。

その結果、私は自分でサービスをテストし、ダミーのデータセットでモデルをトレーニングしました。下の図は、このプロセスの概要を示しています。

Toloka の適応モデル (画像出典: こちら)。

以下に手順を説明します。

ステップ 1:モデルを選択する

まず、 Toloka のモデルのリストから、タスクとデータの種類に合った事前トレーニング済みモデルを選択します。これを以下に示します。

利用可能な適応モデル (作者によるGIF)。

私は上記の General Sentiment Analyzer を選択しました。

ステップ 2: プロジェクトを作成する

次に、関連するデータセットを提供することで、Toloka の既存のモデルを微調整できます。

ここでは、「データセットの作成」を選択して CSV ファイルをアップロードし、「生のダミー データ」という名前を付けました。

データセットの作成(作成者による画像)

データをアップロードすると、[データセット] ドロップダウンにそのデータが表示されます。

データセットの選択 (作成者による画像)

次に、センチメント アナライザーを適用するテキスト列の名前やラベル列など、求められた詳細を入力しました。

最後にモデルを実行します。

モデルの実行 (著者による画像)

「レジストリ」タブの下に、起動されたインスタンスが表示されます。

モデルのモニタリング (著者による画像)

上で述べたように、Toloka の適応モデルについて私が特に興味深いと感じたのは、それらが人間参加型サービスによって強化されていることです。

その結果、ユーザーは何百万もの Toloker (データ ラベラーとも呼ばれます) からなる世界的な群衆にアクセスできるようになります。これらは、オンデマンドのラベル付け、インスタント スケーリング、多言語プロジェクトのために、あらゆるタイム ゾーンで即座に利用できます。

公式統計によると、Toloka は 100 か国以上のネットワークを持ち、40 以上の言語をサポートしています。この群集を使用して、データとモデルの予測の品質チェックを実行できます。

Tolokers を活用するには、特定のデータに対してタスクを設定する必要があります。その後、Toloka はラベル付けと検証のためにデータを Tolokers に送信します。

ステップ 3:モデルの使用を開始する

タスクが設定され、モデルがトレーニングされたら、Toloka API を介してデータに適合したモデルをプロジェクトに統合できます。

さらに、データ ストリームに対してリアルタイムのモデル生成ラベルと Tolokers の注釈付きラベルの受信を開始することもできます。

ステップ 4: Toloka にモデルをデプロイ、監視、更新させます

最後に、Toloka のモニタリング サービスを使用すると、モデルの品質とパフォーマンスをチェックできます。

予測はデータの人による注釈全体でも検証され、データ ストリームで指定したラベルの横に追加の品質チェックが提供されます。

さらに、Toloka は必要に応じてモデルを再トレーニングして、モデルのドリフトを防ぎ、提供されたデータ ストリームとのモデルの同期を保ちます。

結論

機械学習モデルを導入して現実の問題を解決するという分野では、時間の経過とともにデータの分布が変化することは確実です。

その結果、古いデータでトレーニングされたモデルは、将来的にはほとんど価値をもたなくなる可能性があります。

適応モデルは、受信データ ストリームに一貫して適応するため、このような状況では優れたソリューションとなります。

それにもかかわらず、必要なトレーニングおよびモニタリング ユーティリティが組み込まれた社内の適応モデルを構築すること自体が、困難で退屈なプロセスになる可能性があります。

ここでは、Toloka が提供するアダプティブ モデルが適切な選択肢として機能し、必要に応じてモデルの展開、監視、更新という重労働を軽減します。

全体として、この実験全体で私がやるべきことはデータセットをアップロードすることだけでした。その結果、トロカはすべてを自分で管理しました。

Toloka がモデルのチューニング、評価、展開、監視を自動化したため、通常の問題が回避されました。

さらに、同社のアダプティブ モデルと人間参加型サービスを組み合わせることで、人間のラベル作成者 (Toloker) に対して受信データの品質チェックが行われるため、ゲームチェンジャーとなる可能性があります。

今後のブログでは、Toloka のアダプティブ モデルと、Huggingface Autotrain、Labelbox などの他のサービスとの比較について詳しく説明する予定です。

読んでくれてありがとう!