初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減

王林
リリース: 2023-04-09 11:41:06
転載
1829 人が閲覧しました

研究者らは、エッジトレーニングを最適化の問題として捉え、与えられたメモリ予算の下で最小のエネルギー消費を達成するための最適なスケジュールを発見したと述べた。

現在、深層学習モデルは、スマートフォンなどのエッジデバイスや推論用の組み込みプラットフォームに広く導入されています。その中で、トレーニングは依然として GPU などの高スループット アクセラレータを備えた大規模なクラウド サーバーで主に行われています。一元化されたクラウド トレーニング モデルでは、写真やキーストロークなどの機密データをエッジ デバイスからクラウドに転送する必要があり、ユーザーのプライバシーが犠牲になり、追加のデータ移動コストが発生します。

初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減

キャプション: Twitter @Shishir Patil

したがって、ユーザーがプライバシーを犠牲にすることなくモデルをパーソナライズできるようにするために、フェデレーテッド ラーニング デバイスベースのトレーニング方法Alibaba Cloud などでは、データをクラウドに統合する必要がなく、ローカル トレーニングの更新も実行できます。これらのメソッドは、キーボード候補をパーソナライズするために Google の Gboard キーボードに導入されており、自動音声認識を向上させるために iPhone でも使用されています。同時に、現在のデバイスベースのトレーニング方法は、最新のアーキテクチャや大規模なモデルのトレーニングをサポートしていません。エッジ デバイス上で大規模なモデルをトレーニングすることは、主に限られたデバイス メモリで逆伝播アクティベーションを保存できないため、現実的ではありません。 ResNet-50 の 1 回のトレーニング反復には、推論の 200 倍を超えるメモリが必要です。

以前の研究で提案された戦略には、クラウド トレーニングのメモリ フットプリントを削減するための補助メモリへのページングと再実装が含まれます。ただし、これらの方法では全体のエネルギー消費量が大幅に増加します。ページング方式に関連するデータ転送は、一般に、大量のデータの計算よりも多くのエネルギーを必要とします。メモリ バジェットが縮小すると、再実装によりエネルギー消費が O(n^2) の割合で増加します。

カリフォルニア大学バークレー校の最近の論文では、数人の研究者が、ページングと再実装が高度に補完的であることを示しました。複雑な操作の結果をフラッシュや SD カードなどの二次ストレージにページングしながら単純な操作を再実装することで、最小限のエネルギー消費で有効なメモリ容量を拡張できます。さらに、研究者らは、これら 2 つの方法を組み合わせることで、モバイル グレードのエッジ デバイス上で BERT などのモデルをトレーニングできることも証明しました。彼らは、エッジ トレーニングを最適化問題として扱うことにより、与えられたメモリ バジェットの下で最小のエネルギー消費を達成する最適なスケジュールを発見しました。

初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減

  • 論文アドレス: https://arxiv.org/pdf/2207.07697.pdf
  • プロジェクトのホームページ: https://poet.cs .berkeley.edu/
  • GitHub アドレス: https://github.com/shishirpatil/poet

研究者は POET (Private Optimal Energy Training) を提案しましたこれは、メモリに制約のあるエッジ デバイス上で最新のニューラル ネットワークをエネルギー最適化トレーニングするためのアルゴリズムであり、そのアーキテクチャを以下の図 1 に示します。バックプロパゲーションのためにすべてのアクティベーション テンソルをキャッシュするコストが非常に高いことを考慮して、POET はアクティベーションのページングと再実装を最適化し、それによってメモリ消費を最大 2 分の 1 に削減します。彼らは限界トレーニング問題を整数線形計画法 (ILP) として再定式化し、ソルバーによって 10 分で最適化できることを発見しました。

初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減

キャプション: POET は、エッジ デバイスでの SOTA 機械学習モデルのトレーニングを最適化します。

