GPT-OSS 20B Japanese Math Reasoning Model
このモデルは openai/gpt-oss-20b をベースとして、日本語の数学的推論タスクに特化してファインチューンされたモデルです。 TRL を使用してSupervised Fine-Tuning (SFT) で訓練されています。
特徴
- ベースモデル: openai/gpt-oss-20b (20B パラメータ)
- ファインチューニング手法: LoRA (Low-Rank Adaptation)
- 対象タスク: 日本語での数学的推論・計算問題
- 訓練手法: Supervised Fine-Tuning (SFT)
必要な依存関係
pip install torch>=2.8.0
pip install transformers>=4.55.0
pip install peft>=0.17.0
基本的な使用方法
1. モデルのダウンロードと読み込み
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
# ベースモデルとトークナイザーの読み込み
model_name = "openai/gpt-oss-20b"
tokenizer = AutoTokenizer.from_pretrained(model_name)
# モデル設定
model_kwargs = {
"attn_implementation": "eager",
"torch_dtype": "auto",
"use_cache": True,
"device_map": "auto"
}
# ベースモデルの読み込み
base_model = AutoModelForCausalLM.from_pretrained(model_name, **model_kwargs)
# ファインチューンされたアダプターの読み込み
peft_model_id = "kattyan/gpt-oss-20b-japanese-math-reasoning"
model = PeftModel.from_pretrained(base_model, peft_model_id)
# アダプターをマージして単一のモデルにする(オプション)
model = model.merge_and_unload()
2. 推論の実行
def generate_response(prompt, max_new_tokens=1000, temperature=0.6):
"""
プロンプトに対してモデルの応答を生成
"""
messages = [
{"role": "user", "content": prompt},
]
# チャットテンプレートを適用
input_ids = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt",
).to(model.device)
# 生成設定
gen_kwargs = {
"max_new_tokens": max_new_tokens,
"do_sample": True,
"temperature": temperature
}
# テキスト生成
output_ids = model.generate(input_ids, **gen_kwargs)
response = tokenizer.batch_decode(output_ids)[0]
return response
# 使用例
prompt = "1から10までの整数の合計を求めてください。"
response = generate_response(prompt)
print(response)
Pipeline を使用した簡単な使用方法
from transformers import pipeline
# パイプラインの作成
generator = pipeline(
"text-generation",
model="kattyan/gpt-oss-20b-japanese-math-reasoning",
device_map="auto"
)
# 推論の実行
prompt = "3つの連続する整数の和が15のとき、それらの整数を求めてください。"
output = generator(
[{"role": "user", "content": prompt}],
max_new_tokens=300,
return_full_text=False,
temperature=0.6
)[0]
print(output["generated_text"])
訓練情報
データセット
日本語の数学的推論問題を含むデータセットでファインチューニング
フレームワークバージョン
- PEFT: 0.17.0
- TRL: 0.21.0
- Transformers: 4.55.0
- PyTorch: 2.8.0
- Python: >=3.12
LoRA設定
- ランク (r): 8
- Alpha: 16
- ドロップアウト: 0.0
- 対象モジュール: k_proj, o_proj, q_proj, v_proj
Training Logs
注意事項
- このモデルは研究・教育目的での使用を想定しています
- 生成される回答の正確性は保証されません
- 重要な計算や判断には必ず検証を行ってください
- GPU メモリが不足する場合は、
device_map="auto"
やtorch_dtype="auto"
を調整してください
ライセンス
ベースモデル openai/gpt-oss-20b のライセンスに従います。 ```
- Downloads last month
- 11
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
🙋
Ask for provider support
Model tree for kattyan/gpt-oss-20b-japanese-math-reasoning
Base model
openai/gpt-oss-20b