--- 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