ByteDanceがCowClipをオープンソース化:推奨モデルのシングルカードトレーニングを最大72倍高速化可能

ByteDanceがCowClipをオープンソース化:推奨モデルのシングルカードトレーニングを最大72倍高速化可能

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。

速さが足りません!速さが足りない?

NLP および CV タスクでは、ニューラル ネットワークのトレーニングを加速するために、32K のバッチ サイズと 8 つの GPU を使用することで、ImageNet トレーニングの完了には 14 分、Bert トレーニングの完了には 76 分しかかかりません。より速いトレーニングを求める研究者たちの願いは、決して止まることはない。

では、GPU を 1 つだけ使用すれば十分でしょうか?レコメンデーションシステムでは、それが可能であるだけでなく、バ​​ッチサイズをさらに増やすこともできます!

最近、ByteDance AML (応用機械学習チーム) とシンガポール国立大学の研究者が、CowClip という新しい最適化手法を提案しました。これは、公開されているクリックスルー率予測データセット Criteo で最大 128K のバッチ サイズをサポートします。DeepFM を単一の GPU でトレーニングすると、トレーニング時間が 12 時間から 10 分に短縮され、パフォーマンスは低下するのではなく向上します。

論文アドレス: https://arxiv.org/abs/2204.06240 オープンソースアドレス: https://github.com/bytedance/LargeBatchCTR

このような大規模なバッチサイズのトレーニングをサポートし、モデルのトレーニング精度を維持するために、本論文では、パラメータ変換式を通じて大規模なバッチサイズでのパラメータを決定し、埋め込み層で適応勾配クリッピングを実行するという、新しい一連の最適化トレーニング方法を提案します。

CowClip 最適化手法を使用したさまざまな推奨モデル (この記事では DeepFM を含む 4 つのモデルがテストされました) が 2 つの公開データセットで理論的かつ実験的に検証され、手法の合理性と有効性が確認されました。

著者は、この最適化方法を使用すると、誰でも数分で小規模または中規模の推奨モデルを簡単にトレーニングできると述べています。

CowClip加速の理論的基礎

ユーザーインタラクションは推奨システムの新しいトレーニングデータとなり、モデルは繰り返しの再トレーニングを通じて最新の知識を学習します。現在の推奨システムは、何億人ものユーザーと何千億ものトレーニング データに対応しており、完全なトレーニング プロセスには多くの時間と計算コストがかかります。

推奨システムのトレーニングを高速化するために、推奨システムは現在、高速トレーニングに GPU を使用しています。しかし、GPU のコンピューティング能力とビデオメモリが継続的に増加しているため、これまでの推奨システムのトレーニング プロセスでは、現在の GPU のパフォーマンスを十分に活用できていませんでした。たとえば、Criteo データセットでは、バッチ サイズが 1K から 8K に増加しても、V100 を使用したトレーニングの各反復に必要な時間はわずかに増加するだけです。これは、現在の高性能 GPU では、過去に使用されていた小さなバッチ サイズでは、GPU の並列機能を十分に活用するには不十分であることを示しています。

より大きなバッチ サイズを使用すると、GPU のパフォーマンスを最大限に活用できるため、GPU が真に価値のあるものになります。大きなバッチ サイズでトレーニングしてもモデルの精度が低下しない限り、GPU メモリがいっぱいになるまでモデルのバッチ サイズを増やし続けることができます。

しかし、モデルの精度の低下を防ぐのは簡単なことではありません。一方では、バッチ サイズが大きくなると、ネットワークのトレーニングが不安定になり、ネットワークの一般化能力が弱まる可能性があります。一方、バッチ サイズが大きい場合にハイパーパラメータの選択をガイドするルールがない場合、パラメータ調整によって多くのリソースが浪費されます。

この論文で提案された CowClip は、上記の問題を解決することを目的としています。埋め込み層で列ごとに動的勾配クリッピングを行うことでバッチ サイズを 128 倍に増やすことを可能にし、さまざまなバッチ サイズでハイパーパラメータ値を設定するためのシンプルで効果的な一連の方法を提供します。

CowClip メソッド

大規模なバッチサイズでネットワークトレーニングをより安定させるために、研究者はネットワーク最適化プロセスを安定させる適応型列方向勾配ノルムクリッピング戦略(Adaptive Column-wise Gradient Norm Clipping、CowClip)を提案しました。勾配クリッピングは、ノルム値が特定のしきい値より大きい勾配をノルム内にクリッピングすることで更新プロセスを最適化する方法です。固定しきい値 clip_t が与えられた場合、勾配クリッピング プロセスは次のようになります。

ただし、この方法を埋め込み層の勾配に直接適用するとうまく機能しません。その理由は、有効な閾値を決定するのが難しいだけでなく、トレーニングプロセス中に、各特徴値(ID特徴)に対応するエンコードベクトル(埋め込み層内の埋め込み行列の列に対応)の勾配値がトレーニングプロセス中に異なるためです(図4を参照)。勾配クリッピングのグローバルアプリケーションでは、異なる勾配値間の差は無視されます。

