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
metadata
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 trained with On-Policy Self-Adaptation (OPSA).

  • 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 · Code · Collection

Usage

Install torch, accelerate, and transformers>=4.57.1.

Use the Qwen chat template with enable_thinking=False.

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))