Transformer Accelerator (TFA): A Macro-Op INT8 Hardware Chip for Transformer Inference and Machine Translation
本論文では、ビット単位で正確なエンドツーエンドのトランスフォーマー推論を実現し、100%の機能検証を完了した上で、CPUベースラインに対して大幅なエネルギーおよび速度向上の予測を実現する、合成可能なINT8ハードウェアエンジンであるTransformer Accelerator (TFA) を提案する。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
現代の人工知能は、トランスフォーマーと呼ばれる特定の種類のニューラルネットワークを用いることで、言葉を話し、翻訳し、推論することを学習してきました。これらのシステムは非常に強力ですが、同時に非常に「食欲旺盛」でもあります。文中の新しい単語を一つ生成するために、トランスフォーマーはその学習された事実の全メモリを探索しなければならず、このプロセスは膨大な量のデータを移動させることを必要とします。スマートフォンやセンサーのようにバッテリーで動作するデバイスにとって、この絶え間ない情報のシャッフルはボトルネックとなります。メモリからこれらの数値を読み出すために必要なエネルギーは、実際にそれらを使って計算するために必要なエネルギーをしばしば圧倒してしまいます。これは根本的な問題を生み出します。すなわち、ニュアンスを理解する能力を失うことなく、いかにしてこれらの複雑な言語モデルを、小型で低電力のハードウェア上で効率的に動作させるか、という問題です。
シャシャンクという研究者は、この問題を解決するために特別に設計された新しいタイプのハードウェアチップを考案しました。あらゆることをこなそうとする汎用コンピュータを作る代わりに、このチップは言語翻訳に必要な特定の数学的処理のみを扱うために作られた特化型のツールです。「トランスフォーマー・アクセラレータ」と呼ばれるこの設計は、モデルを解釈されるべきプログラムとしてではなく、データがメモリから計算エンジンへと直接移動し、再び戻っていく一連の命令ストリームとして扱います。その目的は、学習済みの言語モデルを取り込み、それを完全にシリコン上で実行し、元の高精度なコンピュータ版と数学的に同一の結果を出しつつ、はるかに少ないエネルギーで動作するデバイスを作ることでした。
この研究の核心は、科学計算で通常使われる複雑な小数ではなく、整数を用いて動作するチップにあります。これらのより単純な整数に切り替えることで、移動すべきデータ量は劇的に減少します。しかし、この切り替えは通常、数値の微細な差異が丸められてしまうため、精度の低下を引き起こします。研究者は、標準的な数値の丸め方はこの特定の種類の言語モデルには適しておらず、翻訳が支離滅裂になってしまうことを発見しました。解決策はチップを変更することではなく、ハードウェアにロードされる前にモデルをどのように準備するかを変えることでした。準備段階においてモデルの内部重みに精密な数学的回転を適用することで、研究者は扱いにくい数値を滑らかにしました。これにより、単純で低電力なチップが、複雑なオリジナル版とビット単位で同一の結果を生み出すことが可能になり、数学的な難しさをハードウェアではなくソフトウェアの中に隠すことに成功したのです。
これが機能することを証明するために、研究者は英語をフランス語、ドイツ語、ルーマニア語に変換できる完全な学習済み翻訳モデルを取り、それをチップへの一連の命令へとコンパイルしました。その後、チップを厳格なシミュレーションにかけ、プロセスのあらゆるステップを検証しました。その結果、このチップは、モデルが適切な単語に焦点を合わせることを可能にする複雑なアテンション・メカニズムを含む、翻訳パイプライン全体をエラーなしで実行できることが示されました。チップが10個の難しい英語の諺(ことわざ)に対して翻訳を生成した際、基礎となるデータに関しては元のコンピュータの出力と完全に一致しました。ケースの半分では、最終的な翻訳語は浮動小数点参照と同一でしたが、もう半分のケースでは、同じ概念に対して異なる単語を使用したり、異なる句読点を使用したりするなど、同等に妥当な翻訳を出力しました。これは、ハードウェアが単に速いだけでなく、信頼できるものであることを実証しました。
パフォーマンスの向上はかなりのものでした。標準的な22スレッドのコンピュータプロセッサと比較して、このチップ設計は、意図的に低速で困難なメモリシステム上で動作している場合でも、最小構成においてトークンを20倍速く生成できました。研究者らは、このチップの大型版がコンピュータのベースラインよりも200倍近く高速になる可能性があると予測しています。より重要なことに、エネルギー効率は驚異的でした。このチップは、生成される単語あたり、コンピュータプロセッサよりも約3000倍少ないエネルギーを使用すると推定されました。この効率性は、計算が終わるのを待ってから次のデータを取り出すのではなく、メモリが許容する最大速度で重みを計算ユニットのそばを流し続けることができるチップの能力によるものです。
研究はシミュレーションに留まりませんでした。設計が単なる理論上の演習ではないことを確実にするため、研究者はチップのデジタル記述を取り、実際のシリコンを作成するために使用される完全な製造フローに通しました。このプロセスにより、設計はチップ上にプリント可能な物理的なレイアウトへと変換されました。完成したレイアウトは、製造に必要なすべての厳格なルールを通過し、設計が物理的に実現可能であることを確認しました。テストされたバージョンは古い大型の製造技術を使用して構築されましたが、このレイアウトの成功は、アーキテクチャが健全であり、現代の高速なプロセスへと縮小可能であることを証明しました。高度なメモリコンポーネントを用いて構築された場合、物理的なチップはさらに小さく、より高速になることが期待されます。
このプロジェクトは、私たちがどのように人工知能の未来を築いていくかというパラダイムシフトを浮き彫りにしています。汎用コンピュータをより速くしようとするのではなく、一つのことを完璧に行う小さな特化型エンジンを作るというアプローチに焦点を当てています。不正確な数値を扱うという難しい数学をソフトウェアの準備段階へと分離することで、ハードウェア自体をシンプルで高速、かつ極めて効率的なものに保つことができます。この設計の成功は、モデルの有用性を支える精度を犠牲にすることなく、現在のデバイスでは扱うには小さすぎるエッジデバイス上で、洗練された言語モデルを実行できる可能性を示唆しています。今後の課題は、この設計をスケールアップして、より大きなモデルやより複雑な言語タスクに対応させることですが、基礎は築かれました。すなわち、スーパーコンピュータの精度と、バッテリー駆動デバイスの効率性を備えた、小型で検証済み、かつ製造可能なチップです。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。