モデルトレーニングガイド拡張:LLaMA-Factoryの紹介
簡単に言えば、LLaMA-Factoryは現在、大規模言語モデル業界で最も人気があり、使いやすい「フルプロセス微調整ツールボックス」です。
レンダリング中...
簡単に言うと、**LLaMA-Factory** は現在、大規模モデル業界で最も人気があり、使いやすい **「フルプロセス微調整ツールボックス」** です。 モデルのトレーニングを料理に例えると、自分でコードを書く(Transformersライブラリ)ことは、鉄を鍛えて鍋を作り、野菜を育てることから始めるようなものです。 一方、LLaMA-Factory は**全自動統合キッチン**のようなもので、複雑な低レベルのコードをカプセル化し、単に「データ」を投入し、インターフェース上で選択するだけで、**増分事前学習(PT)** から **命令微調整(SFT)** 、そして **アライメント(DPO)** のすべての作業を完了できます。
## コアバリュー(なぜ技術者がこれを使っているのか?)
1. **フル統合:** ほぼすべての主流のオープンソースモデル(Qwen, Llama, Baichuan, Yi, Mistral, Gemma など)をサポートします。
2. **フルプロセス:** 以下のものが含まれます:
- **PT**(増分事前学習)
- **SFT**(教師あり微調整)
- **RLHF/DPO**(人間の嗜好アライメント)
- **Evaluation**(モデル評価)
- **Export**(モデルのマージとエクスポート)
3. **メモリに優しい:** **LoRA、QLoRA、DeepSpeed、GaLore** など、さまざまなメモリ節約技術が統合されており、24G メモリの 4090 カードで 7B モデル、さらには 13B モデルの微調整を実行できます。
4. **可視化:** **LLaMA Board** と呼ばれるWebインターフェースを提供し、ブラウザで直接パラメータを調整し、Loss曲線を監視できます。
## トレーニング実操手順(PT増分事前学習を例に)
LLaMA-Factory では、複雑な Python トレーニングスクリプトを書く必要はなく、主に **YAML設定ファイル** を修正するか、**WebUI** 上で操作します。
### 1. 環境準備
```Bash
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e .[metrics,bitsandbytes,qwen]
```
### 2. データ準備
プレーンテキストコーパスを `data/` ディレクトリに配置し、`dataset_info.json` に登録する必要があります。
**PT(増分事前学習)** の場合、データ形式は通常非常に簡単です:
```JSON
[
{"file_name": "your_corpus.txt"}
]
```
### 3. WebUIの起動(最も直感的な方法)
```Bash
llamafactory-cli webui
```
その後、ブラウザで `localhost:7860` を開きます:
- **トレーニング段階:** `Pre-Training`(事前学習)を選択します。
- **モデルパス:** ベースモデル(例:`Qwen/Qwen2.5-7B`)を入力します。
- **トレーニング方法:** `LoRA` または `Full` を選択します。
- **学習率:** `1e-5` に設定します。
- **開始:** 「開始トレーニング」をクリックすると、バックグラウンドで自動的にドライバが呼び出されます。
### 4. コマンドライン起動(本番環境推奨)
`train_pt.yaml` ファイルを作成し、以下のように内容を記述します:
```YAML
### コアパラメータ
stage: pt # 段階は事前学習
model_name_or_path: qwen/Qwen2.5-7B
dataset: your_custom_data # 登録したデータセット名に対応
cutoff_len: 1024 # テキストの切り捨て長さ
### トレーニング技術
finetuning_type: lora # LoRAを使用してメモリを節約
lora_target: all # すべての線形層を微調整
### ハイパーパラメータ
learning_rate: 0.00002
num_train_epochs: 3.0
per_device_train_batch_size: 4
gradient_accumulation_steps: 4
```
その後、実行します:
```Bash
llamafactory-cli train train_pt.yaml
```
## LLaMA-Factory はどのような問題を解決しますか?
1. **煩雑なコードを回避:** `model.backward()`、`optimizer.step()`、または分散トレーニング(Distributed Data Parallel)の低レベルのデッドロックの問題を処理する必要はありません。
2. **データ形式の統一:** 標準的なセットを提供し、どのようなデータを入力しても、JSON形式に変換するだけで、すべてのモデルに適合します。
3. **ワンクリックマージ:** トレーニング済みの LoRA 重み(数十 MB)は、`export_model` 機能を提供し、ワンクリックで元のモデルとマージして完全なモデル(数 GB)を作成し、直接デプロイできます。
## まとめ
**LLaMA-Factory は現在、最も効率的な「モデルトレーニングの足場」です。** 最適な方法は次のとおりです。
1. **LLaMA-Factory の PT モード** を使用して、ビジネスシナリオの生のコーパスを入力します。
2. **LLaMA-Factory の SFT モード** を使用して、以前に言及したコンパニオンダイアログデータを入力します。
3. **最後に、エクスポートされた GGUF または Safetensors** を使用してデプロイします。END
コメント
ログインしてコメントを閲覧・投稿してください
ログインへ