Model: koguma-ai/sft-dpo-qwen-cot-merged0207_unsloth_03 Source: Original Platform
base_model, datasets, language, license, library_name, pipeline_tag, tags
| base_model | datasets | language | license | library_name | pipeline_tag | tags | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| unsloth/Qwen3-4B-Instruct-2507 |
|
|
apache-2.0 | transformers | text-generation |
|
koguma-ai/sft-dpo-qwen-cot-merged0207_unsloth_03
This model is a fine-tuned version of unsloth/Qwen3-4B-Instruct-2507 using a two-stage training pipeline: SFT (Supervised Fine-Tuning) followed by DPO (Direct Preference Optimization) via the Unsloth library.
This repository contains the full-merged 16-bit weights. No adapter loading is required.
Training Pipeline
Stage 1: SFT (Supervised Fine-Tuning)
The base model was first fine-tuned with SFT to learn structured output generation and Chain-of-Thought reasoning.
- Dataset: u-10bei/structured_data_with_cot_dataset_512_v2
- LoRA Config: r=64, alpha=128, dropout=0
- Target modules: q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
- Learning rate: 1e-6
- Epochs: 1
- Max sequence length: 512
- Loss strategy: Assistant-only loss with CoT masking (Output marker)
- SFT LoRA adapter: koguma-ai/sft-dpo-qwen-cot-merged0207_unsloth_03
Stage 2: DPO (Direct Preference Optimization)
The SFT-trained LoRA was merged into the base model, then a new LoRA adapter was applied for DPO training to further align the model with preferred outputs.
- Dataset: u-10bei/dpo-dataset-qwen-cot
- LoRA Config: r=8, alpha=16, dropout=0
- Learning rate: 1e-07
- Epochs: 1
- Beta: 0.1
- Max sequence length: 1024
- Optimizer: AdamW 8-bit
Usage
Since this is a merged model, you can use it directly with transformers.
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "koguma-ai/sft-dpo-qwen-cot-merged0207_unsloth_03"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.float16,
device_map="auto"
)
prompt = "Your question here"
inputs = tokenizer.apply_chat_template(
[{"role": "user", "content": prompt}],
tokenize=True,
add_generation_prompt=True,
return_tensors="pt"
).to("cuda")
outputs = model.generate(inputs, max_new_tokens=512)
print(tokenizer.decode(outputs[0]))
Sources & License
- SFT Data: u-10bei/structured_data_with_cot_dataset_512_v2
- DPO Data: u-10bei/dpo-dataset-qwen-cot
- License: Apache 2.0 (as per base model terms)
- Compliance: Users must follow the original base model's license terms.
Description
Languages
Jinja
100%