Instructions to use voidash/qwenbend with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use voidash/qwenbend with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] hf download voidash/qwenbend --local-dir qwenbend
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
|
Download README.md from voidash/qwenbend: direct link, hf CLI and curl.
- Browser
- Download file 2.32 kB
-
https://huggingface.co/voidash/qwenbend/resolve/main/README.md
- Command line
-
hf download hf://voidash/qwenbend/README.md
-
curl -L -o README.md https://huggingface.co/voidash/qwenbend/resolve/main/README.md
2.32 kB
| license: apache-2.0 | |
| base_model: Qwen/Qwen3.5-0.8B | |
| library_name: mlx | |
| tags: | |
| - lora | |
| - bend | |
| - program-synthesis | |
| - in-weights-execution | |
| # QwenBend: LoRA adapter | |
| **Qwen3.5-0.8B writes a Bend program. Then the same model type-checks it and runs it inside its own | |
| forward pass.** Code, design notes and the 15-second demo: **https://github.com/voidash/qwenbend** | |
| This repository holds the **LoRA adapter** that teaches Qwen3.5-0.8B to write BendLite, a subset | |
| of [Bend2](https://github.com/HigherOrderCO/Bend). | |
| The engine half of QwenBend is not trained. Its weights are set by construction, from code in the | |
| GitHub repo: | |
| - a 16-register CPU with 8,192 words of memory held in Gated DeltaNet heads; | |
| - the CPU applies Bend2's static rules (types, affine use, termination) and executes the program. | |
| `python bendvm/qwenbend.py "your task"` there builds the full 3.97B model in memory in about 15 s | |
| from Qwen3.5-0.8B and this adapter: | |
| - 0.753B nonzero weights are Qwen's; | |
| - 52.9M are the engine's; | |
| - the rest is zero padding from widening the hidden size to 4096. | |
| ## The adapter | |
| - `adapter/adapters.safetensors` + `adapter/adapter_config.json`: **mlx_lm** LoRA format. | |
| - rank 8, scale 20, the last 16 layers; | |
| - trained with lr 1e-4, batch 2; | |
| - the 400-step checkpoint was best by validation loss (training to 1,200 steps overfit). | |
| - `qwen_fused.py` in the GitHub repo fuses it into the HF weights in torch: W += 20·(A·B)ᵀ. | |
| - sha256 of `adapters.safetensors`: `4577f177fdaabd10ae0f920f71a93d8f89603236b05484822bf0393e4caf315c`. | |
| ## Measured | |
| On 200 test items: greedy, each program checked and run with real Bend2. | |
| | model | valid | correct | in-distribution correct | held-out families correct | | |
| |---|---:|---:|---:|---:| | |
| | Qwen3.5-0.8B (no adapter) | 0% | 0% | 0% | 0% | | |
| | **+ this adapter** | 58% | **42%** | **80%** | 4% | | |
| End to end in the merged model (Apple M4 Pro, MPS, bf16): **5/5** programs correct, and every | |
| execution trace equals the reference interpreter's token for token. About 20 tokens/s. | |
| ## Limits | |
| The writer is a 0.8B model: it often writes the wrong program for unfamiliar tasks. The engine | |
| guarantees the answer is exactly what the program computes, not that the program fits the question. | |
| License: Apache-2.0 (same as the base model). Built at [Ampixa](https://ampixa.com). | |