初始化项目,由ModelHub XC社区提供模型
Model: Lixiaojian123/qwen3-0.6b-sft Source: Original Platform
This commit is contained in:
97
README.md
Normal file
97
README.md
Normal file
@@ -0,0 +1,97 @@
|
||||
---
|
||||
language:
|
||||
- zh
|
||||
- en
|
||||
license: apache-2.0
|
||||
base_model: Qwen/Qwen3-0.6B-Base
|
||||
library_name: transformers
|
||||
pipeline_tag: text-generation
|
||||
tags:
|
||||
- qwen3
|
||||
- qwen3-0.6b
|
||||
- sft
|
||||
- trl
|
||||
- smoltalk2
|
||||
- instruction-tuned
|
||||
datasets:
|
||||
- HuggingFaceTB/smoltalk2
|
||||
---
|
||||
|
||||
# Qwen3-0.6B SFT on SmolTalk2
|
||||
|
||||
This model is a supervised fine-tuned version of `Qwen/Qwen3-0.6B-Base`.
|
||||
It was trained with TRL SFT on selected no-think splits from `HuggingFaceTB/smoltalk2`.
|
||||
|
||||
The chat template was copied from the Qwen3 Instruct tokenizer so the model can be used with the standard chat-message interface.
|
||||
|
||||
## Training
|
||||
|
||||
- Base model: `Qwen/Qwen3-0.6B-Base`
|
||||
- Method: full-parameter SFT
|
||||
- Framework: TRL / Transformers
|
||||
- Dataset: `HuggingFaceTB/smoltalk2`, config `SFT`
|
||||
- Splits:
|
||||
- `smoltalk_smollm3_smol_magpie_ultra_no_think`
|
||||
- `OpenHermes_2.5_no_think`
|
||||
- `tulu_3_sft_personas_instruction_following_no_think`
|
||||
- `smoltalk_smollm3_systemchats_30k_no_think`
|
||||
- Max length: 2048
|
||||
- Steps: 5000
|
||||
- Learning rate: 2e-5, cosine schedule, warmup ratio 0.03
|
||||
- Effective batch size: 64
|
||||
- Gradient clipping: 1.0
|
||||
|
||||
## Evaluation
|
||||
|
||||
The table below compares the official Qwen3-0.6B Instruct model against the official Base model using `lm-eval`.
|
||||
|
||||
| Task | Base | Instruct | Delta |
|
||||
| ---- | ---: | -------: | ----: |
|
||||
| `ifeval` | 16.27% | 43.62% | +27.36pp |
|
||||
| `truthfulqa_mc2` | 45.98% | 42.84% | -3.15pp |
|
||||
| `mmlu` | 50.46% | 40.26% | -10.20pp |
|
||||
| `arc_challenge` | 38.65% | 34.13% | -4.52pp |
|
||||
| `hellaswag` | 53.67% | 47.29% | -6.38pp |
|
||||
| `winogrande` | 58.56% | 56.35% | -2.21pp |
|
||||
| `gsm8k_cot` | 55.50% | 4.55% | -50.95pp |
|
||||
|
||||
The locally trained SFT checkpoint used as the DPO reference scored as follows:
|
||||
|
||||
| Task | SFT score |
|
||||
| ---- | --------: |
|
||||
| `ifeval` | 39.19% |
|
||||
| `truthfulqa_mc2` | 46.52% |
|
||||
| `mmlu` | 49.35% |
|
||||
| `arc_challenge` | 37.03% |
|
||||
| `hellaswag` | 53.36% |
|
||||
| `winogrande` | 57.93% |
|
||||
| `gsm8k_cot` | 48.37% |
|
||||
|
||||
## Usage
|
||||
|
||||
```python
|
||||
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||||
|
||||
model_id = "Lixiaojian123/qwen3-0.6b-sft"
|
||||
|
||||
tokenizer = AutoTokenizer.from_pretrained(model_id)
|
||||
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")
|
||||
|
||||
messages = [
|
||||
{"role": "user", "content": "用三句话解释什么是监督微调。"},
|
||||
]
|
||||
|
||||
inputs = tokenizer.apply_chat_template(
|
||||
messages,
|
||||
tokenize=True,
|
||||
add_generation_prompt=True,
|
||||
return_tensors="pt",
|
||||
).to(model.device)
|
||||
|
||||
outputs = model.generate(inputs, max_new_tokens=256)
|
||||
print(tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True))
|
||||
```
|
||||
|
||||
## Limitations
|
||||
|
||||
This is a small 0.6B parameter model. It may hallucinate, make reasoning mistakes, and fail on complex instructions. The model was trained primarily on no-think instruction data, so it is not intended to expose long chain-of-thought traces.
|
||||
Reference in New Issue
Block a user