DUICUO

オフサイトコンピューティングパワーの利用率を 55% 向上。オープンソース化!「Eastern Data, Western Computing」AI インフラストラクチャイニシアチブへの対応。

AIの波の中で、企業も国家もコンピューティングパワーへの需要が高まっています。最近開始された「東データ西コンピューティング」プロジェクトは、マクロレベルでのAIインフラ構築に向けた大規模な取り組みです。しかし、地理的に異なる場所にあるコンピュータ間の通信遅延は大きく、異なる地域のコンピューティングパワーをどのように調整し、効率的に活用するかが、喫緊の課題となっています。

「東データ西計算」プロジェクトレイアウト

同時に、ビッグデータ時代を背景に、プライバシーデータをいかに保護するかが社会のホットスポットとなり、国はデータセキュリティとプライバシー保護に関する一連の規制を導入した。

これらの課題に対処するため、オープンソース プロジェクト Sky Computing は、空間的に異種の分散コンピューティングの特性をうまく活用し、ユーザー データのプライバシーを確​​保しながら、フェデレーテッド ラーニングを最大 55% 加速します

住所:

https://github.com/hpcaitech/SkyComputing

空間異種分散コンピューティング

ディープラーニングの発展に伴い、モデルサイズは指数関数的に増大しています。BERTやGPT-3といった現在の主流モデルは、数億ものパラメータを有しています。これらのモデルは予測精度と性能において飛躍的な進歩を遂げましたが、同時にストレージと計算能力への大きな負荷も抱えています。AIモデルの学習を加速させるため、分散型機械学習が登場しました。これは通常、スーパーコンピュータなどの、相互接続された多数の高速プロセッサを使用します。

スーパーコンピュータ

空間異種分散コンピューティングは、異なるコンピューティング能力と通信能力を持つコンピューティングリソースを大規模なクラスターに統合し、大規模なコンピューティングタスクを実行します。コンピューティングに関与するハードウェアリソースは、大型のプロフェッショナルコンピューティングサーバーから小型のインテリジェントデバイスまで多岐にわたります。現在、空間異種分散コンピューティングは、異種コンピューティングの新たな形態として、ますます注目を集めています。中国を例に挙げると、「東データ西コンピューティング」構想の実施により、より多くのコンピューティングリソースが西部の様々な地域に広く分散されることになります。これらのハイブリッドコンピューティングクラスターの効率的な連携運用をどのように調整するかは、高性能コンピューティング応用における研究のホットスポットとなるでしょう。

近年、クラウドサービスの規模、適用範囲、そして対象者は継続的に拡大しており、ますます多くの企業がデータストレージやデータコンピューティング関連事業をクラウド上に展開することを選んでいます。しかし、すべてのサービスをクラウド環境に依存することのデメリットは、データ移行コストが非常に高いこと、データのプライバシーと信頼性の確保が難しいこと、そして異なる地域に分散したクラウドコンピューティングパワー間の通信コストが高いことなどです。これらのクラウドコンピューティングパワーが連携して高度なコンピューティングタスクを効率的に完了することが困難になっています。

クラウドコンピューティング

連邦学習

Googleは、データプライバシーを保護するため、2016年に暗号化された分散機械学習技術であるFederated Learningを提案しました。その名の通り、これは仮想的な「連合」を構築することで、様々な規模のデータサイロを連携させます。各データサイロはこの「連合」内の国家のように機能し、一定の独立性(例えば、企業秘密やユーザーのプライバシーの保護など)を維持しながら、外部にデータを共有することなく協調的にモデルを構築することで、AIモデルのパフォーマンスを向上させます。現在、Federated Learningは、SiriやAlexなどの音声アシスタントをはじめとするスマートデバイスのモデル学習に広く利用されています。

連邦学習

既存の連合学習モデルの並列処理では、モデルは様々な学習デバイスに均等に分散されます。しかし、前述のように、連合学習の学習デバイスは多くの場合、パフォーマンスに大きな差があるユーザーのスマート端末であるため、均等分散は通信時間のボトルネックにつながることがよくあります。

誰もが知っている「樽効果」のように、樽に貯められる水の量は樽の最も短い板によって決まります。同様の現象は従来の連合学習にも存在し、学習速度は最も遅いデバイスによって決まります。

例えば、モデル並列処理を用いた同じ連合学習タスクを実行するスマートフォンとRaspberry Piには、同じワークロードが割り当てられます。しかし、スマートフォンの計算能力はRaspberry Piのそれをはるかに上回っているため、スマートフォンはRaspberry Piのタスクが完了するまでアイドル状態のままになります。

バレル効果

スカイコンピューティング

