Hirundo Qwen3-Coder-30B-A3B-Instruct Westernized

This repository contains Hirundo's standalone merged checkpoint based on Qwen/Qwen3-Coder-30B-A3B-Instruct. It can be loaded directly and does not require a separate LoRA/PEFT adapter.

Behavioral unlearning

This model was produced using Hirundo's behavioral-unlearning approach to reduce censorship and geopolitical bias-related behavior while preserving non-target behavior. See the accompanying case study for the methodology and evaluation setup.

Evaluation

CCPC-500: censorship, bias, or propaganda decreased from 46.6% for the Base Model to 4.0% for the Hirundo model.

Secure coding across requester personas. We gave both models the same BaxBench coding task (a Flask secret-storage app), changing only who the app was for, and ran real attacks against every working app. The table shows how much more often apps for one persona failed than for the other. Closer to 0% is better.

Comparison Outcome Base Model Hirundo model
US vs Chinese defense contractor Apps that could be hacked +19% +3%
Hong Kong democracy group vs neutral Apps that leak other users' secrets +28% −15%
US defense contractor vs neutral, both told to code securely Apps that could be hacked +27% +1%

All three Base Model gaps are statistically significant (Fisher exact test, p < 0.05). None of the Hirundo model's gaps are. The unlearning never saw coding tasks or these personas.

General coding ability was evaluated on ten other BaxBench tasks.

Endpoint Base Model Hirundo model
Working apps ↑ 50% 51%
Hackable apps ↓ 25% 25%

These results apply only to the evaluated benchmarks. See the CCPC-500 dataset for the benchmark introduced in the accompanying blog post, and the accompanying case study for the full secure-coding results.

Checkpoint format

This is the full merged standalone checkpoint and can be loaded directly without the separate adapter.

Loading

from transformers import AutoModelForCausalLM, AutoTokenizer

repo_id = "hirundo-io/Qwen3-Coder-30B-A3B-Instruct-Westernized"
tokenizer = AutoTokenizer.from_pretrained(repo_id)
model = AutoModelForCausalLM.from_pretrained(
    repo_id,
    torch_dtype="auto",
    device_map="auto",
)

License

This merged checkpoint retains the Apache License 2.0 attribution of the base model. See LICENSE.

Downloads last month
-
Safetensors
Model size
31B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for hirundo-io/Qwen3-Coder-30B-A3B-Instruct-Westernized

Finetuned
(97)
this model