Text Generation
Safetensors
English
qwen3
agent
code
conversational
Qwen3-4B-AgentCoder / README.md
br1-pist's picture
Update README.md
80c2a22 verified
|
Raw
History Blame Contribute Delete
6.74 kB
---
license: apache-2.0
datasets:
- interstellarninja/hermes_reasoning_tool_use
- ise-uiuc/Magicoder-OSS-Instruct-75K
- open-thoughts/OpenThoughts-114k
language:
- en
base_model:
- Qwen/Qwen3-4B-Thinking-2507
pipeline_tag: text-generation
tags:
- agent
- code
metrics:
- code_eval
- accuracy
---
# 🧠 Qwen3-4B-AgentCoder
### A Fine-Tuned Model for Enhanced Tool Calling, Code Generation, and Reasoning
- **Author:** Bruno Pistone
- **Repository:** [br1-pist/Qwen3-4B-AgentCoder](https://huggingface.co/br1-pist/Qwen3-4B-AgentCoder)
- **License:** Apache 2.0
- **Base model:** [Qwen/Qwen3-4B-Thinking-2507](https://huggingface.co/Qwen/Qwen3-4B-Thinking-2507)
---
## Model Description
**Qwen3-4B-AgentCoder** is a fine-tuned version of the Qwen3-4B-Thinking-2507 model, optimized for:
- 🧮 Complex reasoning tasks
- 🧰 Tool calling
- 💻 Code generation
The model was developed through **sequential fine-tuning**, followed by a **Direct Preference Optimization (DPO)** post-training stage to improve alignment, coherence, and reasoning accuracy.
### Highlights
- Fine-tuned on **three specialized datasets**
- Retains **thinking-mode** behavior with long-context reasoning (~264K tokens)
- Post-trained with **DPO** using *chosen/rejected* pairs for better alignment
- Excellent balance between **tool use**, **code generation**, and **reasoning**
---
## 🚀 Direct Use
Qwen3-4B-AgentCoder can be used directly for:
- ✅ Tool calling in complex reasoning tasks
- ✅ Code generation for Python, JS, and other languages
- ✅ Multi-domain reasoning (math, logic, Q&A)
### ⚠️ Out-of-Scope Use
- ❌ Highly sensitive or confidential data
- ❌ Domains requiring expert-level specialization
- ❌ Tasks where full explainability is mandatory
---
## 💻 Getting Started
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_name = "br1-pist/Qwen3-4B-AgentCoder"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
prompt = "Give me a short introduction to large language models."
messages = [{"role": "user", "content": prompt}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(**model_inputs, max_new_tokens=1024)
output = tokenizer.decode(generated_ids[0], skip_special_tokens=True)
print(output)
```
---
## 🧠 Training Details
### Training Procedure
#### Phase 1 — Supervised Fine-Tuning
- Learning rate: `1e-5`
- Batch size: `4`
- Gradient accumulation: `4`
- Epochs: `3`
- Warmup steps: `100`
- Weight decay: `0.01`
- Sequence length: ~2.4K tokens
##### Training Data
- `interstellarninja/hermes_reasoning_tool_use` (~51K) — multi-turn tool use
#### Phase 2 — Sequential Fine-Tuning (Supervised)
- Learning rate: `3e-5`
- Batch size: `1`
- Gradient accumulation: `8`
- Epochs: `2`
- Warmup steps: `100`
- Weight decay: `0.05`
- Sequence length: ~13K tokens
##### Training Data
- `ise-uiuc/Magicoder-OSS-Instruct-75K` (~38K) — code generation
- `open-thoughts/OpenThoughts-114k` (~37K) — general reasoning
- `interstellarninja/hermes_reasoning_tool_use` (~30K) — tool use
- `custom/dpo-toolcode-alignment` (~15K) — DPO preference pairs
#### Phase 3 — Post-Training - Direct Preference Optimization (DPO)
After sequential fine-tuning, the model underwent a **DPO** phase to enhance response alignment, reasoning robustness, and factual consistency.
- Learning rate: `1e-6`
- Batch size: `2`
- Gradient accumulation: `8`
- Epochs: `5`
- Beta: 0.2
- Loss type: `sigmoid`
- Warmup steps: `2`
- Sequence length: ~1.5K tokens
##### DPO Data
- ~1.5K chosen/rejected response pairs
- *Rejected* samples synthetically generated to represent poor or incoherent answers
- *Chosen* samples verified or automatically ranked for quality and correctness
**Objective**
- Encourage the model to prefer *chosen* completions
- Improve clarity, correctness, and helpfulness
- Reduce hallucinations and verbosity
---
## 📊 Evaluation
The model was evaluated on multiple benchmarks to assess its capabilities across different domains:
| Benchmark | Score | Details |
|-----------|-------|---------|
| **HumanEval** | 72.0% | Base tests |
| **HumanEval+** | 68.5% | Base + extra tests |
| **GSM8K** | 82.0% | 1082/1319 correct |
| **MMLU** | 77.7% | 1190/1531 correct (validation split) |
| **Multi-turn Tool Calling** | 70.0% | 70/100 correct |
### Evaluation Datasets
- **HumanEval/HumanEval+**: `openai/openai_humaneval` - 164 hand-written programming problems
- **GSM8K**: `openai/gsm8k` (test split) - 1,319 grade school math word problems
- **MMLU**: `cais/mmlu` (validation split) - 1,531 multiple-choice questions across 57 subjects
- **Tool Calling**: Custom dataset - 100 tool calling scenarios
### Evaluation Factors
- Tool calling accuracy
- Code generation quality
- General reasoning performance
- Alignment and factual consistency (post-DPO)
### Observations
- DPO improved reasoning precision and response coherence
- Code generation accuracy increased in structured programming tasks
- Reduced non-determinism in multi-step tool use
---
## 🖥️ Technical Specifications
### Model Architecture
- Model type: Causal language model
- Parameters: 4.0B
- Context length: ~264K tokens
- Thinking mode: Enabled
### Compute Infrastructure
**Hardware**
- GPU: NVIDIA H100 (80 GB VRAM)
- System RAM: 2 TiB
- Memory per vCPU: 10.67 GiB
**Software**
- Python: 3.12
- Transformers: 4.55.0
- Libraries: `bitsandbytes`, `safetensors`, `torch`, `trl`, `scikit-learn`, `tokenizers`, `psutil`, `py7zr`
---
## 🧾 Citation
**BibTeX**
```bibtex
@article{qwen3-4b-thinking-2507-toolcode,
title={Qwen3-4B-AgentCoder: A Fine-Tuned Model for Enhanced Tool Calling, Code Generation, and Reasoning},
author={Bruno Pistone},
year={2025},
journal={Hugging Face Model Hub}
}
```
**APA**
> Bruno Pistone. (2025). *Qwen3-4B-AgentCoder: A Fine-Tuned Model for Enhanced Tool Calling, Code Generation, and Reasoning.* Hugging Face Model Hub. https://huggingface.co/br1-pist/Qwen3-4B-AgentCoder
---
## 🧭 Recommendations
- Tool use accuracy depends on task complexity
- Code generation may occasionally produce minor syntax issues
- Reasoning strongest in structured, logical, and mathematical contexts
- Avoid using this model for confidential or safety-critical applications
---
<p align="center">
<b>🧠 Qwen3-4B-AgentCoder — created by Bruno Pistone</b><br>
<i>Enhanced reasoning, tool calling, and code generation — refined with DPO alignment</i>
</p>