--- base_model: AutoDecompiler/AutoDecompiler-30B-pscode pipeline_tag: text-generation tags: - gguf - llama.cpp - decompilation - reverse-engineering - pcode - qwen3_moe --- # AutoDecompiler-30B-pscode GGUF This repository contains an unquantized BF16 GGUF conversion of [`AutoDecompiler/AutoDecompiler-30B-pscode`](https://huggingface.co/AutoDecompiler/AutoDecompiler-30B-pscode). It is a format conversion for llama.cpp; the model weights were not fine-tuned or otherwise modified here. The model is specialized for turning decompiler P-code/pseudocode into a high-level source-code draft. It is not intended to decompile raw assembly directly. ## File | File | Format | Size | SHA-256 | | --- | --- | ---: | --- | | `AutoDecompiler-30B-pscode-BF16.gguf` | GGUF v3, BF16 | 61,095,804,640 bytes (56.89 GiB) | `83d5a42e828e391aac16e68ac2fe7332d7ed4307cf5cf470cb3c33be35c92367` | The GGUF contains the model's Qwen3 MoE architecture and chat template. Its metadata advertises a 262,144-token context, but practical context size is limited by available memory. The weights alone require roughly 57 GiB, with additional memory needed for the KV cache and runtime workspace. ## Download ```bash hf download guu3/AutoDecompiler-30B-pscode-GGUF \ AutoDecompiler-30B-pscode-BF16.gguf \ --local-dir . ``` ## Run with llama.cpp Use a recent llama.cpp build with Qwen3 MoE and BF16 support: ```bash llama-server \ --model AutoDecompiler-30B-pscode-BF16.gguf \ --alias autodecompiler-30b-pscode-bf16 \ --host 127.0.0.1 \ --port 8080 \ --ctx-size 32768 \ --n-gpu-layers all \ --flash-attn on ``` Reduce `--n-gpu-layers` or `--ctx-size` if the model does not fit available GPU or unified memory. Send P-code through the OpenAI-compatible endpoint: ```bash curl http://127.0.0.1:8080/v1/chat/completions \ -H 'Content-Type: application/json' \ -d '{ "model": "autodecompiler-30b-pscode-bf16", "messages": [ { "role": "system", "content": "You are a decompilation specialist. Convert the supplied P-code pseudocode into a faithful high-level source representation." }, { "role": "user", "content": "Recover high-level source code from this P-code pseudocode. Return code only.\n\n" } ], "temperature": 0, "max_tokens": 4096, "stream": false }' ``` For reproducible evaluation, start with greedy decoding (`temperature: 0`). Increase `max_tokens` for larger functions, while keeping in mind that very large functions may be truncated or become impractically slow. ## Conversion provenance - Upstream model revision: `43c73bfabe24c284c31ccb76fc5dc90e5736b5dc` - Conversion tool: llama.cpp `convert_hf_to_gguf.py` - llama.cpp revision: `48d22e295e2b86b47366c16390794f3e05ba970a` - Output type: BF16, with tensors that llama.cpp keeps in F32 left in F32 - Tested with llama.cpp build 10360 The conversion is equivalent to: ```bash python convert_hf_to_gguf.py /path/to/AutoDecompiler-30B-pscode \ --outfile AutoDecompiler-30B-pscode-BF16.gguf \ --outtype bf16 ``` ## Limitations Treat generated code as an untrusted first-pass draft. In local experiments, the model recovered useful structure from P-code, but it could emit invalid identifiers or types and could fail to finish very large functions. Validate the result against the original binary, compiler diagnostics, and control flow. See the [`AutoDecompiler` paper](https://arxiv.org/abs/2606.16162) and the [upstream model repository](https://huggingface.co/AutoDecompiler/AutoDecompiler-30B-pscode) for the model and research context. ## License The upstream model repository did not declare a license at the time of this conversion. This repository does not assert a new license over the model weights; consult the upstream authors before redistribution or commercial use.