Qwen3-4B-OPSA-Code / README.md
Tuwhy's picture
Upload OPSA code checkpoint step 259
631e4fd verified
|
Raw History Blame Contribute Delete
1.85 kB
---
library_name: transformers
license: apache-2.0
pipeline_tag: text-generation
base_model: Qwen/Qwen3-4B
base_model_relation: finetune
arxiv: 2608.31046
tags:
- opsa
- code
- text-generation
---
# Qwen3-4B-OPSA-Code
This repository contains the code-domain checkpoint of [Qwen/Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B) trained with [On-Policy Self-Adaptation (OPSA)](https://github.com/DripNowhy/On-Policy-Self-Adaptation).
- **Checkpoint:** step 259 (260 optimizer updates; zero-based checkpoint numbering).
- **Format:** full model weights in BF16 Safetensors, with configuration and tokenizer files.
- **License:** Apache 2.0, following the base model.
[Paper](https://arxiv.org/abs/2608.31046) · [Code](https://github.com/DripNowhy/On-Policy-Self-Adaptation) · [Collection](https://huggingface.co/collections/Tuwhy/on-policy-self-adaptation-6a62d0f36f1e42afa27c7215)
## Usage
Install `torch`, `accelerate`, and `transformers>=4.57.1`.
Use the Qwen chat template with `enable_thinking=False`.
```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "Tuwhy/Qwen3-4B-OPSA-Code"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
messages = [{"role": "user", "content": "Write a Python function that checks whether a string is a palindrome."}]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt", enable_thinking=False,
).to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=2048,
do_sample=True,
temperature=0.7,
top_p=0.8,
top_k=20,
)
print(tokenizer.decode(outputs[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True))
```