Downloads · 30 days
12
4% of all-time downloads
HuiyuWang/dpo-qwen-cot-merged
dpo-qwen-cot-merged is a text generation model from HuiyuWang. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
This repository provides a multi-stage fine-tuned version of Qwen3-4B-Instruct-2507.
Downloads · 30 days
12
4% of all-time downloads
All-time downloads
268
Public
Parameters
4B
16.1 GB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors8 GB · 100%
From the Hugging Face model README
This repository provides a multi-stage fine-tuned version of Qwen3-4B-Instruct-2507.
The training pipeline consists of:
The LoRA adapters have been merged into the base model. This repository contains the final merged full-precision weights.
Base model: Qwen/Qwen3-4B-Instruct-2507
Dataset: u-10bei/structured_data_with_cot_dataset_512_v5
Configuration:
Dataset: daichira/structured-hard-sft-4k
Configuration:
This stage improves robustness on difficult structured transformation tasks.
Dataset: u-10bei/dpo-dataset-qwen-cot
Configuration:
The objective is to align the model toward preferred Chain-of-Thought reasoning patterns using (prompt, chosen, rejected) preference data.
All LoRA adapters have been merged into the base model.
No PEFT loading is required.
This model is designed for:
This work explores multi-stage fine-tuning combining:
The training was performed using the Unsloth library for memory-efficient 4-bit fine-tuning.
This model follows the license of the base model:
Qwen/Qwen3-4B-Instruct-2507
Users must comply with the original base model license.
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "HuiyuWang/dpo-qwen-cot-merged"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
prompt = "Solve the following problem step by step: ..."
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(
**inputs,
max_new_tokens=512,
temperature=0.7,
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))