Rakushaking's picture
Update README.md
453636c verified
---
license: apache-2.0
datasets:
- Chottokun/databricks-dolly-15k-ja-gal
language:
- ja
tags:
- unsloth
- peft
- lora
- sft
- trl
- torch
- datasets
- bitsandbytes
- 4bit
- gguf
- q8_0
- colab
- chat-template
- fastlanguagemodel
base_model:
- unsloth/gpt-oss-20b-GGUF
---
## モデルの詳細 (Model Details)
### モデルの説明 (Model Description)
- 開発者: YU SANOGAWA
- モデルタイプ: LLM
- 対応言語 (NLP): 日本語, 英語(学習データに依存)
- ファインチューニング元のモデル : unslotgh/gpt-oss-20b
---
## 利用方法 (Uses)
### 直接利用 (Direct Use)
- テキスト生成
- チャットボット
- 指示応答(Instruction Following)
### 下流での利用 (Downstream Use)
- 専門ドメインへの追加チューニング
- アプリケーションへの統合(例: Q&A システム, サポートチャット)
### 利用対象外 (Out-of-Scope Use)
- 有害コンテンツの生成(差別, 偽情報, 違法行為に関する利用)
- 医療・法律など人命や重大な決定に関わる用途
---
## バイアス・リスク・制約 (Bias, Risks, and Limitations)
- 学習データに依存したバイアスが含まれる可能性がある
- 応答に誤情報や不正確な知識を含む可能性がある
- 英語以外の性能はデータ量に依存する
---
## 推奨事項 (Recommendations)
- 出力はそのまま利用せず、人間のレビューを行うこと
- 下流利用者には、バイアス・リスクの存在を明示すること
---
## モデルの利用開始方法 (How to Get Started with the Model)
```python
from transformers import AutoTokenizer
from trl import SFTTrainer
from peft import PeftModel
# モデルとトークナイザの読み込み
tokenizer = AutoTokenizer.from_pretrained("モデル名")
model = PeftModel.from_pretrained("ベースモデル", "LoRA重み")
# Trainer の設定
trainer = SFTTrainer(
model=model, # 場合によっては model.base_model を渡す
tokenizer=tokenizer,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
)
```
⚠️ 注意: `AttributeError: 'PeftModel' object has no attribute '_flag_for_generation'` が出る場合は、
- `transformers`, `peft`, `trl` を最新版にアップデート
- または `model=model.base_model` を渡す
で解決可能です。
---
## 学習の詳細 (Training Details)
### 学習データ (Training Data)
- Datasetを参照
### 学習手順 (Training Procedure)
- LoRA を用いたパラメータ効率的なファインチューニング
- `trl.SFTTrainer` を利用
### 学習ハイパーパラメータ (Training Hyperparameters)
- 学習スキーム: SFT (Supervised Fine-Tuning)
- 学習率: **2e-4**
- バッチサイズ(デバイスあたり): **2** (`per_device_train_batch_size=2`)
- 勾配累積: **4** (`gradient_accumulation_steps=4`)
- 有効バッチサイズ(参考): `2 × 4 × #GPU` 例)単一GPUなら **8**
- エポック数: **未固定(`max_steps=60` を指定)**
- 早期検証用に **総ステップ数 60** で打ち切り
- ウォームアップ: **5 steps** (`warmup_steps=5`)
- 最適化手法: **AdamW 8-bit**(`optim="adamw_8bit"`)
- Weight Decay: **0.01**
- スケジューラ: **linear**(`lr_scheduler_type="linear"`)
---
## 技術仕様 [任意] (Technical Specifications)
- **モデルアーキテクチャと目的**: Transformer, Causal LM
- **計算インフラ**: GPU クラスタ
- **GPU SPEC**: A100 by google colabolatory