実世界のエッジ デバイスにデプロイされたモデルの場合、トレーニングはエッジ デバイスがアイドル状態に見え、携帯電話の充電中にモデルの更新をスケジュールする Google Gboard などのサイクルを計算できるときに行われます。したがって、POET には厳しいトレーニング制約も含まれています。メモリの制約とトレーニング エポックの数を考慮して、POET は指定されたトレーニング期限を満たすソリューションを生成します。さらに、研究者らは POET を使用して包括的なコスト モデルを開発し、それが数学的に価値を維持し (つまり、近似を行わない)、既存のすぐに使用できるアーキテクチャで動作することを実証しました。

この論文の筆頭著者である Shishir Putil 氏は、デモ ビデオの中で、POET アルゴリズムはスマートフォンなどの商用エッジ デバイス上で膨大なメモリを必要とするあらゆる SOTA モデルをトレーニングできると述べました。また、スマートフォンや ARM Cortex-M デバイス上で BERT や ResNet などの SOTA 機械学習モデルのトレーニングを実証した最初の研究チームとなりました。

初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減

統合されたページングと再実装

再実装とページングは​​、大規模な SOTA ML モデルのメモリ消費を削減するための 2 つの手法です。再実装では、アクティベーション テンソルは不要になると、最も一般的にはフォワード パス中に削除されます。これにより、後続のレイヤーのアクティベーションを保存するために使用できる貴重なメモリが解放されます。削除されたテンソルが再度必要になると、メソッドはリネージュで指定された他の関連アクティベーションからテンソルを再計算します。ページングは​​オフロードとも呼ばれ、メモリを削減するための補完的な技術です。ページングでは、すぐに必要ではないアクティベーション テンソルが、一次ストレージからフラッシュ メモリや SD カードなどの二次ストレージに呼び出されます。テンソルが再度必要になった場合は、ページアウトします。

図 2 は、8 層ニューラル ネットワークの実行スケジュールを示しています。 X 軸に沿って、各ユニットはニューラル ネットワークの各層 (合計 8​​ 層 L8) に対応します。 Y 軸は、エポック内の論理時間ステップを表します。図内の占有されたセル (色で塗りつぶされている) は、対応するタイム ステップで実行される操作 (順方向/逆伝播計算、再実装、またはページング) を表します。

たとえば、L1 の活性化が最初のタイム ステップ (T1) で計算されることがわかります。 T2、T3では、それぞれL2、L3の活性量が算出される。レイヤ L2 と L3 が非線形性 (tanH、ReLU など) など、メモリを大量に消費するものの計算コストが低い操作であると仮定すると、再実装が最良の選択になります。アクティベーション ({T3, L2}、{T4, L3}) を削除してメモリを解放できます。また、バックプロパゲーション中にこれらのアクティベーションが必要な場合は、それらを再実装できます ({T14, L3}、{T16, L2})。

初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減

L5 層と L6 層は、畳み込みや密行列の乗算など、計算量の多い演算であると仮定します。このような操作の場合、再実装すると実行時間とエネルギーが増加するため、最適とは言えません。これらの層の場合、活性化テンソルを補助ストレージ ({T6, L5}、{T7, L6}) にページングし、必要に応じて ({T10, L6}、{T11, L5}) にページングすることをお勧めします。

ページングの主な利点の 1 つは、メモリ バスの占有率に基づいて遅延を隠すためにパイプライン化できることです。これは、最新のシステムには、コンピューティング エンジンが並列実行されている間にアクティベーション テンソルをセカンダリ ストレージからメイン メモリに移動する DMA (ダイレクト メモリ アクセス) 機能があるためです。たとえば、タイム ステップ T7 では、L6 を呼び出し、同時に L7 を計算できます。ただし、再実装は計算量が多く並列化できないため、実行時間が長くなります。たとえば、タイム ステップ T14 を使用して L3 を再計算する必要があるため、バックプロパゲーションの残りの実行が遅れます。

POET

この研究では、高いエネルギー効率を維持しながら、エッジ デバイスの制限のメモリに収まるように大規模モデルのトレーニング DAG を書き換える、ディープ ニューラル ネットワーク用のグラフレベルのコンパイラーである POET を提案します。

POET はハードウェアを認識し、まず順方向パスと逆方向パスの実行、関連するメモリ割り当て要求、実行時間、各操作のメモリとエネルギー消費を追跡します。この各ワークロードの詳細な分析は、特定のハードウェアに対して 1 回だけ実行され、自動化され、安価で、POET に最も正確なコスト モデルを提供します。

