FalconモデルのリリースとHugging Faceエコシステムの統合

The Falcon models

Falconは、アブダビのテクノロジーイノベーションインスティテュートによって作成され、Apache 2.0ライセンスの下でリリースされた最先端の言語モデルのファミリーです。このファミリーは、Falcon‑40Bとその小さな兄弟であるFalcon‑7Bから構成されます。リリース時に、Falcon‑40BはOpen LLM Leaderboardのトップに立ち、Falcon‑7Bはその重量クラスで最高のモデルでした。Falcon‑7Bは1.5兆トークンで、Falcon‑40Bは1兆トークンで訓練され、データの80%以上がRefinedWebウェブコーパスから来ています。両モデルはマルチクエリアテンションを使用し、自己回帰デコーディング中のキー・バリューキャッシュのサイズを大幅に削減します。Falcon‑40Bはフル精度推論に約90GBのGPUメモリが必要ですが、Falcon‑7Bは約15GBしか必要ありません。InstructバージョンのFalcon‑7B‑InstructとFalcon‑40B‑Instructも利用可能で、素早い実験に推奨されます。

Demo

Falcon‑40Bモデルは、Hugging Face Spaceまたは組み込みプレイグラウンドを通じてすぐに試すことができます。このSpaceは、HuggingChatを支える同じテクノロジーであるHugging FaceのText Generation Inferenceバックエンドを使用しています。Falcon‑7B‑InstructモデルのCore MLバージョンが構築され、M1 MacBook Proで実行されていることがデモンストレーションされており、軽量アプリを示すビデオと、さらに探求するためのCore MLウェイトをダウンロードするリンクが提供されています。

Inference

Falconモデルは標準のtransformersライブラリで実行できますが、bfloat16データ型を使用し、モデリングコードがモデルリポジトリに存在するため、リモートコード実行を有効にする必要があります。7B Instructモデルについては、AutoTokenizertransformers.pipelinetorch_dtype=torch.bfloat16trust_remote_code=Truedevice_map="auto"を使用してシンプルなパイプラインを構築できます。40Bモデルを実行するにはより多くのメモリが必要ですが、8ビットモードでロードするとフットプリントが約45GBに削減され、これはA6000(48GB)には収まりますが、40GBのA100には収まりません。複数のGPUとaccelerateを使用すると、device_map="auto"でレイヤーをカード間で分散させたり、CPUにオフロードしたりできます。最新のbitsandbytestransformersaccelerateを使用すると、4ビットロードが可能になり、40Bモデルのメモリ要件が約27GBに低減されます。

Evaluation

Falcon‑40BのベースモデルとInstructモデルは、Open LLM Leaderboardでそれぞれ平均スコア60.4と63.2で1位と2位にランクインしました。Falcon‑7Bベースモデルはスコア48.8を達成し、LLaMA‑7B(47.6)およびMPT‑7B(48.6)を上回りました。このリーダーボードは、AI2 Reasoning Challenge、HellaSwag、MMLU、TruthfulQAにおける推論と真実性を評価します。特に注目すべきは、Falcon‑40Bがわずか2,800 PF‑daysのプリトレーニング計算でこのパフォーマンスを達成したことです。これはLLaMA‑65Bに必要な6,300 PF‑daysの約半分であり、LLMプリトレーニングにおけるさらなる効率向上の余地があることを示唆しています。

Fine-tuning with PEFT

パラメータ効率の良い方法により、大規模なFalconモデルのファインチューニングが可能になりました。PEFTライブラリとQLoRAを使用して、Falcon‑7Bモデルは単一のNVIDIA T4 GPU(16GB)でGuanacoデータセット上でファインチューニングされ、Falcon‑40Bモデルは単一のNVIDIA A100 GPU(80GB)でファインチューニングされました。TRLライブラリのSFTTrainerと4ビット量子化されたベースモデルを使用したトレーニングにより、数メガバイトサイズのアダプターファイルが生成されます。たとえば、ファインチューニングされたFalcon‑7Bアダプタは約65MBで、元の15GBハーフプレシジョンモデルと比較されます。凍結されたモデルの隠れ状態は、クエリとキー射影層に適用された低ランクアダプタによって拡張され、その結果得られるモデルはフルウェイトを保存せずに推論に使用できます。

Conclusion

Falconモデルは商用利用に対して許可的なライセンスで提供され、Hugging Faceの推論ツールで簡単に実行でき、控えめなハードウェアでもPEFTベースのファインチューニングにより容易に適応できます。このリリースは、これらの公開されている大規模言語モデルの上にアプリケーション、実験、さらなる改良を構築するようコミュニティを招待しています。

Sources