Hajime MATSUMOTO commited on
Commit
9706c88
·
1 Parent(s): 6d8a316

Add local setup guide for RTX 3090

Browse files
Files changed (1) hide show
  1. LOCAL_SETUP.md +104 -0
LOCAL_SETUP.md ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ローカル実行ガイド (RTX 3090)
2
+
3
+ Qwen2.5-7B + glaive-function-calling-v2 QLoRA学習をローカルで実行する手順
4
+
5
+ ## 必要環境
6
+
7
+ - **GPU**: RTX 3090 (24GB) 以上
8
+ - **Python**: 3.10+
9
+ - **CUDA**: 12.x
10
+ - **ストレージ**: 50GB以上の空き
11
+
12
+ ## セットアップ
13
+
14
+ ```bash
15
+ # 1. リポジトリをクローン
16
+ git clone https://huggingface.co/spaces/hajimemat/glaive-7b-training
17
+ cd glaive-7b-training
18
+
19
+ # 2. 仮想環境作成(推奨)
20
+ python -m venv venv
21
+ source venv/bin/activate # Windows: venv\Scripts\activate
22
+
23
+ # 3. 依存パッケージインストール
24
+ pip install -r requirements.txt
25
+
26
+ # 4. HuggingFaceにログイン(モデルアップロード用)
27
+ huggingface-cli login
28
+ ```
29
+
30
+ ## 学習実行
31
+
32
+ ```bash
33
+ python train.py
34
+ ```
35
+
36
+ ### 学習中の出力例
37
+ ```
38
+ [14:30:15] Step 100/7000 (1.4%) | Loss: 1.2345 | LR: 9.85e-05 | Elapsed: 00:15:30 | ETA: 02:45:00
39
+ [14:30:45] Step 110/7000 (1.6%) | Loss: 1.1890 | LR: 9.80e-05 | Elapsed: 00:16:00 | ETA: 02:44:30
40
+ ```
41
+
42
+ ### チェックポイント
43
+ - 500ステップごとに `./checkpoints/` に自動保存
44
+ - 中断しても再実行で自動再開
45
+
46
+ ## 学習完了後
47
+
48
+ ### 1. LoRAマージ + AWQ量子化
49
+ ```bash
50
+ python merge_and_quantize.py
51
+ ```
52
+
53
+ 出力:
54
+ - `./merged_model/` - マージ済みモデル(約15GB)
55
+ - `./quantized_model/` - AWQ量子化済み(約5GB)
56
+ - HFに自動アップロード: `hajimemat/qwen2.5-7b-glaive-fc-awq`
57
+
58
+ ### 2. vLLMでテスト(オプション)
59
+ ```bash
60
+ # 量子化モデルをローカルでテスト
61
+ pip install vllm
62
+ python -m vllm.entrypoints.openai.api_server \
63
+ --model ./quantized_model \
64
+ --port 8000
65
+ ```
66
+
67
+ ## トラブルシューティング
68
+
69
+ ### CUDA Out of Memory
70
+ バッチサイズを下げる(train.py内):
71
+ ```python
72
+ per_device_train_batch_size=1, # 2→1に変更
73
+ gradient_accumulation_steps=32, # 16→32に変更
74
+ ```
75
+
76
+ ### 学習が遅い
77
+ gradient_checkpointingを確認(メモリと速度のトレードオフ)
78
+
79
+ ### HFアップロード失敗
80
+ 手動でアップロード:
81
+ ```bash
82
+ huggingface-cli upload hajimemat/qwen2.5-7b-glaive-fc-lora ./output/final
83
+ ```
84
+
85
+ ## 推定時間
86
+
87
+ | GPU | 時間 |
88
+ |-----|------|
89
+ | RTX 3090 | 5-7時間 |
90
+ | RTX 4090 | 3-5時間 |
91
+ | A100 | 2-3時間 |
92
+
93
+ ## ファイル構成
94
+
95
+ ```
96
+ glaive-7b-training/
97
+ ├── train.py # 学習スクリプト
98
+ ├── merge_and_quantize.py # マージ・量子化スクリプト
99
+ ├── requirements.txt # 依存パッケージ
100
+ ├── checkpoints/ # チェックポイント(自動生成)
101
+ ├── output/final/ # 最終LoRA(自動生成)
102
+ ├── merged_model/ # マージ済み(自動生成)
103
+ └── quantized_model/ # AWQ量子化済み(自動生成)
104
+ ```