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
| 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}, | |
| } | |
| ``` | |