Downloads · 30 days
13
16% of all-time downloads
freeqaz/decomp-synth-lifter-v13-chain-qwen3.5-9b-lora
decomp-synth-lifter-v13-chain-qwen3.5-9b-lora is a machine learning model from freeqaz. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for peft. The card lists the license as apache-2.0.
A LoRA adapter that tunes Qwen3.5-9B for single-shot byte-exact decompilation matching of PowerPC C++: given a target listing and a compiling-but-wrong source, emit source that compiles byte-identical. This is the pro…
Downloads · 30 days
13
16% of all-time downloads
All-time downloads
79
Public
Repo size
366 MB
Likes
0
Public
Click a slice to open those files.
.safetensors346 MB · 95%
From the Hugging Face model README
A LoRA adapter that tunes Qwen3.5-9B for single-shot byte-exact decompilation matching of PowerPC C++: given a target listing and a compiling-but-wrong source, emit source that compiles byte-identical. This is the project's headline single-turn 9B; for the multi-turn feedback-driven variant see v14-evalformat.
This adapter comes out of a campaign teaching fleets of AI coding agents to reconstruct shipped game binaries byte-for-byte — matching decompilation, the console-preservation community's gold standard: rewrite C++ until the original vintage compiler, at the original flags, reproduces the retail machine code exactly. In that campaign, agent swarms byte-matched over 44,000 functions of a stripped retail Xbox 360 binary in about ten weeks — with every proposal judged by the real compiler and objdiff, never by a model.
decomp-synth is the search-and-ML side of that system: an engine that searches behavior-preserving C++ rewrites against the real build, and mines its own verified attempts into training data. The "chain" in this adapter's name is that flywheel: its corpus includes byte-exact endpoints mined from the search engine's own verified repair chains. The design rule the whole system is built on: models propose, deterministic oracles dispose — a fuzzy match score is a search gradient and an adversary, and byte-exact recompilation is the only terminal judge.
Background reading, in order:
| base | Qwen/Qwen3.5-9B (apache-2.0) |
| method | LoRA r=32, α=64, dropout 0.05, bf16 |
| window | 20,480 tokens |
| corpus | 7,541 rows: X360 MSVC repair pairs + chain-mined byte-exact endpoints (incl. GameCube mwcc synthesis rows) |
| trained | 2026-08-17 |
| format | RAW completion (not chat) |
E3 instrument: 233 held-out functions (222 clean / 11 taint-flagged, reported separately), X360 MSVC substrate. k=20 draws, six repeat draws per condition (repeat-draw noise floor measured before any verdict):
An r=64 twin trained on the byte-identical corpus measured within the noise floor of this adapter at every operating point (rank is not the lever at 9B); it is released alongside as the r64 companion for anyone studying LoRA-capacity effects on a clean matched pair.
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3.5-9B", dtype="bfloat16", device_map="auto")
tok = AutoTokenizer.from_pretrained("Qwen/Qwen3.5-9B")
model = PeftModel.from_pretrained(base, "freeqaz/decomp-synth-lifter-v13-chain-qwen3.5-9b-lora")
This is a search proposal engine, not a one-shot decompiler. It was trained — and evaluated — inside a compile-and-score loop:
At 9B this runs comfortably on a single 24 GB GPU in bf16, which is the
point of the size class: cheap wide sampling. For batch sampling, any
OpenAI-compatible server that supports LoRA adapters (e.g. vLLM with
--enable-lora) works well.
| adapter | base | format | role |
|---|---|---|---|
| v10 | Qwen3.6-27B | RAW | single-turn matcher, reference 27B |
| gtp0c | Qwen3.8-27B | RAW | v10 recipe verbatim on the newer base (matched pair) |
| v13-chain r32 (this repo) | Qwen3.5-9B | RAW | headline single-turn 9B |
| v13-chain r64 | Qwen3.5-9B | RAW | rank-capacity null twin of the r32 |
| v14-evalformat | Qwen3.5-9B | chat | multi-turn feedback-driven, strongest agentic 9B |
| v16-v5chat | Qwen3.5-9B | chat | broadest corpus, research artifact with stated negatives |
| v17-full | Qwen3.5-9B | chat+tools | first tool-trajectory generation, unevaluated |
| v17-matched | Qwen3.5-9B | chat+tools | byte-exact-only trajectory filter of v17-full (contrast arm), unevaluated |
| v17-full r64 | Qwen3.5-9B | chat+tools | rank-capacity twin of v17-full r32 (r64/α128), unevaluated |
| v17-mix | Qwen3.5-9B | chat+tools | v17 trajectories + single-turn supply mix (broadest v17 corpus), unevaluated |
PUBLISHED.json (shipped) carries per-file sha256 written by the training
job at publish time. Two internal metadata files it pins
(train_summary.json, artifact-manifest.json) are retained in the
project's artifact store but not shipped here — they carry training-box
paths. adapter_config.json was rewritten post-training to the HF base id;
original bytes at provenance/adapter_config.orig.json.
Adapter weights: Apache-2.0. Training rows derive from public
CC0-1.0-dedicated decompilation projects (X360 Rock Band 3 / Dance
Central 3; zeldaret Wind Waker / Twilight Princess). See
the v10 card
for the full provenance discussion. Corpora are not published;
PUBLISHED.json names the corpus file and sha256 as provenance.