POET は、効率的に解くことができる混合整数線形計画法 (MILP) を生成します。 POET オプティマイザーは、メモリに依存するエンドツーエンドのエネルギー消費を最小限に抑える効率的な再実装とページング スケジュールを検索します。結果のスケジュールは、エッジ デバイスで実行するための新しい DAG を生成するために使用されます。

MILP は汎用ハードウェアで解決されますが、エッジ デバイスに送信されるスケジュールはわずか数百バイトなので、メモリ効率が非常に高くなります。

再実装は、計算コストは​​低いがメモリを大量に消費する操作の場合に最も効率的です。ただし、ページングは​​、再実装すると大幅なエネルギー オーバーヘッドが発生する計算集約型の操作に最適です。 POET は、統合検索スペースでの再実装とページングを共同で検討しています。

この記事の方法は、複雑で現実的なアーキテクチャに拡張できます。POET 最適化アルゴリズムは次のとおりです。

初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減

この調査では、計算、ページインとページアウト、ページングと再実装の複合エネルギー消費を最小限に抑えるために、最適化問題に新しい目的関数を導入しています。エネルギー消費を結合する目的関数は次のとおりです:

初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減

ここで、Φ_compute、Φ_pagein、Φ_pageout は、それぞれ計算、ページイン、ページアウトで各ノードによって消費されるエネルギーを表します。

POET は、グラフのどのノード (k) が再実装されるか、各タイム ステップ (t) でどのノードがページイン 初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減 またはページアウト 初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減 であるかに基づいて DAG スケジュールを出力します。

初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減

実験結果

#POET の評価において、研究者は 3 つの重要な質問に答えようとしました。まず、POET はさまざまなモデルやプラットフォームでどれくらいのエネルギーを削減できるでしょうか?次に、POET はハイブリッド ページングと再実装戦略からどのようなメリットを得られるでしょうか?最後に、POET はさまざまなランタイム バジェットにどのように適応するのでしょうか?

研究者らは、以下の表 2 に 4 つの異なるハードウェア デバイス、つまり ARM Cortex M0 MKR1000、ARM Cortex M4F nrf52840、A72 Raspberry Pi 4B、および Nvidia Jetson TX2 をリストしています。 POET は完全にハードウェアを認識しており、きめ細かい分析に依存しています。

初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減

以下の図 3 は、単一トレーニング エポックのエネルギー消費を示しています。各列は異なるハードウェア プラットフォームに対応しています。研究者らは、POET がすべてのプラットフォームにわたってエネルギー効率の高いスケジュール (Y 軸) を生成すると同時に、ピーク時のメモリ消費量 (X 軸) を削減し、時間の予算を満たしていることを発見しました。

初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減

以下の図 5 では、研究者は A72 で ResNet-18 をトレーニングする際に POET と Capuchin をベンチマークしました。 RAM 予算が削減されると、Capuchin はメモリがフルのベースラインよりも 73% ~ 141% 多くのエネルギーを消費します。比較すると、POET が生成するエネルギーは消費エネルギーの 1% 未満です。この傾向は、テストされたすべてのアーキテクチャとプラットフォームに当てはまります。

初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減

表 3 では、研究では Nvidia の Jetson TX2 で ResNet-18 をトレーニングする際の POET と POFO のベンチマークを示しています。この調査では、POET が再実装とページングを統合することで、ピーク時のメモリ消費量が 8.3% 削減され、スループットが 13% 向上することがわかりました。これは、より大きな検索空間にわたって最適化できる POET の MILP ソルバーの利点を示しています。 POFO は線形モデルのみをサポートしますが、POET は図 3 に示すように非線形モデルに一般化できます。

初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減

図 4 は、POET がさまざまな時間制約の下で統合戦略を採用する利点を示しています。以下の図は、実行時間ごとに総エネルギー消費量をプロットしています。 初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減 # ########################################

以上が初めてスマートフォン上で BERT と ResNet をトレーニングし、エネルギー消費を 35% 削減の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:51cto.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート