見出し画像

LLM の LoRA / RLHF によるファインチューニング用のツールキットまとめ

「LLM」の「LoRA」「RLHF」によるファインチューニング用のツールキットをまとめました。

1. PEFT

「PEFT」は、モデルの全体のファインチューニングなしに、事前学習済みの言語モデルをさまざまな下流タスクに適応させることができるパッケージです。

現在サポートしている手法は、次の4つです。

LoRA
Prefix Tuning
P-Tuning
Prompt Tuning

◎ LLaMA + LoRA
「Alpaca-LoRA」は、「LLaMA」に「LoRA」を適用して「Alpaca」の結果を再現するためのコードが含まれているリポジトリです。「finetune.py」がLoRAの参考になります。

tloen/alpaca-lora

◎ RedPajama-INCITE + LoRA
「INCITE-LoRA」は、「RedPajama-INCITE」に「LoRA」を適用するためのコードが含まれているリポジトリです。「finetune.py」がLoRAの参考になります。

leehanchung/lora-instruct

2. OpenChatKit

「OpenChatKit」は、アプリケーションに特化したチャットAIと、汎用チャットAIの両方を作成するための、オープンソースな開発キットです。

以下のコードが含まれています。

・GPT-NeoXT-Chat-Base-20B の学習
・Pythia-Chat-Base-7B の学習
・推論のテスト
・検索インデックスからの追加コンテキストによるモデルの拡張

◎ 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を簡単かつ効果的にファインチューニングできます。

主な機能は次のとおりです。

・LLM用に設計されたGUI。
・LoRA や量子化など最新のファインチューニング技術に対応。
・モデルの評価および性能の可視化。
・モデルとチャット。
・モデルをHuggingFace Hubにエクスポート。

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倍以上の高速な学習をスクリプト一つで実行でき、簡単かつ低コストなのが特徴です


関連



この記事が気に入ったらサポートをしてみませんか?