初始化项目,由ModelHub XC社区提供模型
Model: willhx/Qwen3-8B-Base-Math-SeaSFT-Search-EOPD-Tau Source: Original Platform
This commit is contained in:
71
README.md
Normal file
71
README.md
Normal file
@@ -0,0 +1,71 @@
|
||||
---
|
||||
license: apache-2.0
|
||||
base_model: Qwen/Qwen3-8B-Base
|
||||
library_name: transformers
|
||||
pipeline_tag: text-generation
|
||||
tags:
|
||||
- qwen3
|
||||
- on-policy-distillation
|
||||
- eopd
|
||||
- search
|
||||
- tool-use
|
||||
- agent
|
||||
---
|
||||
|
||||
# Qwen3-8B-Base-Math-SeaSFT-Search-EOPD-Tau
|
||||
|
||||
An 8B agentic model trained with **Entropy-Aware On-Policy Distillation (EOPD)** in a
|
||||
multi-stage RL pipeline, built on **Qwen3-8B-Base**. This checkpoint is the final iteration
|
||||
(`iter_0000300`) of the Search-domain EOPD run.
|
||||
|
||||
## Training pipeline
|
||||
|
||||
| Stage | Description |
|
||||
|-------|-------------|
|
||||
| Base | `Qwen/Qwen3-8B-Base` |
|
||||
| SFT | Math + Search cold-start SFT, then Tau (tool-agent) SFT — student init `Qwen3-8B-Base-Math-SeaSFT-Search-TauSFT-Tau` |
|
||||
| EOPD | On-policy distillation from a **Search specialist teacher** (`Qwen3-8B-Base-Math-SeaSFT-Search`) |
|
||||
|
||||
## Method: Entropy-Aware On-Policy Distillation (EOPD)
|
||||
|
||||
EOPD combines two KL directions to get the best of mode-seeking and mode-covering distillation:
|
||||
|
||||
- **Reverse-KL OPD** everywhere (mode-seeking): the sampled-token log-ratio
|
||||
`student_logp − teacher_logp` is subtracted from the advantage, sharpening the student
|
||||
toward the teacher's modes.
|
||||
- **Forward-KL on high-entropy teacher tokens** (mode-covering): where reverse KL alone
|
||||
collapses diversity, a differentiable forward-KL loss
|
||||
`KL(p̃_teacher_topk ‖ p̃_student_topk)` is added, gated by the teacher's per-token entropy
|
||||
(`1[H_teacher > τ]`) and computed over the teacher's renormalized top-k (k=16) distribution.
|
||||
|
||||
The teacher is served with SGLang and returns both the scalar sampled-token logprob (reverse
|
||||
KL) and the per-token top-k distribution + entropy (forward KL). Training was done with the
|
||||
[slime](https://github.com/THUDM/slime) RL framework on Megatron-LM; this repo is the
|
||||
Hugging Face `safetensors` export of the final checkpoint.
|
||||
|
||||
## Architecture
|
||||
|
||||
Identical to Qwen3-8B-Base: 36 layers, hidden size 4096, 32 attention heads, 8 KV heads (GQA),
|
||||
head dim 128, QK-LayerNorm, RMSNorm, SwiGLU, RoPE (θ=1e6), 151,936 vocab, 32,768 context.
|
||||
|
||||
## Usage
|
||||
|
||||
```python
|
||||
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||||
|
||||
model_id = "willhx/Qwen3-8B-Base-Math-SeaSFT-Search-EOPD-Tau"
|
||||
tok = AutoTokenizer.from_pretrained(model_id)
|
||||
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="bfloat16", device_map="auto")
|
||||
|
||||
prompt = "Who won the Nobel Prize in Physics in 1921?"
|
||||
inputs = tok(prompt, return_tensors="pt").to(model.device)
|
||||
out = model.generate(**inputs, max_new_tokens=256)
|
||||
print(tok.decode(out[0], skip_special_tokens=True))
|
||||
```
|
||||
|
||||
The model is trained for a search/tool-use agent loop (Search-R1 style retrieval); to reproduce
|
||||
the agentic behavior, drive it with the same tool prompt/format used during training.
|
||||
|
||||
## License
|
||||
|
||||
Apache-2.0, inherited from Qwen3-8B-Base.
|
||||
Reference in New Issue
Block a user