|
--- |
|
base_model: llm-jp/llm-jp-3-13b |
|
tags: |
|
- text-generation-inference |
|
- transformers |
|
- unsloth |
|
- llama |
|
- trl |
|
license: apache-2.0 |
|
language: |
|
- en |
|
--- |
|
|
|
# Uploaded model |
|
|
|
- **Developed by:** godellog |
|
- **License:** CC-BY-NC-SA 4.0 |
|
- **Finetuned from model :** llm-jp/llm-jp-3-13b |
|
|
|
This llama model was trained 2x faster with [Unsloth](https://github.com/unslothai/unsloth) and Huggingface's TRL library. |
|
|
|
[<img src="https://raw.githubusercontent.com/unslothai/unsloth/main/images/unsloth%20made%20with%20love.png" width="200"/>](https://github.com/unslothai/unsloth) |
|
--- |
|
## **Model Card: Instruction-Tuned Base Model** |
|
### **Model Overview** |
|
- **Model Name**: `llm-jp-3-13b-it` |
|
- **Description**: このモデルは、日本語ベースの大規模言語モデル(13B)`llm-jp-3-13b`を基に、指示応答形式でのInstruction Tuningを行ったものです。 |
|
- **Base Model**: `llm-jp-3-13b` |
|
- **Fine-Tuning Objective**: 指示文(instruction)に対する適切な応答(response)を生成する能力を向上させるための微調整。 |
|
--- |
|
### **Datasets** |
|
- **Training Dataset**: |
|
- データセット名: `ichikara-instruction-003-001-1.json` |
|
- 総データ数: 約1700件 |
|
- フォーマット例: |
|
```plaintext |
|
{ |
|
"text": "文章の要約を生成してください。", |
|
"output": "この文章の要約です。" |
|
} |
|
``` |
|
- **フォーマット変換後**: |
|
``` |
|
### 指示 |
|
文章の要約を生成してください。 |
|
### 回答 |
|
この文章の要約です。 |
|
``` |
|
--- |
|
### **Training Configuration** |
|
- **Hardware**: |
|
- GPU: L4 24GB(1枚) |
|
- **Hyperparameters**: |
|
- `per_device_train_batch_size`: 2 |
|
- `gradient_accumulation_steps`: 4 |
|
- `num_train_epochs`: 1 |
|
- `learning_rate`: 2e-4 |
|
- `fp16`: 使用 |
|
- `bf16`: 使用(ハードウェアでサポートされる場合) |
|
- `max_seq_length`: 512 |
|
- **Optimizer and Scheduler**: |
|
- Optimizer: AdamW |
|
- Learning Rate Scheduler: Linear with warmup |
|
- Warmup Steps: 10 |
|
--- |
|
### **Fine-Tuning Process** |
|
1. **データのロード**: |
|
- `ichikara-instruction-003-001-1.json`をロードし、`text`と`output`を使用してプロンプト形式に変換。 |
|
2. **モデル準備**: |
|
- ベースモデル: `llm-jp-3-13b`。 |
|
- LoRAアダプタを適用: |
|
- **Target Modules**: `q_proj`, `k_proj`, `v_proj`, `o_proj`, `gate_proj`, `up_proj`, `down_proj`。 |
|
- **LoRA Hyperparameters**: |
|
- `r=32` |
|
- `lora_alpha=32` |
|
- `lora_dropout=0.05` |
|
3. **トレーニング設定**: |
|
- 各データを512トークンでトークナイズ。 |
|
- 勾配累積(4ステップ)を利用して効果的なバッチサイズを確保。 |
|
4. **トレーニング実行**: |
|
- 学習進行状況を10ステップごとに記録。 |
|
- チェックポイントは2つまで保持し、それ以上は古いものを削除。 |
|
--- |
|
### **Usage Example** |
|
以下は、このモデルを使用して指示応答を生成する方法です。 |
|
|
|
```python |
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
# モデルとトークナイザーのロード |
|
model_name = "your-hf-username/llm-jp-3-13b-it" |
|
tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
model = AutoModelForCausalLM.from_pretrained(model_name) |
|
# 指示応答生成 |
|
instruction = "次の文章を要約してください。" |
|
prompt = f"### 指示\n{instruction}\n### 回答\n" |
|
inputs = tokenizer(prompt, return_tensors="pt") |
|
outputs = model.generate(**inputs, max_new_tokens=128) |
|
# 出力結果 |
|
response = tokenizer.decode(outputs[0], skip_special_tokens=True) |
|
print(response) |
|
``` |
|
--- |
|
### **License** |
|
- モデルおよびデータセットのライセンスに基づいて使用可能。 |
|
- |
|
--- |
|
### **Acknowledgements** |
|
このプロジェクトでは以下を利用しています: |
|
- **Hugging Face Transformers** |
|
- **Unsloth**(効率的なLoRA微調整を実現) |
|
|
|
|