LLM の LoRA / RLHF によるファインチューニング用のツールキットまとめ
「LLM」の「LoRA」「RLHF」によるファインチューニング用のツールキットをまとめました。
1. PEFT
「PEFT」は、モデルの全体のファインチューニングなしに、事前学習済みの言語モデルをさまざまな下流タスクに適応させることができるパッケージです。
現在サポートしている手法は、次の4つです。
◎ LLaMA + LoRA
「Alpaca-LoRA」は、「LLaMA」に「LoRA」を適用して「Alpaca」の結果を再現するためのコードが含まれているリポジトリです。「finetune.py」がLoRAの参考になります。
◎ RedPajama-INCITE + LoRA
「INCITE-LoRA」は、「RedPajama-INCITE」に「LoRA」を適用するためのコードが含まれているリポジトリです。「finetune.py」がLoRAの参考になります。
2. OpenChatKit
「OpenChatKit」は、アプリケーションに特化したチャットAIと、汎用チャットAIの両方を作成するための、オープンソースな開発キットです。
以下のコードが含まれています。
◎ RedPajama-INCITE-3B/7B
「RedPajama-INCITE-3B」のLoRAを使用したファインチューニングは、単一のNvidia 3090で実行できます。完全なファインチューニングは、最大70GBのVRAMが必要です。
OpenChatKitでのRedPajama-INCITEのファインチューニング方法は、以下で紹介されています。
3. H2O LLM Studio
「H2O LLM Studio」は、LLMをファインチューニングするための、ノーコードGUIです。コーディング経験ない人でも、LLMを簡単かつ効果的にファインチューニングできます。
主な機能は次のとおりです。
4. RWKVのColabノートブック
「RWKV」で、LoRAおよび完全なファインチューニングを行うためのColabノートブックが提供されています。
5. llm-foundary
「llm-foundary」は、Composer および MosaicML プラットフォームで推論するためのLLMの学習、ファインチューニング、評価、デプロイのためのコードが含まれています。MPT-7Bをファインチューニングすることができます。
6. trl
「trl」は、HuggingFaceでPPO を使用して事前学習済みの言語モデルを「RLHF」でファインチューニングするためのツールキットです。
以下の記事では、trlの「RLHF」とPEFTの少ないVRAMでの学習を組み合わせた手法を紹介しています。
7. trlx
「trlx」は、「CarperAI」によって構築された「TRL」の拡張フォークで、オンラインおよびオフラインの学習用の大規模なモデルを処理します。現時点では、「TRLX」には、LLMの展開に必要な規模 (たとえば、33Bパラメータ) で、PPOとILQLを備えた、「RLHF」が可能なAPIがあります。
8. RL4ML
「RL4LMs」は、さまざまな強化学習アルゴリズム (PPO、NLPO、A2C、および TRPO)、報酬関数、メトリックを使用して、LLMの「RLHF」によるファインチューニングおよび評価するためのモジュールを提供します。
9. DeepSpeed Chat
「DeepSpeed Chat」は、ChatGPTスタイルのモデルを訓練できるツールキットです。GPU1台で100億超パラメータを、複数GPUなら1000億パラメータ超のモデルを学習できます。SoTAの15倍以上の高速な学習をスクリプト一つで実行でき、簡単かつ低コストなのが特徴です