私の連絡先情報
郵便管理者@information.bz
2024-08-19
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
AIxivコラムは、マシンハートが学術的・技術的な内容を掲載するコラムです。過去数年間で、Heart of the Machine AIxiv コラムには 2,000 件を超えるレポートが寄せられ、世界中の主要な大学や企業のトップ研究室がカバーされ、学術交流と普及を効果的に促進しています。共有したい優れた作品がある場合は、お気軽に寄稿するか、報告のために当社までご連絡ください。送信メール: [email protected]; [email protected]
人工知能の分野では、モデルパラメータの増加はパフォーマンスの向上を意味することがよくあります。ただし、モデルの規模が拡大するにつれて、端末デバイスの計算能力とメモリに対する需要も増加しています。低ビット量子化テクノロジーは、ストレージとコンピューティングのコストを大幅に削減し、推論効率を向上させることができるため、リソースに制約のあるデバイス上で大規模なモデルを効率的に実行できるようにするための重要なテクノロジーの 1 つとなっています。ただし、ハードウェア デバイスが低ビット量子化データ モードをサポートしていない場合、低ビット量子化の利点は実現されません。
この問題を解決するために、Microsoft Research Asia は新しいデータ コンパイラ Ladder とアルゴリズム T-MAC を発表しました。これにより、現在対称精度の計算のみをサポートしているハードウェアで混合精度の行列乗算を直接実行できるようになります。テスト結果では、GPU が本来サポートしていないカスタム データ タイプをサポートする際に、Ladder が最大 14.6 倍の高速化を達成できることが示されています。T-MAC は、最新の Qualcomm Snapdragon X Elite を搭載した Surface AI PC 上の CPU 上で大規模なデータを実行できるようにします。モデルのスループットは専用アクセラレータ NPU の 2 倍です。さらに、研究者らは LUT Tensor コア ハードウェア アーキテクチャも設計しました。この合理化された設計により、ハードウェアがさまざまな低ビット混合精度の計算を直接サポートできるようになり、人工知能ハードウェア設計に新しいアイデアが提供されます。
高度なインテリジェンスとリアルタイム応答サービスを提供するために、スマートフォン、ラップトップ、ロボットなどのエンドサイド デバイスに大規模モデルが導入されることが増えています。ただし、数億のパラメータを含む大規模なモデルは、端末デバイスのメモリと計算能力に非常に高い要求を課すため、その広範な適用が制限されます。低ビット量子化テクノロジーは、モデルのサイズを大幅に圧縮し、コンピューティング リソースの需要を削減でき、デバイス側に大規模なモデルを展開し、効率的な推論を実現する効果的な手段となっています。
低ビット量子化技術の発展により、int4、int2、int1、その他の低ビット データなど、データ型がますます多様化しており、大規模モデルでは低ビット重みと高ビット重みの混合精度行列乗算がますます使用されています。推論における計算 (混合精度行列乗算、mpGEMM)。ただし、CPU や GPU などの既存のハードウェア コンピューティング ユニットは通常、対称コンピューティング モードのみをサポートしており、この混合精度の行列乗算とは互換性がありません。
混合精度の行列乗算は従来の行列乗算とどう違うのでしょうか?
従来の行列乗算では、FP16*FP16、int8*int8 のように、演算に関わる両端の値が対称になります。しかし、大規模モデルの低ビット量子化ではこの対称性が崩れ、乗算の一方の端が高ビット、もう一方の端が低ビット (1 ビット BitNet モデルに実装されている int8*int1 または int8*int2 など) になり、浮動小数点になります。整数 FP16*int4 の混合乗算。
低ビット量子化の利点を最大限に活用し、ハードウェア デバイスが混合精度の行列乗算を直接サポートできるようにし、エンドサイド デバイスで大規模モデルの高速かつ効果的な動作を保証するために、Microsoft Research Asia の研究者は次のことに焦点を当てました。既存の CPU および GPU コンピューティング オペレーターとハードウェア アーキテクチャの革新について:
ラダー: カスタム データ型からハードウェアでサポートされるデータ型へのロスレス変換
現在、最先端のアクセラレータは、FP32、FP16、さらには FP8 などの低ビット コンピューティング ユニットの動作を新世代のアーキテクチャに統合しています。ただし、チップ面積と高いハードウェア コストの制限により、各アクセラレータは標準データ型に対して限られたタイプのコンピューティング ユニットしか提供できません。たとえば、NVIDIA V100 TENSOR CORE GPU は FP16 のみをサポートしますが、A100 は int2、int4 のサポートを追加しました。 、int8 はサポートされていますが、FP8 や OCP-MXFP などの新しいデータ形式はカバーされていません。さらに、大規模モデルの迅速な反復とハードウェア アップグレードの遅いペースの間にはギャップがあり、その結果、多くの新しいデータ型がハードウェアでサポートされなくなり、それが大規模モデルの高速化と動作に影響を及ぼします。
Microsoft Research Asia の研究者らは、ハードウェア アクセラレータにはカスタム データ型の計算命令が欠けているものの、そのメモリ システムがカスタム データ型を固定幅の不透明データ ブロックに変換して任意のデータ型を格納できることを発見しました。同時に、ほとんどのカスタム データ型を、既存のハードウェア コンピューティング ユニットがサポートする高ビットの標準データ型にロスレスで変換できます。たとえば、NF4 テンソルを FP16 または FP32 に変換して浮動小数点演算を実行できます。
これらの発見に基づいて、研究者らは次のことを提案しました。データの保存と計算を分離することですべてのカスタム データ型をサポートする方法であり、新たなカスタム データ型と現在のハードウェアでサポートされている固有の精度形式との間のギャップを埋めるデータ コンパイラー Ladder を開発しました。
ラダーは、データ型間のロスレス変換のための抽象化を含むデータ型システムを定義し、アルゴリズムとハードウェアによってサポートされるさまざまなデータ型を表現し、データ型間の変換ルールを定義します。低ビット アルゴリズム アプリケーションを扱う場合、ラダーはコンピューティングとストレージの最適化を含む一連の最適化を通じて、低ビット データを現在のハードウェアで最も効率的な実行形式に変換します。アルゴリズムを一致するコンピューティング命令にマッピングし、さまざまな形式のデータを変換します。最も効率的な運用を実現するために、さまざまなレベルのストレージユニットに保存されます。
図 1: ラダー システムのアーキテクチャ
NVIDIA A100、NVIDIA V100、NVIDIA RTX A6000、NVIDIA RTX 4090、および AMD Instinct MI250 GPU で実行される DNN 推論パフォーマンス評価では、Ladder がデータ型のネイティブ サポートと GPU のサポートにおいて既存の最先端の DNN コンパイラーを上回っていることが示されています。当初はサポートされていなかったカスタム データ型にも対応し、最大 14.6 倍の高速化が実現しました。
Ladder は、最新のハードウェア アクセラレータで DNN を実行する際に、カスタム データ型での低ビット精度データの表現を体系的にサポートする最初のシステムです。これにより、モデルの研究者はより柔軟なデータ型の最適化方法を利用できるようになり、ハードウェア アーキテクチャの開発者はハードウェアを変更することなく、より広範囲のデータ型をサポートできるようになります。
T-MAC: 乗算を行わない汎用低ビット混合精度行列乗算計算
既存のハードウェア デバイスがさまざまなデータ モードと混合精度の行列乗算をサポートできるようにするため、エンド側に大規模なモデルを展開する場合、一般的なアプローチは低ビット モデルを逆量子化することです。ただし、このアプローチには 2 つの大きな問題があります。1 つ目は、パフォーマンスの観点から、逆量子化プロセスの変換オーバーヘッドが、低ビット量子化によってもたらされるパフォーマンスの向上を相殺する可能性があることです。2 つ目は、開発の観点から、開発者はさまざまな再設計をターゲットにする必要があることです。混合精度のデータ レイアウトと計算カーネル。 Microsoft Research Asia の研究者は、低ビット量子化された大規模モデルをデバイスに展開する鍵は、低ビット特性に基づいた従来の行列乗算の実装をどのように突破するかにあると考えています。
この目的のために、研究者はシステムとアルゴリズムのレベルから提案しました。T-MAC は、ルックアップ テーブル (LUT、ルックアップ テーブル) に基づく手法であり、低ビット量子化を伴う大規模モデルが CPU 上で効率的な推論を実現するのに役立ちます。T-MAC の中心となるアイデアは、混合精度行列乗算の一端が非常に低いビット (1 ビットや 2 ビットなど) であるという特性を利用することです。出力結果は 2 の 1 乗と 2 の 2 乗のみです。これらの小さな出力結果は、事前に計算してテーブルに保存することができ、操作中にテーブルから結果を読み取るだけで済みます。繰り返しの計算が必要なため、乗算と加算の回数が大幅に削減されます。
具体的には、T-MAC は、従来のデータ型中心の乗算をビットベースのルックアップ テーブル操作に変換し、テーブル サイズを削減し、高速メモリ ユニットでのランダム アクセスのコストを最小限に抑える、統合されたスケーラブルな混合精度行列乗算ソリューションを実現します。テーブルが減ります。この革新により、リソースに制約のあるエッジ デバイスに低ビット量子化された大規模モデルを展開する道が開かれます。
図 2: T-MAC の概略図
低ビット量子化 Llama および 1 ビット BitNet 大規模言語モデルに対するテストで、T-MAC はパフォーマンスに大きな利点があることを実証しました。最新の Qualcomm Snapdragon を搭載した Surface Laptop 7 では、4 ビット 7B Llama モデルの生成速度は 1 秒あたり 20 トークンに達し、人間の平均的な読み取り速度よりもはるかに高速です。元の Llama.cpp フレームワークよりも 4 ~ 5 倍高速で、専用の NPU アクセラレータよりも 2 倍高速です。
Raspberry Pi 5 などの低パフォーマンスのデバイスでも、T-MAC により 3B BitNet-b1.58 モデルは 1 秒あたり 11 トークンの生成速度を達成できます。 T-MAC には電力に関する大きな利点もあり、リソースに制約のあるデバイスでも同じ生成速度を達成しながら、必要なコア数は元の Llama.cpp の 1/4 ~ 1/6 だけです。
これらの結果は、T-MAC が、GPU に依存せずに汎用 CPU を使用して大規模な言語モデルをエッジ デバイスにデプロイすることをより効率的にする実用的なソリューションを提供し、リソースに制約のあるデバイス上で大規模なモデルを効率的に実行できることを示しています。より幅広いシナリオで大規模モデルの適用を促進します。
LUT Tensor コア: 混合精度行列乗算のネイティブ サポートにより、次世代ハードウェア アクセラレータを推進
T-MAC とラダーは両方とも、既存の CPU および GPU アーキテクチャ上で混合精度行列乗算の最適化されたサポートを実装します。これらのソフトウェア レベルの革新により計算効率は大幅に向上しましたが、専用のルックアップ テーブルを直接実装できるハードウェア アクセラレータほど効率的ではありません。研究者らは、最も理想的なアプローチは、CPU や GPU などがネイティブに混合精度の行列乗算をサポートできるようにハードウェア アクセラレータを再設計することであると考えています。ただし、この目標には次の 3 つの大きな課題があります。
これらの課題に対処するために、Microsoft Research Asia の研究者は、LUT Tensor コア。ルックアップ テーブルを使用して混合精度の行列乗算を直接実行する GPU Tensor コア マイクロアーキテクチャ。一方では、ルックアップ テーブルに基づく設計により、乗算演算がテーブル事前計算演算に簡略化され、結果をテーブル内で直接検索できるため、計算効率が向上します。一方、このアプローチでは、テーブル ストレージ用のレジスタとルックアップ用のマルチプレクサのみが必要となり、乗算器や加算器は必要なくなり、ハードウェア要件も簡素化されます。同時に、LUT Tensor Core はビットシリアル設計を通じて重み精度の柔軟性を実現し、テーブル量子化を使用してアクティベーション精度の柔軟性を実現します。
さらに、既存の GPU マイクロアーキテクチャおよびソフトウェア スタックと統合するために、研究者らは GPU 内の既存の MMA 命令セットを拡張し、LMMA 命令セットを追加し、既存の GPU に統合するための cuBLAS と同様のソフトウェア スタックを設計しました。いくつかの DNN フレームワーク。研究者らは、LUT Tensor コアを備えた GPU でのエンドツーエンドの実行計画のためのコンパイラーも設計しました。これらの革新的なアプローチにより、LUT Tensor コアのシームレスかつ迅速な導入が可能になります。
図 3: LUT Tensor コアのマイクロアーキテクチャの概要
Llama および BitNet モデルのテストでは、LUT Tensor コアが最大 6.93 倍の推論速度を提供でき、従来の Tensor コアの面積の 38.7% のみを占めることが示されています。モデル精度がほぼ同じであれば、これは計算密度が 20.7 倍、エネルギー効率が 19.1 倍向上することに相当します。大規模な人工知能モデルの規模と複雑さが増大し続ける中、LUT Tensor コアは、低ビットの大規模言語モデルの可能性をさらに解き放ち、新しいシナリオでの人工知能の適用を促進するのに役立ちます。
「ルックアップ テーブル方式は、コンピューティング パラダイムの変化を主導しました。以前は行列の乗算と累積演算に依存していましたが、大規模モデルの時代では、低ビット量子化技術のおかげで、ルックアップ テーブル方式が主流になりました。」従来の浮動小数点演算や行列乗算と比較して、ルックアップ テーブル方式は計算が軽量で効率的であり、ハードウェア レベルでの拡張が容易であり、より高いトランジスタ密度を実現し、単位チップあたりのスループットを向上させることができます。これにより、ハードウェア アーキテクチャの開発が促進されます。」とマイクロソフト リサーチ アジアの主任研究員 Cao Ting 氏は述べています。
低ビット量子化のロングテール効果: 身体化された知能に新たな可能性をもたらす
低ビット量子化テクノロジーは、エンドサイド デバイスでの大規模モデルの実行効率を最適化するだけでなく、単一パラメーターの「ボリューム」を削減することで、モデル パラメーターの拡張 (スケールアップ) のための新しいスペースも提供します。このパラメーター拡張機能により、モデルの柔軟性と表現力が向上します。BitNet モデルで示されているように、モデルは低ビット モデルから開始され、徐々に大規模なトレーニングに拡張されます。
T-MAC、Ladder、LUT Tensor Core などの Microsoft Research Asia の革新的なテクノロジは、さまざまな低ビット量子化された大規模モデルに高性能の演算ソリューションを提供し、これらのモデルをさまざまなデバイス上で効率的に実行できるようにし、大規模モデルの設計と最適化を促進します。低ビットの観点から。これらのテクノロジーの一部は、Microsoft の Bing 検索や広告ビジネスなどの大規模な検索モデルですでに役割を果たしています。メモリとコンピューティング リソースの削減により、大規模な低ビット モデルをロボットなどの具体化されたインテリジェント システムに展開することも可能になり、これらのデバイスが動的な認識と環境とのリアルタイム インタラクションをより適切に実現できるようになります。
現在、T-MAC と Ladder は GitHub でオープンソース化されており、関連する開発者は Microsoft Research Asia でアプリケーションをテストし、人工知能テクノロジーのさらなる可能性を探ることができます。