| | --- |
| | base_model: Qwen/Qwen3-4B-Instruct-2507 |
| | datasets: |
| | - u-10bei/dpo-dataset-qwen-cot |
| | language: |
| | - en |
| | license: apache-2.0 |
| | library_name: transformers |
| | pipeline_tag: text-generation |
| | tags: |
| | - dpo |
| | - unsloth |
| | - qwen |
| | - alignment |
| | --- |
| | |
| | # lora-structeval-sft-0205-merged-v2 |
| |
|
| | This model is a fine-tuned version of **Qwen/Qwen3-4B-Instruct-2507** using **Direct Preference Optimization (DPO)** via the **Unsloth** library. |
| |
|
| | This repository contains a **LoRA adapter** trained with DPO on top of the SFT adapter. |
| | You need to load the base model and then load this adapter using PEFT. |
| |
|
| | ## Training Objective |
| | This model has been optimized using DPO to align its responses with preferred outputs, focusing on improving reasoning (Chain-of-Thought) and structured response quality based on the provided preference dataset. |
| |
|
| | ## Training Configuration |
| | - **Base model**: Qwen/Qwen3-4B-Instruct-2507 |
| | - **Method**: DPO (Direct Preference Optimization) |
| | - **Epochs**: 1 |
| | - **Learning rate**: 5e-08 |
| | - **Beta**: 0.05 |
| | - **Max sequence length**: 1024 |
| | - **LoRA Config**: r=8, alpha=16 (merged into base) |
| |
|
| | ## Usage |
| | Since this is a merged model, you can use it directly with `transformers`. |
| |
|
| | ```python |
| | from transformers import AutoModelForCausalLM, AutoTokenizer |
| | import torch |
| | |
| | model_id = "lora-structeval-sft-0205-merged-v2" |
| | |
| | tokenizer = AutoTokenizer.from_pretrained(model_id) |
| | model = AutoModelForCausalLM.from_pretrained( |
| | model_id, |
| | torch_dtype=torch.float16, |
| | device_map="auto" |
| | ) |
| | |
| | # Test inference |
| | prompt = "Your question here" |
| | |
| | messages = [ |
| | {"role": "user", "content": prompt} |
| | ] |
| | |
| | text = tokenizer.apply_chat_template( |
| | messages, |
| | tokenize=False, |
| | add_generation_prompt=True, |
| | ) |
| | |
| | inputs = tokenizer( |
| | text, |
| | return_tensors="pt", |
| | ).to("cuda") |
| | |
| | outputs = model.generate(**inputs, max_new_tokens=512) |
| | print(tokenizer.decode(outputs[0], skip_special_tokens=True)) |
| | |
| | |
| | ``` |
| |
|
| | ## Sources & License (IMPORTANT) |
| |
|
| | * **Training Data**: [u-10bei/dpo-dataset-qwen-cot] |
| | * **License**: MIT License. (As per dataset terms). |
| | * **Compliance**: Users must follow the original base model's license terms. |
| |
|