見出し画像

FlexGenの魅力と使い方:GPT-3やOPT-30Bを手軽に試せるエンジン

FlexGenは、大規模言語モデルをシングルGPUで高速に生成できるエンジンです。FlexGenを使えば、GPT-3やOPT-30Bなどの最先端の言語モデルを手軽に試すことができます。

このブログでは、FlexGenの特徴やメリット、そして使い方について紹介します。

FlexGenの特徴

FlexGenは、以下のような特徴を持っています。

  • 大規模言語モデル(LLM: Large Language Model)をシングルGPU(例えば、16GBのT4や24GBのRTX3090)で高スループットな生成エンジンです。

  • LLMのパラメーターを圧縮してオフロードすることで、GPUメモリ使用量を削減し、レイテンシーとスループットを最適化します。

  • GPT-3やOPT-30Bなどの様々なLLMに対応しており、簡単に切り替えることができます。

  • Google Colaboratoryやなどのプラットフォームにも対応しており、幅広く利用できます。

FlexGenのメリット

FlexGenは、他のLLM生成エンジンと比較して以下のようなメリットがあります。

  • シングルGPUでもLLMを動かせるため、コストやインフラストラクチャーの制約が少なくなります。

  • 圧縮オフロード技術により、レイテンシーとスループットが向上し、高品質なテキスト生成が可能になります。

  • LLM間で容易に切り替えられるため、目的やニーズに応じて最適なモデルを選択できます。

  • プラットフォーム間で互換性があるため、様々な環境やデバイスで利用できます。

FlexGenの使い方

無料のGoogle Colaboratoryで実行しようとしましたが、途中でメモリの性能の関係で止まってしまったため、Google Colaboratory Proを有料契約して実行しました。

# FlexGenのインストール
!git clone https://github.com/FMInference/FlexGen.git
%cd FlexGen
!pip install -e .

# チャットデモの実行
!python apps/chatbot.py --model facebook/opt-6.7b

このプログラムは、FlexGenをインストールして、チャットデモを実行するものです。😊

具体的には、以下のような処理を行っています。

FlexGenのインストール

!git clone https://github.com/FMInference/FlexGen.git で、FlexGenのリポジトリ をローカルにコピーします。
%cd FlexGen で、FlexGenのディレクトリ に移動します。
!pip install -e . で、FlexGenを編集可能モードでインストールします。

チャットデモの実行

!python apps/chatbot.py --model facebook/opt-6.7b で、チャットデモスクリプト を実行します。–model オプションで、使用するLLMを指定します。ここではfacebook/opt-6.7bというモデルを選択しています。

これらの処理が終わると、チャットデモが開始されます。画面に表示される指示に従って、LLMと会話することができます。


今回は、opt-6.7bを使用しましたが、opt-30b、opt-175bまで出ているようです。気が向いたらopt-175bを試してみたいと思います。

と、書いたけれど、opt-175bはモデルのサイズが1.5TBほどと書かれていたので環境のハードルが少しあるなと思いました。ただ、個人で実現できるレベルにはなっている感じがします。

いいなと思ったら応援しよう!