guu3's picture
Add resumable download instructions
4066d7a verified
|
Raw
History Blame Contribute Delete
3.88 kB
---
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<PASTE PCODE HERE>"
}
],
"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.