DeepRec(PAI-TF)は、アリババグループの統合オープンソース推奨エンジン(https://github.com/alibaba/DeepRec)であり、主にスパースモデルのトレーニングと予測に使用されます。数千億の特徴と数兆のサンプルの超大規模なスパーストレーニングをサポートでき、トレーニングのパフォーマンスと結果に明らかな利点があります。現在、DeepRecはTaobaoの検索、推奨、広告などのシナリオをサポートしており、Taobao、Tmall、Alimama、AutoNaviなどのビジネスで広く使用されています。 インテルは2019年以来、アリババPAIチームと緊密に連携してインテルの人工知能(AI)テクノロジーをDeepRecに適用し、オペレーター、サブグラフ、ランタイム、フレームワークレイヤー、モデルなどの複数のレベルを最適化してインテルのソフトウェアとハードウェアの利点を最大限に活用し、アリババの社内外のAIビジネスのパフォーマンスを加速できるように支援してきました。 DeepRecの主な利点現在主流のオープンソースエンジンは、超大規模なスパーストレーニングシナリオをサポートする上で、依然として一定の制限があります。たとえば、オンライントレーニングをサポートしていない、機能を動的にロードできない、オンラインでの展開と反復が不便であるなどです。特に、パフォーマンスがビジネス要件を満たさないという問題は顕著です。上記の問題を解決するために、DeepRec は TensorFlow1.15 をベースにスパース モデル シナリオ向けに徹底的にカスタマイズおよび最適化されています。主な対策として、次の 3 つのカテゴリが挙げられます。 モデル効果:最適化は主に、EmbeddingVariable (EV) の動的弾性特徴関数を追加し、Adagrad Optimizer を改善することによって実現されます。 EV 関数は、ネイティブ変数のサイズの推定が困難であることや特徴の競合などの問題を解決し、豊富な特徴の受け入れと除去戦略などの高度な機能を提供します。同時に、特徴の出現頻度に基づいて特徴次元を自動的に構成し、高頻度特徴の表現力を高め、過剰適合を軽減し、スパース モデルの効果を大幅に向上させることができます。 トレーニングと推論のパフォーマンス:スパース シナリオの場合、DeepRec は、分散戦略の最適化、自動パイプライン SmartStage、自動グラフ融合、埋め込みや注意などのグラフ最適化、一般的なスパース演算子の最適化、メモリ管理の最適化など、分散、サブグラフ、演算子、ランタイムにおける詳細なパフォーマンス最適化を実行し、メモリ使用量を大幅に削減し、エンドツーエンドのトレーニングと推論のパフォーマンスを大幅に高速化します。 展開とサービス提供: DeepRec は増分モデルのエクスポートとロードをサポートし、10TB レベルの超大規模モデルのオンライン トレーニングと更新を数分で実現し、ビジネスの高いタイムリーさの要件を満たします。スパース モデルの特徴のホット ティルトとコールド ティルトの特性を考慮して、DeepRec はマルチレベル ハイブリッド ストレージ (最大 4 レベルのハイブリッド ストレージ、つまり HBM+DRAM+PMem+SSD) を提供し、大規模モデルのパフォーマンスを向上させながらコストを削減できます。 IntelのテクノロジーがDeepRecの高性能化に貢献IntelとAlibaba PAIチームの緊密な協力は、上記の3つの独自の利点を実現する上で重要な役割を果たしました。DeepRecの3つの主要な利点は、Intelテクノロジーの大きな価値を十分に証明しています。 パフォーマンスの最適化に関しては、インテルのハイパースケール クラウド ソフトウェア チームは Alibaba と緊密に連携し、オペレーター、サブグラフ、フレームワーク、ランタイムなど複数のレベルで CPU プラットフォームを最適化し、インテル® Xeon® スケーラブル プロセッサーの新機能を最大限に活用して、ハードウェアの利点を最大限に発揮しました。 CPU プラットフォーム上で DeepRec の使いやすさを向上させるために、主流の推奨モデルのほとんどをサポートするように modelzoo が構築され、これらのモデルに DeepRec 独自の EV 機能が適用され、すぐに使用できるユーザー エクスペリエンスが実現されました。 同時に、超大規模スパーストレーニングモデルEVのストレージとKV検索操作の特別なニーズに応えて、インテルOptaneイノベーションセンターチームは、インテル® OptaneTMパーシステントメモリー(PMem)に基づくメモリ管理およびストレージソリューションを提供し、DeepRecマルチレベルハイブリッドストレージソリューションをサポートおよび連携して、大容量メモリと低コストのニーズを満たします。プログラマブルソリューション部門チームは、 FPGAを使用して埋め込み用のKV検索機能を実装し、埋め込みクエリ機能を大幅に向上させ、より多くのCPUリソースを解放します。 CPU、PMem、FPGAの異なるハードウェア特性を組み合わせ、システムの観点から、Intelのソフトウェアとハードウェアの優位性をより十分に活用してさまざまなニーズを満たすことができ、AlibabaのAIビジネスにおけるDeepRecの実装を加速し、スパースシナリオビジネスエコシステム全体に優れたソリューションを提供できます。 Intel® DL Boost は DeepRec に重要なパフォーマンス加速を提供します Intel® DL Boost (Intel® Deep Learning Acceleration) は、主にフレームワークの最適化、演算子の最適化、サブグラフの最適化、モデルの最適化という4 つの側面で DeepRec を最適化します。
インテル® Xeon® スケーラブル プロセッサーの発売以来、インテルは AVX 256 から AVX-512 にアップグレードすることで AVX の機能を 2 倍にし、ディープラーニングのトレーニングと推論機能を大幅に向上させてきました。第 2 世代のインテル® Xeon® スケーラブル プロセッサーでは DL Boost_VNNI が導入され、INT8 の乗算と加算の計算パフォーマンスが大幅に向上しました。第 3 世代のインテル® Xeon® スケーラブル プロセッサー以降、インテルは BFloat16 (BF16) データ型をサポートする命令セットを発売し、ディープラーニングのトレーニングと推論のパフォーマンスをさらに向上させています。ハードウェア技術の継続的な革新と発展により、Intel は次世代 Xeon® スケーラブル プロセッサーに新しい AI 処理技術を導入し、VNNI と BF16 の機能を 1D ベクトルから 2D マトリックスまでさらに強化します。上記のハードウェア命令セット技術は DeepRec の最適化に適用されており、さまざまなコンピューティング ニーズに合わせてさまざまなハードウェア機能を使用できます。これにより、Intel® AVX-512 と BF16 がスパース シナリオでのトレーニングと推論の高速化に非常に適していることも証明されています。
図1: Intel x86プラットフォームのAI機能の進化
DeepRec は、Intel のオープンソース クロスプラットフォーム ディープラーニング パフォーマンス アクセラレーション ライブラリ oneDNN (oneAPI Deep Neural Network Library) を統合し、oneDNN の元のスレッド プールを DeepRec の Eigen スレッド プールに変更することで、スレッド プールの切り替えオーバーヘッドを削減し、異なるスレッド プール間の競合によるパフォーマンスの低下を回避します。 oneDNN は、MatMul、BiasAdd、LeakyReLU などのスパース シナリオでよく使用される演算子を含む多数の主流演算子のパフォーマンス最適化を実現しており、検索、ブロードキャスト、プッシュ モデルに強力なパフォーマンス サポートを提供できます。さらに、oneDNN の演算子は BF16 データ型もサポートしています。BF16 命令セットを搭載した第 3 世代 Intel® Xeon® スケーラブル プロセッサーと併用すると、モデルのトレーニングと推論のパフォーマンスが大幅に向上します。 DeepRec コンパイル オプションに「--config=mkl_threadpool」を追加するだけで、oneDNN 最適化を簡単に有効にできます。
oneDNN を使用すると、計算負荷の高い演算子のパフォーマンスを大幅に向上できますが、検索広告推奨モデルには、Select、DynamicStitch、Transpose、Tile、SparseSegmentMean など、多数のスパース演算子があります。これらの演算子のネイティブ実装のほとんどには、メモリ アクセスの最適化の余地があります。ターゲットを絞ったソリューションを使用して、追加の最適化を実現できます。この最適化は AVX-512 命令を呼び出し、コンパイル コマンドに "--copt=-march=skylake-avx512" を追加することで有効にできます。以下に 2 つの最適化ケースを示します。 ケース 1: Select 演算子の実装原則は、条件に基づいて要素を選択することです。この場合、図 2 の左図に示すように、Intel® AVX-512 のマスク ロード方式を使用して、元の if 条件によってもたらされる多数の判断によって発生する時間オーバーヘッドを削減し、バッチ選択によってデータの読み取りと書き込みの効率を向上させることができます。最終的なオンライン テストでは、パフォーマンスが大幅に向上していることが示されています。
図2 選択演算子の最適化ケース ケース 2: 同様に、Intel® AVX-512 のアンパックおよびシャッフル命令を使用して転置演算子を最適化できます。つまり、図 2 の右側に示すように、小さなブロック方式で行列を転置します。最後に、オンライン テストでは、パフォーマンスの向上も非常に顕著であることが示されています。
グラフ最適化は、AI パフォーマンスを最適化するための主な効果的な手段の 1 つです。同様に、DeepRec を大規模なスパース シナリオに適用する場合、通常は大量の特徴情報処理 (主に埋め込み特徴) があり、埋め込みには多数の小さな演算子が含まれます。全体的なパフォーマンスの向上を実現するために、最適化対策では、DeepRec に fused_embedding_lookup 関数を追加して埋め込みサブグラフを融合し、大量の冗長な操作を削減します。同時に、Intel® AVX-512 命令によって高速化され、最終的に埋め込みサブグラフのパフォーマンスが大幅に向上します。 tf.feature_column.embedding_column(..., do_fusion=True) API で do_fusion を True に設定すると、埋め込みサブグラフ最適化機能を有効にすることができます。
Intel は CPU プラットフォームをベースに、DeepRec に独自の推奨モデル コレクションを構築しました。このコレクションは、WDL、DeepFM、DLRM、DIEN、DIN、DSSM、BST、MMoE、DBMTL、ESMM などの複数の主流モデルを網羅し、リコール、ソート、マルチターゲットなどのさまざまな一般的なシナリオに対応し、ハードウェア プラットフォーム向けにパフォーマンスを最適化しています。他のフレームワークと比較して、これらのモデルは Criteo などのオープン ソース データセットに基づく CPU プラットフォームで大幅なパフォーマンス向上をもたらしました。 最も優れたパフォーマンスは、混合精度 BF16 と Float32 の最適化された実装です。 DeepRec に DNN 層のデータ型をカスタマイズする機能を追加することで、スパース シナリオでの高性能と高精度の要件を満たすことができます。最適化方法を図 3 に示します。keep_weights によって現在の変数のデータ型を Float32 として保持し、勾配の蓄積による精度の低下を防ぎ、次に 2 つのキャスト操作を使用して DNN 操作を BF16 に変換して計算します。第 3 世代 Intel® Xeon® スケーラブル プロセッサーの BF16 ハードウェア コンピューティング ユニットを利用することで、DNN コンピューティングのパフォーマンスが大幅に向上し、グラフ融合キャスト操作によってパフォーマンスがさらに向上します。
図3. 混合精度最適化を有効にする方法 BF16 がモデル精度 AUC (曲線下面積) とパフォーマンス Gsteps/s に与える影響を実証するために、上記の混合精度最適化手法を既存の modelzoo モデルに適用します。 Alibaba Cloudプラットフォーム上でDeepRecを使用したAlibaba PAIチームの評価では、 [1] Criteoデータセットに基づいて、BF16最適化を使用した後、モデルのWDL精度またはAUCがFP32に近づくことができ、BF16モデルのトレーニングパフォーマンスが1.4倍向上し、大きな効果があることが示されています。 今後、CPU プラットフォームのハードウェアの利点をフルに発揮し、特に新しいハードウェア機能の効果を最大限に高めるために、DeepRec は、オプティマイザー演算子、アテンション サブグラフ、多目的モデルの追加など、さまざまな角度からの最適化をさらに実装し、スパース シナリオ向けのより高性能な CPU ソリューションを作成します。 PMemを使用して埋め込みストレージを実装する 超大規模なスパースモデルトレーニングおよび予測エンジン(数千億の特徴、数兆のサンプル、10TB レベルのモデル)の場合、すべてをダイナミックランダムアクセスメモリ(DRAM)に保存すると、総所有コスト(TCO)が大幅に増加するだけでなく、企業の IT 運用と管理に多大な負担がかかり、AI ソリューションの実装が困難になります。 PMem は、ストレージ密度とデータ永続性が高く、I/O パフォーマンスが DRAM に近い、コストが安いなどの利点があり、高性能と大容量の点で超大規模なスパース トレーニングと予測のニーズを完全に満たすことができます。 PMem は、メモリ モードとアプリケーション ダイレクト アクセス モードの 2 つの動作モードをサポートします。メモリ モードでは、通常の揮発性 (非永続的) システム メモリとまったく同じですが、コストが低く、システム予算を維持しながらより高い容量を実現し、単一のサーバーで TB レベルの合計メモリ容量を提供できます。メモリ モードと比較して、アプリケーション ダイレクト アクセス モードでは、PMem の永続性特性を活用できます。アプリケーション ダイレクト アクセス モードでは、PMem とそれに隣接する DRAM メモリは両方ともバイト アドレス指定可能なメモリとして認識されます。オペレーティング システムは、PMem ハードウェアを 2 つの異なるデバイスとして使用できます。1 つは FSDAX モードで、PMem はブロック デバイスとして構成され、ユーザーはそれをファイル システムにフォーマットして使用できます。もう 1 つは DEVDAX モードで、PMem は単一の文字デバイスとして駆動され、カーネル (5.1 以降) によって提供される KMEM DAX 機能に依存し、PMem を揮発性メモリとして使用し、DRAM に似た低速で大容量のメモリ NUMA ノードとしてメモリ管理システムに接続され、アプリケーションから透過的にアクセスできます。 超大規模な特徴学習では、埋め込み変数のストレージがメモリの 90% 以上を占め、メモリ容量がボトルネックの 1 つになります。 EV を PMem に保存すると、このボトルネックを解消し、大規模な分散トレーニングのメモリ ストレージ容量の向上、より大規模なモデルのトレーニングと予測のサポート、複数のマシン間の通信の削減、モデル トレーニングのパフォーマンスの向上、TCO の削減など、複数の価値を生み出すことができます。 組み込みマルチレベル ハイブリッド ストレージでは、PMem は DRAM のボトルネックを解消するための優れた選択肢でもあります。現在、EV を PMem に保存する方法は 3 つあります。マイクロベンチマーク、WDL モデル、WDL プロキシ モデルを次の 3 つの方法で実行すると、パフォーマンスは DRAM に EV を保存した場合と非常に近くなり、TCO の面で大きな利点が得られることは間違いありません。
Alibaba PAIチームは、Alibaba Cloudのメモリ拡張インスタンスecs.re7p.16xlarge上で、ModelzooのWDLスタンドアロンモデルの比較テストを実施し、3つのEV保存方法[2]を使用しました。これらの3つの方法は、EVをDRAMに保存すること、EVを保存するためにLibpmemライブラリに基づくアロケータを使用すること、EVを保存するためにMemkindライブラリに基づくアロケータを使用することです。テスト結果によると、EVをPMemに保存した場合のパフォーマンスは、EVをDRAMに保存した場合のパフォーマンスに非常に近いことがわかりました。
図4: マルチレベルハイブリッドストレージの組み込み したがって、次の最適化計画では、PMem を使用してモデルを保存し、スパース モデル チェックポイント ファイルを永続メモリに格納することで、数桁のパフォーマンス向上を実現し、SSD を使用して超大規模モデルを保存および復元するという現在のジレンマを解消します。このジレンマには長い時間がかかり、プロセス中にトレーニング予測が中断されます。 FPGA アクセラレーションによる埋め込みルックアップ 大規模なスパーストレーニングと予測は、分散トレーニング、単一マシンおよび分散予測、異種コンピューティングトレーニングなど、さまざまなシナリオをカバーします。これらと従来の畳み込みニューラル ネットワーク (CNN) や再帰型ニューラル ネットワーク (RNN) の間には、埋め込みテーブルの処理という重要な違いがあります。これらのシナリオにおける埋め込みテーブル処理の要件は、新たな課題に直面しています。
DeepRec は、PS ワーカー アーキテクチャを通じて超大規模なタスク シナリオをサポートします。 PS ワーカー アーキテクチャでは、ストレージとコンピューティングが分離されており、埋め込みテーブルはキー値の形式で (数十または数百の) パラメータ サーバーに保存されます。これらの PS は、(数百または数千の) ワーカーがモデル パラメータにアクセスして更新するためのサービスを提供します。重要な指標は、スループットとアクセス待ち時間です。大規模なスパース モデルのトレーニングと予測に直面すると、既存のフレームワークでの PS-worker の実装によってボトルネックが明らかになります。
スループットとレイテンシーの問題のボトルネックを解決するために、最適化では CXL (Compute Express Link) をサポートする Intel® Agilex TM I シリーズ FPGA を導入しました。実装パスを図 5 に示します。
図5: Intel® Agilex TM IシリーズFPGAの導入による最適化
Intel® Agilex TM I シリーズ FPGA をベースにしたアクセラレーション ソリューションは、単一のハードウェア プラットフォーム上で上記のすべてのシナリオをサポートし、アクセス レイテンシを短縮しながらスループットを大幅に向上させます。 要約する前回の記事では、CPU、PMem、FPGAなどのさまざまなハードウェア上でDeepRecを最適化した実装ソリューションを紹介し、それをAlibabaの複数の社内外のビジネスシナリオに導入することに成功しました。実際のビジネスでは、エンドツーエンドのパフォーマンスが大幅に向上し、超大規模なスパースシナリオが直面する問題と課題をさまざまな角度から解決しました。周知のとおり、インテルはAIアプリケーション向けにさまざまなハードウェアオプションを提供しており、顧客はよりコスト効率の高いAIソリューションを選択できるようになっています。同時に、インテル、アリババ、およびその顧客は協力して、さまざまなハードウェアに基づいてハードウェアとソフトウェアの革新的なコラボレーションと最適化を実現し、インテルのテクノロジーとプラットフォームの価値を最大限に発揮しています。インテルは今後も業界パートナーとより緊密に連携し、AI テクノロジーの導入と実装に貢献していきたいと考えています。 法的通知Intel はサードパーティのデータの管理や監査は行いません。内容を確認し、他の情報源を参照して、記載されているデータが正確であることを確認してください。 パフォーマンス結果は、2022 年 4 月 27 日と 2022 年 5 月 23 日に実施されたテストに基づいており、公開されているすべてのセキュリティ更新プログラムが反映されているとは限りません。詳細については、「構成情報の開示」を参照してください。絶対に安全な製品やコンポーネントはありません。 記載されているコスト削減シナリオは、特定の状況および構成における特定の Intel 製品が将来のコストにどのような影響を与え、コスト削減を実現するかの例を示すことを目的としています。それぞれの状況は異なります。 Intel はいかなるコストまたはコスト削減も保証しません。 Intel テクノロジーの機能と利点はシステム構成によって異なり、有効なハードウェア、ソフトウェア、またはサービスのアクティベーションが必要になる場合があります。製品のパフォーマンスはシステム構成によって異なります。絶対に安全な製品やコンポーネントはありません。詳細については、OEM または小売店、あるいは intel.com をご覧ください。 Intel、Intel ロゴ、およびその他の Intel 商標は、米国およびその他の国における Intel Corporation またはその子会社の商標です。 © インテルコーポレーション 無断複写・転載を禁じます [1]パフォーマンステストの詳細については、https://github.com/alibaba/DeepRec/tree/main/modelzoo/WDLをご覧ください。 [2]パフォーマンステストの詳細については、https://help.aliyun.com/document_detail/25378.html?spm=5176.2020520101.0.0.787c4df5FgibRE#re7pをご覧ください。 |
>>: AI受験者が発狂!上級数学試験の正解率は81%で、競争試験のスコアはコンピュータドクターのスコアよりも高い。
近年、民間ドローン産業が急速に発展し、さまざまなコストが大幅に削減されたため、民生用ドローンの普及が...
OpenAI の無敵という神話は崩れ去った。 Claude 3 (中国語対応)が一夜にして発売され...
[[430902]]自動化の需要が継続的に高まっているため、ロボット産業の発展は加速段階に入り、わが...
[[213872]]レポーターハト先ほど、JDD-2017 JD Finance Global D...
新年が明けたばかりですが、新しい技術、新しい知識、新しいコンテンツが次々と登場し、新年早々も怠けるこ...
視覚化は、ディープラーニング モデルの内部構造を説明し、理解するのに役立ちます。 モデル計算グラフの...
広州市のある商業銀行は最近、顔認証引き出し機能を備えたATMを導入し、利用者が銀行カードを持っていな...
[51CTO.com からのオリジナル記事] インテリジェンス + の時代では、データは企業の中核資...
10月10日のニュース、過去1年間、生成AIの流行は多くの企業に莫大な利益をもたらしました。最大の受...
[[200204]]序文自然言語処理 (略して NLP) は、コンピューターが人間の言語を処理する方...
本記事では、海外KDnuggetsフォーラムにおけるSimplilearnの統計結果と、国内有名求人...
世界の自動車人工知能市場規模は、2022年の23億米ドルから2027年には70億米ドルに成長すると予...