LMFlow - 大規模基盤モデルのファインチューニングと推論ツールキット
プロジェクト概要
LMFlowは、OptimalScaleチームによって開発されたオープンソースプロジェクトであり、拡張性、利便性、効率性に優れた大規模機械学習モデルのファインチューニングツールキットです。このプロジェクトは、ユーザーフレンドリー、高速、信頼性を重視して設計されており、大規模言語モデル技術をコミュニティ全体に開放し、「大規模モデルをすべての人に」というビジョンを実現することを目的としています。
プロジェクトアドレス: https://github.com/OptimalScale/LMFlow
コア機能
1. 多様なトレーニング方式のサポート
- 全パラメータファインチューニング:すべてのパラメータを更新して言語モデルをファインチューニング
- LoRA (Low-Rank Adaptation):パラメータ効率の高いファインチューニングアルゴリズムで、全パラメータファインチューニングよりも効率的
- LISA (Layerwise Importance Sampling):メモリ効率の高いファインチューニングアルゴリズムで、24GBのVRAMで7Bモデルをアンロードせずにトレーニング可能
2. 幅広いモデルのサポート
以下を含む、さまざまな主要な大規模言語モデルをサポートします。
- DeepSeekシリーズ:deepseek, deepseek_v2, deepseek_r1など
- LLaMAシリーズ:llama2, llama3, llama3_for_tool
- Qwenシリーズ:qwen2, qwen2_for_tool, qwen2_5など
- Gemma, Phi, Yi, InternLM2など、さまざまなモデルアーキテクチャ
3. パフォーマンス最適化技術
メモリ最適化
- FlashAttention-2:最新のFlashAttention技術をサポートし、トレーニングと推論の速度を大幅に向上
- 勾配チェックポイント:計算とメモリのトレードオフ戦略を通じてメモリ使用量を最適化
- DeepSpeed Zero-3:大規模モデルの分散トレーニングをサポート
推論加速
- vLLM統合:高速で使いやすいLLM推論とサービスをサポート
- 投機的デコード:投機的デコード技術をサポートして推論を加速
- CPU推論:CPU上でLLaMAモデルを実行可能(4ビット量子化による)
4. 豊富な機能特性
対話テンプレートのサポート
- 最新のLlama-3およびPhi-3対話テンプレートをプリセット
- chatmlなどのさまざまな一般的なテンプレートをサポート
- より良いパフォーマンスを得るために、カスタム対話テンプレートをサポート
マルチモーダルサポート
- 画像とテキストのマルチモーダル入力をサポート
- マルチモーダルチャットボット機能を提供
- オンラインデモサービスが利用可能
長いコンテキスト処理
- LLaMAモデルの位置補間(線形およびNTKスケーリング)をサポート
- モデルのコンテキスト処理能力を拡張
5. 評価とベンチマークテスト
LMFlow Benchmarkは、オープンソースの大規模言語モデル専用に設計された自動評価フレームワークであり、負の対数尤度(NLL)を指標として、モデルの以下の能力を評価します。
技術革新
RAFTアルゴリズム
プロジェクトは、新しいアライメントアルゴリズムである**Reward rAnked FineTuning (RAFT)**を提案しました。この方法は、従来のPPOベースのRLHFよりも効率的です。
カスタムオプティマイザ
以下を含む、さまざまなカスタムオプティマイザトレーニングをサポートします。
- RMSprop, LION-32bit, Adam, AdamW
- AdaFactor, Adan, RAdamなど20種類以上のオプティマイザ
- 具体的なタスクに応じて最適な最適化戦略を選択可能
実際の応用事例
医療分野でのブレークスルー
LMFlowでトレーニングされたモデルは、医療分野で優れたパフォーマンスを発揮し、タスク調整モデルは医療分野でのパフォーマンスがChatGPTを上回り、垂直分野での応用の大きな可能性を示しています。
Robinモデルシリーズ
プロジェクトは、複数の高性能Robinモデルをリリースしました。
- Robin-33B-V2:Huggingface LLMランキングで64.1点の優れた成績を収めました
- 7B、13B、33B、65Bなど、複数の規模のチェックポイントを提供
インストールと使用
環境要件
- 主にLinux OS (Ubuntu 20.04)でテスト済み
- CUDA 10.3-11.7バージョンをサポート
- Python 3.9環境
迅速なインストール
git clone -b v0.0.9 https://github.com/OptimalScale/LMFlow.git
cd LMFlow
conda create -n lmflow python=3.9 -y
conda activate lmflow
conda install mpi4py
pip install -e .
PyPIインストール
pip install lmflow-finetune
技術的影響力
LMFlowプロジェクトは、学術界と産業界に重要な影響を与えています。
- 関連論文がトップレベルの学術会議で発表
- GitHubで多くの注目と使用を獲得
- オープンソースの大規模言語モデルエコシステムに重要な貢献
まとめ
LMFlowは、包括的な大規模言語モデルツールキットとして、完全なモデルトレーニングおよび推論ソリューションを提供するだけでなく、メモリ最適化、パフォーマンス加速、モデル評価など、さまざまな側面で革新を行っています。大規模言語モデルの使用の敷居を下げ、より多くの研究者や開発者が独自の言語モデルを簡単に構築および展開できるようにし、「大規模モデルをすべての人に」という目標を真に実現します。