1760億のパラメータを持つBLOOMZの推論、パフォーマンスレイテンシはわずか3.7秒

1760億のパラメータを持つBLOOMZの推論、パフォーマンスレイテンシはわずか3.7秒

大規模言語モデル (LLM) のサイズが大きくなるにつれて、これらのモデルを本番環境で推論に導入して使用することがますます困難になります。これらの課題に対応するために、ハードウェアとソフトウェアの両方で複数の革新が行われてきました。

以下では、これらの課題を効果的に克服する方法について説明します。

BLOOMZについて

BLOOM [3]は、テキストシーケンスを生成するために訓練できる1760億のパラメータを持つ自己回帰モデルです。 46言語、13プログラミング言語に対応しています。

BigScience [4]イニシアチブによるオープンサイエンスプロジェクトとして、BLOOMの設計とトレーニングには世界中の多くの研究者やエンジニアが参加しました。

BLOOMZ [5]は、BLOOMと同じアーキテクチャを持つ最近リリースされたモデルです。これは、より優れた一般化とゼロショット[6]機能を備えた、複数のタスクに対するBLOOMの微調整バージョンです。

トレーニング[7]でも推論[8]のシナリオでも、このような大規模なモデルはメモリと速度に新たな課題をもたらします。

16 ビットの精度を使用した場合でも、1 つのインスタンスに必要なメモリは 352 GB にもなります。このような大容量メモリを搭載したデバイスは現在では見つけるのが難しいかもしれませんが、Habana ® Gaudi ® 2 のような高度なハードウェアがあれば、BLOOM および BLOOMZ モデルは低レイテンシで推論を実行するのに十分です。

ハバナ®ガウディ® 2

Gaudi ® 2 は、Habana Labs が設計した第 2 世代の AI ハードウェア アクセラレータです。 1 台のサーバーには 8 枚のアクセラレータ カード(Habana Processing Unit、または HPU と呼ばれる)が搭載されており、それぞれ最大 96 GB のメモリを搭載しているため、大規模なモデルを収容するのに十分なスペースが確保されています。

ただし、計算が遅い場合、大規模なモデルに大きなメモリを用意しても意味がありません。幸いなことに、Gaudi ® 2 の計算速度も非常に優れています。

Gaudi ® 2 と GPU の主な違いは、そのアーキテクチャによりアクセラレータが一般的な行列乗算(GeMM)とその他の演算を並列に実行できるようになり、ディープラーニング ワークフローが高速化される点です。これらの機能により、Gaudi ® 2 は LLM のトレーニングと推論に最適な選択肢となります。

Habana の SDK SynapseAI TM は、PyTorch と DeepSpeed の使用をサポートし、LLM のトレーニングと推論を高速化します。 SynapseAIグラフコンパイラ[9]は、グラフに蓄積された操作(演算子の融合、データレイアウト管理、並列化、パイプライン化、メモリ管理、グラフの最適化など)の実行を最適化します。

さらに、SynapseAIは最近、HPU Graph [10]とDeepSpeed-inference [11]のサポートを導入しました。どちらもレイテンシに敏感なアプリケーションに適しています(以下のベンチマークを参照)

上記の機能はすべてOptimum Habana [12]ライブラリに統合されているため、 Gaudi®へのモデルの展開は非常に簡単です。

クイック スタート ページを表示するには、このリンク https://huggingface.co/docs/optimum/habana/quickstart にアクセスしてください。

Gaudi ® 2を試すには、 Intel® Developer Cloud [13]にログインし、このガイド[14]に従ってください。

ベンチマーク

このセクションでは、Gaudi ® 2 および第 1 世代 Gaudi ®における BLOOMZ のベンチマーク結果を示します。

Gaudi ® 2 および初代 Gaudi ®はメモリ容量が大きいものの、モデルのサイズが大きいため、単一の BLOOMZ インスタンスを単一のデバイスに収容することはできません。

この問題を解決するために、本論文ではディープラーニング最適化ライブラリDeepSpeed [15]を使用してさまざまなメモリと速度の最適化を実装し、モデル推論を高速化し、モデルをデバイスに適応させます。

私たちのアプローチはDeepSpeed推論[16]に依存しており、利用可能なデバイスを最大限に活用するためにモデル(またはパイプライン)並列性[17]などのいくつかの機能を導入しています。

