背景近年、NLPアプリケーションは飛躍的な進歩を遂げています。BERT、GPT、GPT-3といった大規模モデルが様々なNLPテストを席巻したことで、パラメータ数の多いモデルの方がアルゴリズムの面で優れたパフォーマンスを発揮することが明らかになりました。その結果、大規模モデルへの急速な移行が起こり、モデルサイズは爆発的に増加しました。大規模モデルの学習が既存の学習システムにもたらす主な課題は、メモリ不足、計算量不足、そして通信量不足です。 言語モデルのサイズは指数関数的に増加しています(出典:https://huggingface.co/blog/large-language-models) veGiantModel は、Volcano Engine 用の大規模モデル トレーニング フレームワークです。このニーズに対応するため、ByteDanceのAMLチームは、Volcano Engine向けの大規模モデルトレーニングフレームワークであるveGiantModelを社内開発しました。PyTorchフレームワークをベースにしたveGiantModelは、MegatronとDeepSpeedを基盤とした高性能な大規模モデルトレーニングフレームワークです。その機能は以下のとおりです。
中でもByteCCLは、ByteDanceが自社開発したBytePSのアップグレード版です。A100/V100などの様々なマシントポロジー向けに階層的な仕様最適化が施され、allgatherやalltoallといったより包括的な通信プリミティブをサポートしています。 veGiantModelのパフォーマンスハードウェア構成VeGiantModelのパフォーマンスを実証するため、VeGiantModelチームは自社構築のデータセンター内の物理マシンを使用して、A100モデルとV100モデルの両方でテストを実施しました。実験構成は以下のとおりです。
モデルと対照群の選択veGiantModelは、シーケンス長256、グローバルバッチサイズ1536のGPT-13Bモデルを評価対象として選択しました。GPTは現在、市場で最も人気のあるトランスフォーマーベースの言語モデルです。パフォーマンス制御グループは、最も人気のあるオープンソースモデルであるMegatronとDeepSpeedを選択しました。 テスト結果
上記のデータは以下を示しています:
原因分析veGiantModel が Megatron や DeepSpeed よりも高速なのはなぜでしょうか? 理由は次のとおりです。
ポータルveGiantModel は現在、GitHub の次のアドレスでオープンソース化されています。 https://github.com/volcengine/veGiantModel GitHubリポジトリには、veGiantModelの使い方と、それを使ってGPT事前トレーナーを素早く実行する方法についての詳細な手順が掲載されています。Volcano Engine機械学習プラットフォームはveGiantModelをネイティブサポートしており、現在パブリックベータ版です。ぜひお試しください: https://www.volcengine.com/product/ml-platform |