|
--- |
|
--- |
|
base_model: llm-jp/llm-jp-3-13b |
|
tags: |
|
- text-generation-inference |
|
- transformers |
|
- unsloth |
|
- llama |
|
- trl |
|
license: cc-by-nc-sa-4.0 |
|
language: |
|
- ja |
|
--- |
|
# Uploaded model |
|
- **Developed by:** momo0729 |
|
- **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. |
|
--- |
|
## **Model Card: Instruction-Tuned Base Model** |
|
### **Model Overview** |
|
- **Model Name**: `"llm-jp-3-13b-it"` |
|
- **Description**: このモデルは、日本語対応の大規模言語モデル「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: T4 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. **トレーニング実行**: |
|
- 学習進行状況を100ステップごとに記録。 |
|
--- |
|
### **Usage Example** |
|
以下は、このモデルを使用して指示応答を生成する方法です。 |
|
```python |
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
# モデルとトークナイザーのロード |
|
model_name = "momo0729/llm-jp-3-13b-it" |
|
tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
model = AutoModelForCausalLM.from_pretrained(model_name) |
|
# 指示応答生成 |
|
instruction = "次の文章を要約してください。" |
|
prompt = f"### 指示 |
|
{} ステップバイステップで考えて。深呼吸して考えてください。 |
|
### 回答 |
|
{}" |
|
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微調整を実現) |
|
--- |