Gaudi®2では、HPUサポートを追加したHabanaのDeepSpeed [18]ブランチが使用されました。

レイテンシー

この論文では、スケールは異なるが数十億のパラメータ(バッチサイズは 1 サンプル)を持つ 2 つの BLOOMZ モデルに基づいて実験テストを実施します。2 つのモデルのパラメータ サイズは次のとおりです。

  • 1760億[19]パラメータ(BLOOMZ-176B)
  • 70億[20]のパラメータ(BLOOMZ-7B)

この記事では、DeepSpeed-inference を使用して、8 台のデバイスで 16 ビット精度の推論を実行し、キー値キャッシュを使用します。 CUDA Graphは現在DeepSpeed (DeepSpeed v0.8.2、記事の最後を参照[21]のモデル並列処理と互換性がありませんが、HabanaのDeepSpeedブランチはHPU Graphをサポートしていることは注目に値します。

すべてのベンチマークでは貪欲探索[22]を使用して100個のトークンを生成します。入力プロンプトは次のとおりです。

DeepSpeedは機械学習フレームワークです

BLOOM トークナイザーはプロンプトを 7 つのトークンに分割します。

推論遅延テストの結果は次の図に示されています(秒単位)

△ 図1. Gaudi ® 2と第一世代Gaudi ®におけるBLOOMZ推論レイテンシテスト結果

Habana チームは最近、SynapseAI 1.8 に DeepSpeed 推論サポートを導入しました。これにより、1,000 億を超えるパラメータを持つモデルの推論を迅速に実行できるようになります。

図 1 のテスト結果によると、1,760 億のパラメータを持つ BLOOMZ モデルの場合、Gaudi ® 2 はレイテンシがわずか約 3.7 秒と優れたパフォーマンスを発揮します。70 億のパラメータを持つより小型の BLOOMZ-7B モデルの場合、Gaudi ® 2 のレイテンシの利点はさらに顕著で、単一のデバイスでは第 1 世代の Gaudi ®の約 37.21% であり、デバイスの数が 8 に増えると、この割合はさらに約 24.33% に低下します。

Habana チームは、SynapseAI の今後のリリースでもこれらのモデルのパフォーマンスを最適化し続けます。例えば、SynapseAI 1.9 のプレビュー版では、BLOOMZ-176B のレイテンシが 3.7 秒から 3.5 秒にさらに短縮されました。

完全なデータセットで推論を実行する

私たちが書いたスクリプトにより、モデルは完全なデータセット上のすべての文の推論を完了できるようになります。これは、独自のデータセットで Gaudi ® 2 を使用して BLOOMZ 推論を試してみたい場合に特に便利です。

ここでは、tldr_news データセットを例に挙げます。データセットには、複数の記事のタイトルと内容が含まれています(すべてHugging Face Hubで視覚化できます) 。最初のいくつかのサンプルを以下に示します。

 Input: 'Businesses Will Not Be Able to Hide': Spy Satellites May Give Edge From Above ; Output: 'Businesses Will Not Be Able to Hide': Spy Satellites to Track Illegal Logging in Indonesia The Indonesian government has announced that it will use spy satellites to track illegal logging in the country. Input: Alphabet and SoftBank's solar-powered drone provides first LTE connection ; Output: Alphabet and SoftBank's solar-powered drone provides first LTE connection connection from the stratosphere. The drone, which is about the size of a small car, is equipped with a solar panel and can fly for up Input: SQLFlow (GitHub Repo); Output: SQLFlow (GitHub Repo): https://github.com/davidfowl/SQLFlow The code is written in Java and is available on GitHub. It is a simple, lightweight Input: Secret to keeping ice cream creamy (not crunchy); Output: Secret to keeping ice cream creamy (not crunchy) is to freeze it in a container that is airtight. Input: Tesla's giant battery saved $40 million during its first year, report says ; Output: Tesla's giant battery saved $40 million during its first year, report says Tesla's giant battery saved $40 million during its first year, report says Tesla's giant battery saved $40 million during its first year, Input: Python 3.9: Cool New Features for You to Try (28 minute read); Output: Python 3.9: Cool New Features for You to Try (28 minute read): This is a great article for those Input: A company aims to power the world for millions of years by digging the deepest holes ever ; Output: A company aims to power the world for millions of years by digging the deepest hole ever made in Input: In Nevada desert, a technology firm aims to be a government ; Output: In Nevada desert, a technology firm aims to be a government Introduction The use of the Internet has become a common practice in the daily life of people. The Internet has become△若代码显示不全,请左右滑动

次のセクションでは、このスクリプトを使用してベンチマークを実行する方法と、Hugging Face Hub の任意のデータセットにこのスクリプトを適用する方法を説明します。

これらの結果を再現するにはどうすればいいでしょうか?

Gaudi®2と第一世代Gaudi®上でBLOOMZをベンチマークするスクリプトについては、記事末尾の[23]を参照してください。

上記のスクリプトを実行する前に、Habana [24]の指示に従って、SynapseAIとGaudi®ドライバーの最新バージョンがインストールされていることを確認してください。

次に、次のコマンドを実行します。

 git clone https://github.com/huggingface/optimum-habana.git cd optimum-habana && pip install . && cd examples/text-generation pip install git+https://github.com/HabanaAI/[email protected]△若代码显示不全,请左右滑动

最後に、次のようにスクリプトを実行します。

 git clone https://github.com/huggingface/optimum-habana.git cd optimum-habana && pip install . && cd examples/text-generation pip install git+https://github.com/HabanaAI/[email protected]△若代码显示不全,请左右滑动

マルチノード推論については、Optimum Habanaのドキュメント[25]のガイドラインを確認して従ってください。

パラメータ --dataset_name my_dataset_name を使用して、Hugging Face Hub から任意のデータセットを読み込み、テキスト生成のヒントを取得します。

このベンチマークは、ソースからインストールされた Transformers v4.27.1、SynapseAI v1.8.0、および Optimum Habana に基づいています。

GPUの場合、このリポジトリ[26]には、この論文[27]で前述したテスト結果を再現するために使用できるスクリプトが含まれています。 CUDA Graph を使用するには静的シェイプが必須条件ですが、Transformers は静的シェイプをサポートしていません。したがって、静的シェイプを有効にするには、Habanaチーム[28]によって書かれたコードを使用する必要があります。

結論は

この記事からわかるように、 Habana®Gaudi®2BLOOMZ推論を実行する際に優れた速度上の利点があり、複雑なスクリプトを書く必要がありません。これは、Optimum Habana [29]がHPU上で実行される10億パラメータモデルの推論をサポートする使いやすいツールを提供しているためです。

Habana の SynapseAI SDK は、今後のバージョンでさらにパフォーマンスが向上します。 SynapseAI での大規模言語モデル推論の最適化が進むにつれて、このベンチマークも定期的に更新される予定です。また、Gaudi ® 2 が FP8 推論にさらなるパフォーマンス上の利点をもたらすことを期待しています。

最新のAIハードウェアアクセラレータとソフトウェアライブラリを使用して機械学習のトレーニングと推論ワークフローを加速することに興味がある場合は、Hugging Faceのエキスパートアクセラレーションプログラム[30]をチェックしてください。

Habanaのソリューションの詳細については、HabanaとHugging Faceのパートナーシップ[31]を読んで、Habanaに連絡してください[32]

Hugging FaceがAIハードウェアアクセラレータをより利用しやすくする方法の詳細については、Hugging Faceのハードウェアパートナープログラム[33]をご覧ください。

Intel Lab の認知 AI チームの研究科学者である Philip Howard 氏と Anahita Bhiwandiwalla 氏も、Gaudi ® 2 と BLOOMZ の関連テストを紹介しました。

BLOOMZなどの大規模言語モデルをGaudi®2に簡単に導入する方法については、ビデオ[34]をご覧ください。

[1] https://huggingface.co/blog/habana-gaudi-2-bloom

[2] https://habana.ai/products/gaudi2/

[3] https://arxiv.org/abs/2211.05100

[4] https://bigscience.huggingface.co/

[5] https://arxiv.org/abs/2211.01786

[6] 「ゼロショット」とは、新しいまたは準備されていない入力データ(つまり、トレーニング例が提供されていないデータ)に基づいてタスクを完了するモデルの能力を指します。私たちは、自然言語で記述されたヒントと指示(つまり、モデルに何を実行させたいか)をモデルに提供します。ゼロショット分類には、達成されるタスクに関連する例は含まれません。これらのタスクは特定のタスクの 1 つ以上の例で構成されるため、ワンショット分類や少数ショット分類とは区別されます。

[7] https://huggingface.co/blog/bloom-megatron-deepspeed

[8] https://huggingface.co/blog/bloom-inference-optimization

[9] https://docs.habana.ai/en/latest/Gaudi_Overview/SynapseAI_Software_Suite.html#グラフコンパイラとランタイム

[10] https://docs.habana.ai/en/latest/PyTorch/Inference_on_PyTorch/Inference_Using_HPU_Graphs.html

[11] https://docs.habana.ai/en/latest/PyTorch/DeepSpeed/Inference_Using_DeepSpeed.html

[12] https://github.com/huggingface/optimum-habana

[13] https://huggingface.co/docs/optimum/habana/quickstart

[14] https://huggingface.co/blog/habana-gaudi-2-benchmark#how-to-get-access-to-gaudi2

[15] https://www.deepspeed.ai/

[16] https://arxiv.org/abs/2207.00032

[17] https://huggingface.co/blog/bloom-megatron-deepspeed#パイプライン並列

[18] https://github.com/HabanaAI/deepspeed

[19] bigscience/bloomz · ハグフェイス

[20] bigscience/bloomz-7b1 ハグフェイス

[21] https://github.com/microsoft/DeepSpeed/blob/v0.8.2/deepspeed/inference/engine.py#L158

[22] https://huggingface.co/blog/how-to-generate#greedy-search

[23] https://github.com/huggingface/optimum-habana/tree/main/examples/text-generation

[24] https://docs.habana.ai/en/latest/インストールガイド/index.html

[25] https://huggingface.co/docs/optimum/habana/usage_guides/multi_node_training

[26] transformers-bloom-inference/bloom-inference-scripts メイン · huggingface/transformers-bloom-inference · GitHub

[27]DeepSpeedとAccelerateによる驚くほど高速なBLOOM推論(huggingface.co)

[28]モデルリファレンス/PyTorch/nlp/bloom 1.8.0 · HabanaAI/モデルリファレンス · GitHub

[29] https://huggingface.co/docs/optimum/habana/index

[30] https://huggingface.co/support

[31] https://huggingface.co/hardware/habana

[32] https://habana.ai/contact-us/

[33] https://huggingface.co/hardware

[34] https://videos.sproutvideo.com/embed/799fd9b8141be0c6f0/79c248b5ecd76231?playerColor=0270c1&endFrame=posterFrame&autoplay=true&lightbox=true

<<:  人工知能はドローンの将来にどのような影響を与えるのでしょうか?

>>:  プロンプトの可能性を探り、ChatGPT スキルを向上させましょう

ブログ    
ブログ    

推薦する

変化が起こっています!機械学習は人類をどこへ導くのでしょうか?

[[187530]]人工知能 (AI) がどのように未来を予測し、職場を変え、さらには雇用を生み出...

...

RSAは暗号化アルゴリズムへのバックドアの追加を否定

米国のセキュリティサービスプロバイダーRSAは昨日、同社が米国国家安全保障局(NSA)と協力して暗号...

...

...

速度は数十倍に向上。たった1枚の写真と1つの文章だけで、Googleの新しいモデルは20秒で顔を変えることができる。

以前、Googleとボストン大学の研究者は、DreamBoothと呼ばれる「パーソナライズされた」テ...

今後3年間で、人工知能は全国の小売業界に影響を与える大きな嵐となるでしょう。排除されてしまうのでしょうか?

10 年前、ほとんどの人は、今日では現金やカードを持ち歩かずに携帯電話だけを持って街を歩き回り、買...

...

...

AGI は 1 年以内に登場しますが、人類には 5 年しかありませんか?

OpenAIは今年初めにSoraを発表し、世界中に衝撃を与えた。数年前まではまだ、この大柄なモデル...

AIプロジェクトが失敗する6つの理由

人工知能が人間の生活と市場に与える影響は計り知れません。世界経済統計によると、人工知能は2030年ま...

...

AI、新たなアリババとテンセント

インターネット時代の恩恵が徐々に薄れていくにつれ、プレイヤーは次の発展のトレンドを求めて模索と実践を...

プライバシー技術: 「AI レース」に勝つための秘密のアドバンテージ

AI 競争が始まっており、世界中の企業が AI ベースのイノベーションにおける世界的優位性を求めて競...