YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
ファインチューニングと推論の実行手順
このリポジトリでは、**llm-jp/llm-jp-3-3.7b** モデルを用いたタスクのファインチューニングおよび推論を行うためのスクリプトを提供します。
必要な環境
- Python: 3.11
- ライブラリ:
torchtransformersdatasetstqdmpeft
必要なパッケージは以下のコマンドでインストールできます。
pip install torch transformers datasets tqdm peft
1. 実行ファイル一覧
1.1 train_v1.py: タスク実行用 (推論)
内容:
- モデル:
llm-jp/llm-jp-3-3.7b - 推論手順:
tasks.jsonlファイルを読み込み、モデルから生成された出力をoutput_v1.jsonlに保存します。 - 特徴:
- ビームサーチ:
num_beams=4を使用 - サンプリング:
do_sample=True、temperature=0.7で多様性を調整 - 反復ペナルティ:
repetition_penalty=1.2
- ビームサーチ:
実行方法:
python src/train_v1.py
入力:
data/tasks.jsonl
出力:
data/output_v1.jsonl
1.2 train_v2.py: LoRA モデル対応推論用
内容:
- モデル:
llm-jp/llm-jp-3-3.7b - LoRA (Low-Rank Adaptation) に対応したモデルの推論を行います。
- 入力データ:
tasks.jsonl - 出力: 生成結果を
output_v2.jsonlに保存します。
特徴:
- プロンプトに
### 指示\n...\n### 回答\n形式を採用。 - サンプリング:
do_sample=True、top_k=50でランダム性を調整。 - 最大トークン数:
max_new_tokens=200。
実行方法:
python src/train_v2.py
入力:
data/tasks.jsonl
出力:
data/output_v2.jsonl
2. データ形式
入力データ (tasks.jsonl)
{"task_id": 0, "input": "質問文や指示文"}
{"task_id": 1, "input": "別の質問文や指示文"}
出力データ (output_v1.jsonl, output_v2.jsonl)
{"task_id": 0, "input": "質問文や指示文", "output": "生成された回答"}
{"task_id": 1, "input": "別の質問文や指示文", "output": "生成された回答"}
3. 推奨設定
推論パラメータの比較
| パラメータ | train_v1.py | train_v2.py |
|---|---|---|
| 最大トークン数 | 200 | 200 |
| サンプリング | True | True |
| top_k | - | 50 |
| 温度 (temperature) | 0.7 | 0.7 |
| ビーム数 | 4 | - |
4. 注意事項
- モデルサイズ:
llm-jp/llm-jp-3-3.7bは比較的小さいモデルですが、それでもメモリ消費が大きいため、推論は CPU 環境での実行を推奨します。 - データセット: 入力データ (
tasks.jsonl) を適切に整形してください。 - LoRA 未使用:
train_v2.pyは LoRA に依存しないように改修済みです。
5. 実行結果
タスクの出力結果が data/output_v1.jsonl および data/output_v2.jsonl に保存されます。
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support