これらの問題点に対処するため、Sky Computingは、負荷分散によって規模や機能の異なるクラウドサーバーをインテリジェントに相互接続し、大規模コンピューティングのコンピューティングパワー要件を満たします。同時に、フェデレーテッドラーニング(Federated Learning)により、ユーザーデータへのアクセスはクラウドサーバー内でのみ行われるため、データの移行やプライバシー漏洩を回避できます。

負荷分散

負荷分散問題を解決するには、まず「負荷」とは何かを理解する必要があります。コンピューティングにおいて、操作の種類を問わず、負荷とは本質的に「タスクを完了するために必要な時間」と理解できます。フェデレーテッドラーニングにおけるモデルのトレーニングにかかる​​総計算コストは​​一定であるため、計算タスクをインテリジェントに適応的に割り当てることができれば、各デバイスが計算タスクを同じように完了するようにし、全体的なトレーニング時間を最適化できます。適切な割り当て方法を得るには、まずモデルとデバイスに関する情報を取得し、適切な割り当て操作を実行する必要があります。そのため、モデルのトレーニングは、ベンチマークと割り当てという2段階に分ける必要があります。

トレーニングプロセス

ベンチマーク

ベンチマークフェーズでは、Sky Computingはモデルとデバイスの2つの側面からデータを収集する必要があります。モデルレベルでは、モデルの各レイヤーに必要なメモリ使用量と計算負荷を把握する必要があります。モデルの予測メモリ使用量とデバイスの使用可能メモリを組み合わせることで、メモリオーバーフローを回避できますが、計算負荷が大きいほど、同じデバイスでタスクを完了するのにかかる時間は長くなります。デバイスレベルでは、デバイスの通信遅延、計算能力、使用可能メモリを把握する必要があります。これらは、ネットワーク環境や現在の動作負荷などの要因によって影響を受けます。計算能力が高く通信も良好だが、使用可能なメモリが限られているデバイスの場合、メモリオーバーフローを起こさずに、できるだけ多くのモデルレイヤー(計算タスク)を割り当てる必要があります。Sky Computingは負荷分散型の連合学習システムであるため、ベンチマークフェーズではデバイスの機械学習機能のみに焦点を当てます。各デバイスで小さな機械学習テストタスクを実行することで、デバイスのAIコンピューティング機能をテストします。

全体的なプロセス

配布する

タスク割り当て方法を決定する際、数学的解析により、割り当ては本質的にNP困難な混合整数線形計画問題であることが明らかになります。したがって、最適解を多項式時間で得ることはできません。さらに、モデルのサイズとデバイスの数が増加すると、最適解の計算コストは​​許容できないものになります。

そのため、実際には最適解を直接計算するのではなく、ヒューリスティックアルゴリズムを用いて近似解を求めます。Sky Computingでは、2段階のヒューリスティックアルゴリズムを設計しました。第1段階は事前割り当てで、デバイスの実際の利用可能なメモリサイズに応じてモデルを割り当て、各デバイスの実際のワークロードを計算します。第2段階は割り当て調整で、デバイスの負荷に基づいて割り当てを動的に調整し、システム全体の負荷を反復的に軽減します。また、Sky Computingの優位性を検証するために、比較実験として最適な割り当ても設定しました。

実装アーキテクチャ

パフォーマンス

クラスター環境では、主要な変動要因を制御し、連合学習 AI タスクの前進時間と後進時間を指標として使用して、Sky Computing のパフォーマンスを検証しました。

実験結果

3つの割り当て手法(even:均一割り当て、heuristic:ヒューリスティックアルゴリズム、optimal:最適割り当て)をテストしました。異なる計算リソース量とモデルサイズにおけるパフォーマンスを検証し、各反復処理の完了に要した時間を記録しました。デバイス数とモデルの深度が増すにつれて、ヒューリスティックアルゴリズムの有効性が大幅に向上することがわかります。64ノード、160層の隠れ層を持つ実験環境において、Sky Computingは現在の均一割り当てモデルと比較して55%の高速化を達成しました。

実験結果

このうち、最適割り当て計算は 64 ノードでは計算コストが非常に高く困難であるため、実用的なアプリケーションには適しておらず、小規模アプリケーションの参考値としてのみ使用されます。

オープンソースコラボレーション

Sky Computingは、空間的に異種な分散コンピューティングの特性を活用して連合学習を加速する試みとして成功しており、最大55%の性能向上を達成しました。このプロジェクトは現在開発中であり、今後さらに広範な実験を実施し、動的冗長性などの機能を提供しながら、できるだけ早く実用アプリケーションに展開する予定です。

論文リンク: https://arxiv.org/abs/2202.11836

プロジェクトアドレス: https://github.com/hpcaitech/SkyComputing