SecureCoder 30B Pro v3 — merged

LoRA fine-tune of unsloth/Qwen3-Coder-30B-A3B-Instruct merged into full-weight safetensors, for code generation, tool calling and cybersecurity (offence and defence).

Licence: Apache-2.0 — commercial use permitted, following the base model.

⚠️ Quality not yet verified

v3 was retrained after v1 and v2 were found to emit the literal two-character sequence \n instead of real newlines, which made their Python fail ast.parse. The cause was JSON-escaped message text in parts of the training mix; it is fixed in Taimwe/securecoder-scripts.

Measured on the same prompts through the same harness:

Model valid Python
base unsloth/Qwen3-Coder-30B-A3B-Instruct 93.3%
securecoder-30b-pro-v2 0.0%

v3's own eval had not completed at the time of publishing. Treat the numbers above as context, not as a claim about this checkpoint. See HANDOFF.md.

Lineage

Stage Repo
Adapter (LoRA) Taimwe/securecoder-30b-pro-v3
Merged (this repo) Taimwe/securecoder-30b-pro-v3-merged
Training / merge / quantise scripts Taimwe/securecoder-scripts

Architecture

Architecture Qwen3MoeForCausalLM (qwen3_moe)
Parameters 30B total, ~3B active
Hidden size 2048
Context length 262,144
Precision bfloat16, 13 shards (~56.9 GB)

Quick start

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

MODEL = "Taimwe/securecoder-30b-pro-v3-merged"

tok = AutoTokenizer.from_pretrained(MODEL)
model = AutoModelForCausalLM.from_pretrained(
    MODEL, torch_dtype=torch.bfloat16, device_map="auto")

messages = [{"role": "user", "content": "Write a race-free file watcher in Rust."}]
inputs = tok.apply_chat_template(
    messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(inputs, max_new_tokens=512)
print(tok.decode(out[0][inputs.shape[-1]:], skip_special_tokens=True))

A 30B MoE needs a capable GPU. For a smaller download use the Q4_K_M GGUF once published.

Limitations

  • Produces working offensive-security code. Use only against systems you own or have written permission to test; you are responsible for its use.
  • Inherits Qwen3-Coder's biases; no independent safety red-teaming was run.
  • MoE inference stays memory-hungry even though only ~3B parameters are active per token.
  • Behaviour outside the training mix is unverified.
Downloads last month
98
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 Taimwe/securecoder-30b-pro-v3-merged

Finetuned
(6)
this model
Quantizations
2 models