PEFT
Safetensors
English
qwen3
code
lora
rocm
habbo
game-server-emulation
flash
shockwave
continued-pretraining
Instructions to use h4bbo/FuseLLM-Instruct-4B-v1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use h4bbo/FuseLLM-Instruct-4B-v1 with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
File size: 7,603 Bytes
7db882f a53437d 7db882f a53437d 7db882f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | ---
library_name: peft
base_model: Qwen/Qwen3-4B-Instruct-2507
tags:
- code
- lora
- rocm
- habbo
- game-server-emulation
- flash
- shockwave
- continued-pretraining
language:
- en
license: apache-2.0
inference: false
---
# FuseLLM-Instruct-4B-v1
A domain-specialist code model for the **Habbo Hotel ecosystem** β server emulators (Java, C#, PHP, Rust) and Flash/Shockwave client tooling (ActionScript, LiveScript, SWF/DIR reverse engineering). Built by continued pretraining of `Qwen3-4B-Instruct-2507` on a curated corpus of ~85K source files (~211M tokens) drawn from Habbo emulator projects, decompiled client code, and CMS/database dumps.
---
## tl;dr
- **What it is:** a 4B-parameter instruction-tuned code model, LoRA-continued-pretrained on Habbo emulator + retro-client source code.
- **Trained on:** a single consumer GPU β AMD Radeon RX 7900 XTX, 24 GB VRAM, ROCm 7.1.1. bf16 LoRA, no quantization.
- **Runs on:** essentially *any* recent consumer GPU. At 4B params, a Q4_K_M GGUF is ~4.5 GB β it fits comfortably in 8 GB VRAM and will run on 6 GB with a smaller context. The full bf16 merged weights (~14.7 GB) fit in 16 GB. If your card was made in the last ~6 years and has β₯6 GB, it can run FuseLLM-Instruct-4B-v1.
---
## Inference β yes, your GPU can run this
The point of shipping a 4B model is that you don't need a datacenter to use it. The training rig was a 24 GB consumer AMD card; **inference needs far less.**
| Path | Size | Min. VRAM (comfortable) | Notes |
|---|---|---|---|
| **GGUF Q4_K_M (recommended)** | ~4.5 GB | 8 GB (runs on 6 GB, short ctx) | Via Ollama / llama.cpp / LM Studio / KoboldCpp. CPU-only also works β slow but functional. |
| GGUF Q8_0 | ~4.9 GB | 8 GB | Near-lossless; only marginally bigger than Q4_K_M. |
| bf16 merged (full precision) | ~14.7 GB + KV cache | 16 GB | The "no quantization" path. 24 GB leaves room for a long context. |
Concrete examples of cards that run it fine:
- **8 GB:** RTX 3060 / 4060 / 5060, RX 6600 / 7600, Arc A580 β Q4_K_M with 4β8K context.
- **12 GB:** RTX 3060 12GB / 4070 / 5070, RX 6700 XT / 7700 XT β Q4_K_M with long context, or Q8_0 comfortably.
- **16 GB:** RTX 4060 Ti 16GB / 4080 / 5070 Ti, RX 7800 XT / 9070 β bf16 merged fits.
- **24 GB:** RTX 3090 / 4090 / 5090, RX 7900 XTX/XT β bf16 merged with a large context, or Q4 with room to spare.
Linux, Windows, macOS (Metal) all supported through llama.cpp / Ollama. **AMD, NVIDIA, and Intel are all first-class** β the GGUF backend is vendor-agnostic.
### Quick start (Ollama)
```bash
ollama run h4bbo/fusellm-instruct-4b-v1 # once uploaded
# or load the local GGUF:
ollama create fusellm-instruct-4b - Modelfile # FROM ./fusellm-instruct-4b-v1-Q4_K_M.gguf
ollama run fusellm-instruct-4b
```
### Quick start (transformers, bf16)
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
tok = AutoTokenizer.from_pretrained("h4bbo/FuseLLM-Instruct-4B-v1")
model = AutoModelForCausalLM.from_pretrained(
"h4bbo/FuseLLM-Instruct-4B-v1",
torch_dtype=torch.bfloat16,
device_map="auto",
)
```
---
## Training details
### Hardware
| | |
|---|---|
| GPU | AMD Radeon RX 7900 XTX, 24 GB VRAM (Navi 31) |
| Stack | ROCm 7.1.1, PyTorch 2.13.0+rocm7.1 (`gfx1100` native) |
| Why not CUDA | The rig is AMD-only β the whole recipe below is the ROCm path. No H100, no A100, no datacenter. |
This is a **one-consumer-GPU** training run. The 4B base + bf16 LoRA + gradient checkpointing fits in 24 GB without any quantization (QLoRA was deliberately avoided β bitsandbytes-on-ROCm is still "preview" quality). If you have a single 24 GB card of either vendor, you can reproduce this run.
### Base model
`Qwen/Qwen3-4B-Instruct-2507` β bf16 safetensors, Apache-2.0, ~8 GB. Downloaded from HF Hub (requires `HF_TOKEN`).
### Method β bf16 LoRA continued pretraining
Raw-code continued pretraining (full-sequence causal-LM loss, no instruction pairs).
- **LoRA:** r=32, alpha=64, dropout=0.05, all 7 Qwen3 projections (`q/k/v/o/gate/up/down_proj`), `task_type=CAUSAL_LM`.
- **Optimizer/schedule:** `adamw_torch`, lr=1e-4, cosine, warmup_ratio=0.03, max_grad_norm=1.0, 1 epoch.
- **Batching:** per-device batch 2 Γ grad-accum 16 = effective 32, `max_length=2048` with `packing_strategy="wrapped"` (~65K tokens/step), ~3,050 steps, ~3β5 h.
- **Precision/memory:** `bf16=True`, `gradient_checkpointing=True` (`use_reentrant=False`), `attn_implementation="sdpa"` (FlashAttention-2 is broken on ROCm), `optim="adamw_torch"` (no bitsandbytes). `PYTORCH_HIP_ALLOC_CONF=expandable_segments:True,garbage_collection_threshold:0.8`, `HSA_OVERRIDE_GFX_VERSION=11.0.0`.
- **Loss:** `completion_only_loss` unset β full-sequence causal-LM on packed raw code (correct for continued pretraining, since there are no instruction/response pairs to mask).
- **Merge:** `merge_and_unload(safe_merge=True)` into the bf16 base β standalone safetensors. `save_peft_format=False` (critical β otherwise the adapter re-attaches on reload).
### Training data
| | |
|---|---|
| Files | 84,925 unique (sha256-deduped; 206,707 duplicates removed; 2.07M minified files skipped) |
| Size | 803.2 MB |
| Tokens | ~211M (est. chars/4) |
| Format | `{"text": <redacted file content>}` β TRL `dataset_text_field="text"` |
By language (files): Java 26,335 Β· C# 19,048 Β· PHP 10,969 Β· LiveScript 7,457 Β· ActionScript 3,801 Β· Python 3,023 Β· JavaScript 2,646 Β· XML 2,569 Β· HTML 2,023 Β· CSS 1,470 Β· Rust 1,442 Β· C 1,103 Β· TypeScript 644 Β· C++ 517 Β· SQL 494 Β· VB 362 Β· JSON 351 Β· + Markdown/Gradle/YAML/Scala/Lua.
Sources: 123 Quackster Habbo emulator/tooling repos (incl. private: HorusClient, Kurkku, Aleeda, Icarus variants, cappo-emu, β¦), `ntuative/RELEASE63β¦`, `deklol/Shockless`, plus deeply-nested Beta-archive extractions (Debbo, BloodLine, Chocohotel, uberEmu, etc.) β 497 archives / 30 GB unpacked. `.sql` DB dumps (148 MB) are included for now and may be dropped in a later revision.
---
## Intended use & limitations
**Intended:** code completion / Q&A for Habbo server-emulator and retro-client development β packet handling, room/item state, CMS schemas, SWF/DIR reverse engineering, Shockwave Lingo, ActionScript 3 client internals.
**Not intended:** general-purpose chat, math, or non-Habbo code generation. This is a *continued-pretraining* of an instruct model on domain code; it is not a general assistant and was not aligned for safety/RLHF beyond what the base instruct model already had.
**Limitations:**
- 4B parameters β strong on domain pattern-completion, weaker than larger models on multi-file reasoning.
---
## License & data provenance
- **Base model:** `Qwen3-4B-Instruct-2507` β **Apache-2.0**. Fine-tuning and redistribution permitted with attribution. β
- **This fine-tune (weights):** released under **Apache-2.0** *conditional on the data licensing below*. The LoRA adapter is small and derivative; the merged model inherits both base and data obligations.
- **Training data:** mixed provenance β
- Author's own repos (fine).
- **GPL / various third-party emulators** (PHPRetro/Yifan Lu, uberEmu/Meth0d, Holograph, Icarus, etc.) β GPL-derivative debate applies; a model trained on GPL source is arguably a derivative work.
## Citation
If this model is useful, cite the base and this fine-tune:
```bibtex
@misc{fusellm-instruct-4b-v1,
title = {FuseLLM-Instruct-4B-v1: a Habbo ecosystem code model},
note = {bf16 LoRA continued pretraining of Qwen3-4B-Instruct-2507},
year = {2026},
}
```
|