テクニカルガイド
マルチタスク学習
マルチタスク学習では、1 つのモデルが複数の関連タスクを同時に実行できるようにトレーニングし、それらのタスク間で内部表現を共有します。
このガイドを聴くAIによるナレーション · ~2 min
概要
共有構造を学習することで、各タスクが他のタスクを支援し、多くの場合、個別のモデルをトレーニングするよりも精度とデータ効率が向上します。
ディープダイブ
マルチタスク学習 (MTL) では、タスクごとに個別のモデルを構築するのではなく、タスク固有のヘッドに分岐する共有バックボーンを使用します。たとえば、自動運転認識ネットワークはビジョン エンコーダを共有し、その後、車の検出、道路のセグメント化、深度の推定のためにヘッドに分割する可能性があります。共有レイヤーはタスク全体で役立つ一般的な機能を学習し、各ヘッドは専門化します。これは帰納的バイアスと正則化の一種として機能します。1 つのタスクからの信号は共有表現を制約し、特に一部のタスクにデータが少ない場合に、過剰適合を減らし、汎化を改善します。主な課題はタスクのバランスを取ることです。損失スケールや勾配が矛盾する場合、1 つのタスクが優位になり、他のタスクが影響を受ける可能性があります。これは負の伝達と呼ばれる問題です。損失重み付け、不確実性に基づく重み付け、勾配手術などの技術は、タスクを競合させるのではなく協力させることを目的としています。
現実世界の実装
物体検出、車線セグメンテーション、奥行き推定のために 1 つのビジョン エンコーダを共有する自動運転認識スタック。
単一の共有ネットワークで翻訳、要約、感情表現、質問応答を処理する大規模な言語モデル。
レコメンデーション システムは、クリック数、総再生時間、購入数を共同で予測し、ユーザー エンゲージメントを最適化します。
同じスキャンから腫瘍の検出、その境界のセグメント化、およびそのタイプの分類を同時に行う医療画像モデル。
マルチタスク学習の未来
マルチタスク学習はジェネラリスト モデルへの傾向を支えています。大規模な言語モデルは本質的にマルチタスクであり、1 つのネットワークが翻訳、要約、コーディング、Q&A を処理します。マルチモーダル システムはこれをテキスト、画像、音声にわたって拡張します。多くのタスクを 1 つのモデルにまとめる統合アーキテクチャと命令チューニングの使用が増加することが予想されます。さらに、自動タスク バランシングとルーティング (専門家の混合など) が向上するため、タスクの追加は個別のモデルの追加を意味しなくなります。
実践する
なぜそれが重要なのか
- 費用と予算. アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。
- より明確な判決. 技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。
- 品質管理. より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。
気をつけてください
- 1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。
- インフラストラクチャとメンテナンスのコストは過小評価されがちです。
- システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。
次のステップ
- 実装前にレイテンシ、品質、コストの目標を定義します。
- 現実的な負荷とデータ条件でのベンチマーク。
- エラー、ドリフト、ユーザーへの影響を計測器で監視します。
- スケーリングの前に、ロールバックとインシデント対応のパスを準備します。
探検を続けましょう
よくある質問
マルチタスク学習とは何ですか?
マルチタスク学習では、1 つのモデルが複数の関連タスクを同時に実行できるようにトレーニングし、それらのタスク間で内部表現を共有します。共有構造を学習することで、各タスクが他のタスクを支援し、多くの場合、個別のモデルをトレーニングするよりも精度とデータ効率が向上します。
マルチタスク学習モデルはトレーニング中にどのように設定されますか?
MTL は複数のタスクで単一のモデルをトレーニングするため、共有レイヤーはすべてのタスクにわたって有用な構造をキャプチャします。
典型的なハード パラメータ共有 MTL ネットワークでは、何が共有され、何が分離されるのでしょうか?
ハードパラメータ共有では、一般的な機能には共通のトランクを使用し、各タスクに特化した個別のヘッドを使用します。
マルチタスク学習により汎化能力が向上するのはなぜでしょうか?
複数のタスクを学習すると、共有機能が制限され、特に低データのタスクに役立つ正規化として機能します。
マルチタスク学習における「負の転移」とは何ですか?
矛盾する勾配または支配的な損失により、1 つのタスクが他のタスクのパフォーマンスを低下させる可能性があり、これは有益な転送とは逆のことです。
マルチタスク学習において全体的な損失は通常どのように形成されるのでしょうか?
通常、目標は Σ wᵢ Lᵢ であり、タスクの規模と難易度が異なるため、重みを選択することが重要です。