GPT-3などの大規模言語モデルを処理するには高い計算量とメモリが必要なため、通常は複数のハイエンドなAIアクセラレーターが求められます。この処理を、メモリ16GBのNVIDIA Tesla T4やメモリ24GBのNVIDIA GeForce RTX 3090など、メモリ容量が限られたGPU単体でも実行するための生成エンジン「FlexGen」が公開されました。

GitHub - Ying1123/FlexGen: Running large language models like OPT-175B/GPT-3 on a single GPU. Up to 100x faster than other offloading systems.

https://github.com/Ying1123/FlexGen#readme

FlexGenは大規模言語モデルの推論リソース要件を単一のGPUにまで引き下げ、さまざまなハードウェアに柔軟に対応できるようにすることを目的に作成されたエンジン。言語モデルのOPT-175Bを実行する場合は他のオフロードベースのシステムと比べて最大100倍高速になるなどの特徴を備えています。

ベンチマーク結果は以下の通り。数値は生成スループットで、1秒当たりのトークン数を示しています。テストには208GBのDRAMと1.5TBのSSDを備えたGCP上のT4(16 GB)インスタンスが使用されています。

SystemOPT-6.7BOPT-30BOPT-175BHuggingface Accelerate25.120.620.01DeepSpeed ZeRO-Inference9.280.600.01Petals--0.05FlexGen25.267.320.69FlexGen(圧縮あり)29.128.381.12

下図は、OPT-175B(左)とOPT-30B(右)において、3つのオフロードベースのシステムのレイテンシーとスループットのトレードオフを示したものです。青色がFlexGen(圧縮あり)、オレンジ色がFlexGen、緑色がDeepSpeed、赤色がAccelerateを示しています。FlexGenはOPT-175Bにおいて最大スループットが他2つの100倍となり、新たなパレート最適解を達成しました。その他のシステムでは、メモリ不足によりこれ以上スループットを向上させることができませんでした。



FlexGenには今後、Apple M1/M2のサポート、Google Colaboratoryへの対応、チャットボットアプリケーションのレイテンシーの最適化などが盛り込まれる予定です。