1. 機械学習プラットフォームまず、Du Xiaomanの機械学習プラットフォームの背景、開発プロセス、現在の状況を紹介します。 1. ビジネスシナリオDu Xiaoman は金融テクノロジー企業です。同社の社内ビジネスシナリオは主に 3 つの側面に分かれています。
ビジネスに関係する AI テクノロジーは非常に多様であるため、AI アルゴリズムの実装には大きな課題があります。 2. AIアルゴリズムの実装の難しさAI アルゴリズムの実装には不可能三角形が存在します。つまり、アルゴリズム開発において高効率、低コスト、高品質を同時に実現することは困難です。
AI 実装におけるこれらの困難に直面した場合、唯一の解決策は機械学習プラットフォームを使用することだと私は考えています。 3. AIアルゴリズムの作成プロセス次に、AI アルゴリズムの実装で遭遇する具体的な困難を、AI アルゴリズムの制作プロセスの観点から理解してみましょう。 AI アルゴリズムの実装は、主にデータ管理、モデル トレーニング、アルゴリズムの最適化、展開とリリースの 4 つの部分に分かれています。モデル トレーニングとアルゴリズムの最適化は反復的なプロセスです。 アルゴリズム開発の各ステップでは、そのステップに携わる人々に対する技術要件が大きく異なります。
各工程に必要な技術スタックから、1人、2人、3人の技術者がすべての技術を完全に習得することは困難であり、手作業を伴う各工程が生産のボトルネックとなり、生産が不安定になることがわかります。機械学習プラットフォームを使用すると、これら両方の問題を解決できます。 4. 機械学習プラットフォーム「ATLAS」当社の機械学習プラットフォーム ATLAS は、AI 生成の全プロセスを実行し、AI アルゴリズムの実装における手動参加を置き換え、効率的な出力を実現し、AI アルゴリズムの研究開発の効率を高めることを目指しています。 ATLAS には次の 4 つのプラットフォームが含まれます。
これら 4 つのプラットフォーム間には、循環的な反復関係もあります。以下に、これらのプラットフォームの設計詳細と運用プロセスを紹介します。 5. ATLAS: データとトレーニングデータとトレーニングのセクションでは、注釈プラットフォーム、データ プラットフォーム、トレーニング プラットフォームについて説明します。 (1)アノテーションプラットフォームアノテーション プラットフォームは主に、AI アルゴリズムのトレーニング用にアノテーション付きデータを提供します。ディープラーニングの誕生以来、モデルは非常に複雑になっています。AI アルゴリズムの有効性のボトルネックは、モデル設計からデータの品質と量に移行しています。したがって、効率的なデータ生成は、AI アルゴリズムの実装において重要なリンクです。 ATLAS のデータ ラベリング プラットフォームには、マルチシナリオ カバレッジとインテリジェント ラベリングという 2 つの主な機能があります。
(2)データプラットフォームデータ プラットフォームは主に大規模なデータ ガバナンスを実現し、柔軟性を考慮し、ガバナンス プロセス中にサンプルを動的に一致させることができます。数億人のユーザーの 5,000 以上の次元の特徴を保存することにより、オンラインでリアルタイムのクエリを実行できます。動的マッチング サンプルは、さまざまなシナリオのサンプル選択およびデータ選択の要件を満たすことができます。 (3)トレーニングプラットフォームトレーニング プラットフォームは非常に重要な施設であり、次の 5 つの層に分かれています。
6. ATLAS: 展開と打ち上げ私たちのデプロイメントは、サーバーレスのようなアーキテクチャを採用しています。サーバーレスのようなアーキテクチャと呼ばれる理由は、完全にサーバーレスなサービスではないからです。当社のサービスは、広範かつ一般的なアプリケーション シナリオを対象としているのではなく、モデル向けのオンライン サービスのみを対象としているため、より多くのシナリオとの互換性を考慮する必要はありません。 API インターフェース レイヤーは、モデルがアクセスする 3 つの部分を提供します。
ユーザーにとって、注目すべきは図のオレンジ色の部分だけです。プラットフォームが提供する API は開発コストを削減でき、市場のほぼすべてのアルゴリズムと互換性があります。 API の助けを借りれば、開発完了から起動まで 1 日または半日以内にモデルを開発できます。さらに、クラスター管理を通じて、プラットフォームの優れた安定性保護、トラフィック管理、容量管理を提供できます。 7. ATLAS: 最適化の反復以下は、ATLAS での 2 回の最適化反復のシナリオを示しています。
たとえば、OCR モデルの実装中に、古いモデルがデプロイされた後にいくつかの不良ケースが生成されます。これらの不良ケースは、既存のラベル付きデータとマージされ、新しいデータセットを形成します。その後、古いモデルは AutoML 最適化パイプラインを通じて最適化され、新しいモデルが生成されます。新しいモデルがデプロイされた後、このサイクルが繰り返されます。このサイクルにより、モデルの精度がさらに 1% 向上します。OCR モデルの精度は非常に高く、通常は 95% を超えるため、1% も大幅な向上となります。
シンプルで反復的な最適化プロセスの場合は、フルプロセス AutoML を代替として使用します。専門家の経験を必要とするシナリオの場合は、AutoML を補助的な最適化として使用します。フルプロセス AutoML の結果をベースラインとして使用して、展開に最適なモデルを選択します。当社では、このような最適化手法により、60% 以上のシナリオでパフォーマンスの向上が達成されており、向上の範囲は 1% ~ 5% です。 2. 自動機械学習以下では、使用した AutoML テクノロジーと行った改善点について紹介します。 1. エキスパートモデリングとAutoMLまず、従来の専門家によるモデリングと比較した AutoML の利点を紹介します。 AutoML の利点は次の 3 つの領域に分類されます。
2. AutoML の紹介以下は、AutoML でよく使用されるテクニックの一部です。 AutoML で一般的に使用されるテクノロジーには、次の 3 つの側面があります。
実際の作業プロセスでは、さまざまなタスクシナリオに応じてさまざまなテクノロジが選択され、これらのテクノロジを組み合わせて使用できます。 以下のセクションでは、これら 3 つのテクノロジをそれぞれ紹介します。 3. 自動機械学習プラットフォーム:自動最適化パイプライン1 つ目はハイパーパラメータの最適化部分です。実際、当社の自動最適化パイプラインでは、ハイパーパラメータの最適化だけでなく、機械学習パイプライン全体が自動最適化の対象となります。これには、自動化された特徴エンジニアリング、モデル選択、モデルトレーニング、自動統合が含まれており、単一のハイパーパラメータ最適化と比較して、過剰適合の可能性が低減されます。 さらに、主流の AI アルゴリズムや AutoML ツールと互換性を持たせるために、Genesis と呼ばれる AutoML フレームワークを実装しました。また、拡張性に優れており、プラットフォーム内のさまざまな機能モジュールを相互に直交させることができるため、自由に組み合わせて、より柔軟な自動最適化パイプラインを実現できます。 4. 自動機械学習プラットフォーム:メタ学習システム私たちのシステムではメタ学習手法も使用されています。以下では、メタ学習手法の必要性と主な適用シナリオを紹介します。 (1)メタ学習の必要性大量の実験データを蓄積した結果、データセットはメタ特徴空間で明らかなクラスタリングを示していることがわかったため、メタ特徴空間で密に分布しているデータセットの最適解も密であると想定しました。この仮定に基づいて、過去のタスクのハイパーパラメータを使用して新しいタスクのパラメータ最適化をガイドし、ハイパーパラメータ検索がより速く収束し、限られた予算でアルゴリズムのパフォーマンスをさらに 1% 向上できることを発見しました。 (2)応用シナリオ
ビッグデータ応用のシナリオでは、既存のデータセットをマージする必要がある場合があります。たとえば、データセット A と B をマージして新しいデータセット C を生成します。データセット A と B のハイパーパラメータをデータセット C のコールド スタートとして使用して、データセット C のハイパーパラメータの最適化をガイドすると、一方では検索空間をロックでき、他方では最適なパラメータ最適化結果を達成できます。
実際の開発プロセスでは、データセットをサンプリングし、サンプリングしたデータセットに対してハイパーパラメータの最適化を実行する必要がある場合があります。サンプリングしたデータのメタ特徴空間分布は元のデータのメタ特徴空間分布に近いため、元のデータセットのハイパーパラメータを使用してサンプリングしたデータのハイパーパラメータ最適化をガイドすると、最適化の効率が向上します。 5. 自動機械学習プラットフォーム:ディープラーニングの最適化最後に、ディープラーニングシナリオの自動最適化を行いました。これは、ハイパーパラメータの最適化と NAS の探索という 2 つの側面に分かれています。
ディープラーニングの開発のボトルネックはトレーニング時間にあります。1 回の反復には数時間から数日かかります。従来のベイズ最適化では 20 ~ 30 回の反復が必要で、トレーニング時間は 1 か月から数か月にも及びます。そこで、ハイパーバンド法を用いて、ディープラーニングのハイパーパラメータ最適化の部分でベイズ最適化のシードを提供し、ハイパーパラメータの検索プロセスを高速化します。これを基に、履歴データからの情報を使用してコールド スタートを最適化し、統合には履歴代替モデルを使用します。これにより、ランダム初期化よりも速くグローバル最適解に収束します。
実際の開発シナリオでは、異なる展開シナリオには、モデルの規模と時間パフォーマンスに対する要件が異なります。第二に、ニューラル ネットワーク構造の最適化は、モデル最適化の重要な部分です。このステップでは、人間の介入を排除する必要があります。そこで、我々は重みエンタングルメントに基づくワンショットNAS法を提案しました。この方法は、従来のDARTS法の3倍以上の検索効率を達成できます。さらに、検索対象のサブネットワークモデルのパラメータ数と計算コストは制御可能であり、ターゲット内で適切なモデルを選択できます。さらに、さまざまな CV タスクのニーズを満たすために、MobileNet、ResNet などの多様なスペースもサポートしています。 3. 規模と効率最後に、機械学習プラットフォームを構築する過程で遭遇した規模と効率の問題について説明します。 1. ディープラーニングのジレンマディープラーニングではモデルのサイズと計算要件の間で矛盾が生じるため、スケールと効率の問題に重点を置いています。 モデルパラメータが多いほどモデルのパフォーマンスが向上するというのが業界のコンセンサスです。ディープラーニングには次のムーアの法則があります。
したがって、急速に増大するコンピューティングのニーズとハードウェアのパフォーマンスのギャップは、最適化を通じて解決する必要があります。 2. データの並列処理最も一般的に使用される最適化方法は、データ並列処理、モデル並列処理などを含む並列処理です。最も一般的に使用されるテクノロジーはデータ並列処理です。 ATLAS プラットフォームのデータ並列テクノロジには、次の特性があります。
3. モデルの並列処理一部のモデルでは、データ並列処理だけではトレーニング効率の問題を解決できないため、モデル並列処理技術を導入する必要があります。 ATLAS モデルの並列性は、主に次の 2 つの側面に分けられます。
一部のネットワーク モデルの完全接続層のパラメータ スケールは非常に大きくなります。たとえば、arcFace の分類スケールは数千万、数百万、さらには数千万にもなります。このような完全接続層は、GPU カードではカバーできません。このとき、異なるノードが同じテンソルの異なる部分を計算できるように、レイヤー内並列技術を導入する必要があります。
同時に、レイヤー間並列技術も使用され、異なるノード上のネットワークの異なるレイヤーのデータを計算し、非依存の計算を先行させることで、計算プロセス中の IDLE (GPU 待機時間) を削減します。 4. グラフの並列処理テンソルで記述できる線形データに加えて、グラフ データの並列トレーニングについても調査しました。 グラフデータの場合、サンプリングもその他の操作も動的なノード間操作が必要であり、グラフデータは一般的に規模が非常に大きくなります。当社の内部グラフデータは数百億規模に達しており、このようなグラフデータの計算を単一のマシンで完了することは困難です。 グラフ データの分散コンピューティングのボトルネックはマッピング テーブルにあります。従来のマッピング テーブルの空間計算量は O(n) です。たとえば、10 億のポイントと 10 億のエッジを持つグラフは 160 GB のメモリを占有し、分散トレーニングのスケール上限を形成します。我々は、ノードとエッジのIDを並べ替え、マッピング境界のみを保持し、任意にスケーラブルなグラフ並列トレーニングの効果を実現する、空間計算量O(1)の方法を提案する。 5. トレーニングの効率同時に、トレーニング効率の最適化も行いました。
データの読み取りに多くの GPU 時間が費やされ、GPU は無駄に待機しています。事前トレーニング、インプロセス監視と早期警告、事後分析を通じて、平均 GPU 使用率を 2 倍にすることができます。
バックプロパゲーション再計算技術も使用しました。多数のパラメータを持つ一部のモデルでは、順方向伝播プロセス中にすべてのレイヤーの計算結果を保存せず、一部のノードのチェックポイントのみを保持します。逆方向伝播中は、空のパラメータノードがチェックポイントから再計算されます。この方法により、メモリ リソースを 50% 以上削減し、トレーニング効率を 35% 以上向上できます。 IV. 要約と考察最後に、機械学習プラットフォームの構築における私の経験と考えについてお話ししたいと思います。 私たちは以下の経験をまとめました:
AI アルゴリズムの実装にはテクノロジーとコンテンツのさまざまな側面が関係するため、どのリンクの学生にも状況全体を理解してもらうことは期待できません。誰もがこれらの問題を解決できるように、これらの基本的な機能を提供できるプラットフォームが必要です。
自動化や AutoML の適用をうまく行うことによってのみ、アルゴリズムの専門家の生産性をより効果的に解放し、アルゴリズムの専門家がより詳細なアルゴリズムを実行したり、機械学習の上限を向上させる機能を構築したりできるようになるからです。
今後の展望:
5. 質疑応答Q1: どのオープンソース AutoML フレームワークを試しましたか? また、どれをお勧めしますか?A1: 現在最もよく使われているオープンソースの AutoML フレームワークは Optuna です。Auto-Sklearn や AutoWeka も試してみました。automl.org という Web サイトをお勧めします。現在この分野で働いている人は比較的少ないですが、この Web サイトは AutoML 分野の専門家や教授によって構築されています。AutoML に関するオープンソースの学習教材が多数掲載されており、皆さんも参考にすることができます。パラメータ調整には、最も基本的なベイズ最適化アルゴリズムではない Optuna というオープンソースフレームワークをお勧めします。これは、非常に多くのパラメータを持つシナリオに適した TPE アルゴリズムです。ベイズ最適化は、パラメータの少ないシナリオに適しています。ただし、さまざまなシナリオでさまざまな方法を試してみることをお勧めします。試行を重ねると、どのシナリオにどの方法が適しているかについてより多くの経験が得られるからです。 Q2: 機械学習プラットフォームの開発サイクルはどのくらいですか?A2: 機械学習プラットフォームの構築を開始してから 3 ~ 4 年が経ちました。最初に、アプリケーションの導入の問題を解決し、その後、コンピューティングやトレーニングなどの生産能力の構築を開始しました。ゼロから構築する場合は、まずオープンソース フレームワークを参照して構築し、使用中にビジネス シナリオでどのような問題が発生するかを確認して、将来の開発方向を明確にすることをお勧めします。 Q3: クロス検証中に過剰適合を排除するにはどうすればよいですか?A3: これはより具体的なアルゴリズムの最適化問題かもしれませんが、私たちの最適化パイプラインでは、サンプリング方法を通じてトレーニングを行い、タスクがデータセットのより多くの角度や側面を確認できるようにし、これらのサンプリング後にトレーニングされたトップモデルを統合して、モデルの一般化能力を強化します。これは私たちのシナリオでも非常に重要な方法です。 Q4: 機械学習プラットフォーム全体を構築するための開発サイクルと人材投資はどれくらいですか?A4: 先ほど申し上げたとおり、開発サイクルは3~4年程度です。人員については、現在6~7名が在籍していますが、初期の頃はさらに少なかったです。 Q5: 仮想化 GPU は機械学習プラットフォームを改善しますか?A5: まず、この学生が言及した仮想化 GPU は、リソースの分割と分離を指すはずです。機械学習プラットフォームを構築する場合、GPU の仮想化は必須の機能です。つまり、リソースのスケジュールと割り当てを改善するには、リソースを仮想化する必要があります。次に、これに基づいて、GPU のビデオ メモリとそのコンピューティング リソースを分割し、さまざまなサイズのリソース ブロックをさまざまなタスクに割り当てることもできます。ただし、トレーニング タスクでは通常、コンピューティング能力に対する要件が高く、リソース消費が少ないアプリケーション シナリオではないため、実際にはこれをトレーニングでは使用しません。推論シナリオで使用します。実際の適用プロセスでは、仮想化テクノロジには優れたオープンソースの無料ソリューションがないことがわかりました。一部のクラウド サービス プロバイダーは有料ソリューションを提供します。そのため、展開ではタイムシェアリングと多重化のソリューションを使用しています。これは、コンピューティング要件の高いタスクとコンピューティング要件の低いタスクを混在させてタイムシェアリングと多重化を実現し、ある程度の容量増加効果を実現できるものです。 Q6: マルチノード分散並列トレーニングの加速率はどれくらいですか?線形に近づけることはできますか?A6: ほぼ直線的な加速比を実現できます。当社で計測したところ、良い場合は80~90%程度を達成できます。もちろん、ノードの数が非常に多い場合は、さらなる最適化が必要になる場合があります。32 または 64 ノードで 80% または 90% の加速率を達成できると発表または論文で確認される場合は、さらに特殊な最適化が必要になる可能性があります。しかし、機械学習プラットフォームの場合は、より広範囲のシナリオをターゲットにする必要があるかもしれません。実際のシナリオでは、ほとんどのトレーニングでは、要件を満たすために 4 枚の GPU カード、8 枚の GPU カード、または最大 16 枚の GPU カードが必要になる場合があります。 Q7: AutoML を使用する際にユーザーが設定する必要があるパラメータは何ですか?全体の計算にはどれくらいの計算能力と時間が必要ですか?A7: AutoML の理想的なケースでは、ユーザーはパラメータを設定する必要はありません。もちろん、ユーザーが自分のニーズに応じていくつかのパラメータを自分で調整したり決定したりできるようにします。時間の消費という点では、すべての AutoML シナリオにおいて、最適化を 1 日以内に完了することが目標です。計算能力に関しては、ツリーモデル XGB や LGBM などの一般的なビッグデータモデリングであれば、1 台のマシンで処理できますが、GPU タスクの場合は、GPU タスク自体の規模によって異なります。基本的に、元のトレーニング規模の 2 ~ 3 倍の計算能力があれば、AutoML トレーニングを完了するのに十分です。 Q8: どのようなオープンソースの機械学習フレームワークを参照できますか?A8: この質問は先ほども言及されました。Optuna、Auto-Sklearn、AutoWeka などを参考にしてください。次に、先ほど automl.org という Web サイトについて触れましたが、そこには多くの情報が掲載されており、それについて学ぶことができます。 Q9: EasyDLとの関係はどのようなものですか?A9: EasyDL は Baidu に属しており、当社のフレームワークは完全に自社開発されています。 |
<<: マイクロソフトCEOナデラ氏:私は4つの大きな変革を経験してきたが、AIは5番目だ
>>: ロボットはペンを回したりクルミを転がしたりすることを学びました。 GPT-4では、タスクが複雑になるほどパフォーマンスが向上します
人工知能 (AI) と機械学習 (ML) のテクノロジーは、サイバーセキュリティを含め、今や私たちの...
【51CTO.com クイック翻訳】 2015年は機械学習技術が学術分野で形を成した年でした。具体的...
この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...
[51CTO.com クイック翻訳]関連調査レポートによると、デジタルフィットネス市場の規模は202...
AIOps (IT 運用のための人工知能)、つまりインテリジェントな運用と保守は、人工知能の機能を運...
翻訳者 | 陳俊レビュー | Chonglou現在、人工知能 (AI) アプリケーションの人気と急速...
ChatGPT のバイラルな成功により、テクノロジー企業間で AI 製品を市場に投入するための激しい...
この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...
[[207684]]投資家が最も注目する点の一つは、起業家が独自の堀を見つけているかどうかだ。そし...
今後 10 年間で、ディープラーニングは自然科学に革命をもたらし、自然現象をモデル化して予測する能力...
あらゆるものがデータと自動化によって駆動される現代の世界では、人工知能はますます一般的になりつつあり...
総じて、人工知能は世界の新世代の技術革命と産業転換の原動力となっており、その発展は我が国の産業構造の...