そこで研究者らは、各特徴値に対応するエンコードベクトルにクリッピングしきい値を個別に適用し、しきい値を適応的に設定する提案を行った。勾配サイズがパラメータサイズ自体を超えるとトレーニングプロセスが不安定になることを考慮して、研究者らは、特徴値に対応するエンコードベクトルのノルム値を使用してしきい値を決定することを提案しました。クリッピングしきい値が小さくなりすぎないようにするために、パラメータ ζ によってクリッピング値が特定の値よりも低くならないようにします。

上記の式では、特徴 ID の合計頻度が異なるため、各バッチ内での出現回数も異なることにも留意する必要があります。異なる発生頻度のバランスをとるために、最終的なクリッピング値に、バッチ内で対応する頻度が発生する回数を掛ける必要があります。

上記の分析に基づいて、研究者が提案した CowClip アルゴリズムは次のとおりです。

大規模バッチサイズでのパラメータ変換

CV および NLP タスクでは、バッチ サイズを増やすときに学習率と L2 正則化パラメータを調整する一連の方法がすでに存在します。一般的に使用される方法には、バッチ サイズが s 倍に増加した場合に学習率を s 倍にスケーリングする線形スケーリングと、バッチ サイズが s 倍に増加した場合に学習率と正規化パラメータを s の平方根にスケーリングする平方根スケーリングがあります。

研究者らはまず、これらの調整を適用することで、大規模なバッチサイズでもパフォーマンスを効果的に維持できるかどうかを調査しました。表 1 の左側の実験は、バッチ サイズが大きくなると、これらの方法のパフォーマンスがある程度低下することを示しています。

論文では、従来の方法が失敗した理由は、入力特徴 ID の頻度が異なるためであり、これは CV モデルと NLP モデルの入力にはない特徴であると指摘しています。たとえば、ホットリストにある動画は再生回数が多く、データセット内での出現頻度が高いため、動画 ID 機能における動画 ID の出現頻度は、人気のない動画の出現頻度よりもはるかに高くなります。

上記の考えを検証するために、研究者らは高頻度特徴のみを含むデータセットを変換しました。予想通り、これまでのパラメータ調整方法では現時点で良好な結果が得られています(表1右側)。この実験は、一貫性のない頻度分布が以前のパラメータ調整方法を妨げることを示しています。

この論文では、この現象に関するさらなる理論的分析も行っています。簡単に言えば、線形調整法を再考すると、バッチ サイズが大きくなると更新の反復回数が減るので、学習率を上げる必要があるという考え方です。ただし、非常にまれにしか発生しない機能の場合、バッチ サイズを大きくしても更新の反復回数は減りません。

クリックスルー率予測データセットのデータの大半はこのような低頻度の特徴IDであるため、CowClip法と組み合わせることで、モデルの埋め込み層の学習率を調整する必要がなくなり、同時にL2パラメータが線形に増加します。

最終的な実験結果では、CowClip を使用してトレーニングされたモデルは他の方法よりも正確であるだけでなく、トレーニング速度も大幅に速いことが示されました。


<<:  AIデータのラベル付けは大量にアウトソーシングされており、南アフリカ、ベネズエラなどの国の人々はデジタル搾取の運命から逃れられない

>>:  ガートナー:AIと自動化は次世代SASEの重要な機能となる

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

超強力なPytorchオペレーション! ! !

こんにちは、Xiaozhuangです!ここ数日、ディープラーニングに関するコンテンツをいくつか共有し...

世界的なIT大手はAIを活用してデータセンターのエネルギー節約と排出量削減に取り組んでいる

データ センターは、世界中の何十億もの人々が毎日使用するアプリケーション、Web サイト、サービスに...

Google: 人工知能、機械学習などを Wear OS オペレーティング システムに統合

[[244954]]最近、上海世界博覧センターで 2 日間にわたる Google 開発者会議 (Go...

プレイヤー同士のアライアンス形成が加速しているが、アライアンスは自動運転の新たな活路となり得るのか?

さまざまなメーカーが続々と参入し、スマートカー市場はますます熱を帯びています。このような背景から、ス...

...

ガートナー、2024年以降のIT組織とユーザーに関する重要な予測を発表

ガートナーは、2024 年以降のトップ 10 の戦略予測を発表しました。ガートナーは、生成型人工知能...

...

データが人工知能の基盤となる理由

データ注釈とは何ですか?ほとんどのデータはラベル付けされておらず、非構造化データですが、人工知能のト...

高度な数学の問題解決ツール:写真を撮ってアップロードすると答えがわかる。この中国の学生は驚くべきAIを作った

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

ReSimAD: 実データなしで知覚モデルの一般化パフォーマンスを向上させる方法

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

...

...

このロボットは食べられますか?科学者は副作用なく食べても安全だと言っている

ロボットを食べるというのはあまり魅力的に聞こえないかもしれないが、近い将来、食べられる機械があなたの...