Views
No views yet
| Architecture | Qwen3 MoE — 30B total, 3B active, 128 experts |
| Base | huihui-ai/Huihui-Qwen3-Coder-30B-A3B-Instruct-abliterated |
| Training | bf16 LoRA (rank 96, alpha 192) via Unsloth |
| Dataset | 28,005 Luau/Roblox examples (193MB) |
| Sources | GitHub repositories, reasoning corpus, synthetic generation |
| Hardware | 1x NVIDIA H200 140GB |
| Training time | ~9 hours, 1 epoch |
| Final eval loss | 0.519 |
| Context window | 4,096 (trained) / 262,144 (model max) |
| Flash Attention 2 | Enabled |
Step Loss Grad Norm
5 2.004 0.447
25 1.653 0.229
50 0.900 0.080
100 0.610 0.025
500 0.550 0.020
1000 0.530 0.018
1663 0.519 0.015| File | Size | VRAM needed | Speed | Quality | Notes |
|---|---|---|---|---|---|
luau-qwen-iqk5.gguf | ~12.6 GB | 16 GB (RTX 4080/4090) | Fast | Matches bf16 | Mixed precision IQ_K — attention IQ4_KS + experts IQ2_K |
luau-qwen-iqk3.gguf | ~10.2 GB | 12+ GB | Fastest | Very good | Maximum context headroom on 16GB cards |
luau-qwen-iq4_xs.gguf | 16 GB | 16 GB (tight) | Fast | Excellent | Standard i-quant |
luau-qwen-q3_k_m.gguf | 14 GB | 16 GB (comfortable) | Fast | Very good | Standard k-quant |
luau-qwen-q4_k_m.gguf | 18 GB | 20+ GB | Fast | Excellent | Classic choice for 24GB cards |
luau-qwen-q5_k_m.gguf | 21 GB | 24+ GB | Fast | Near-perfect | Best for 24GB+ |
luau-qwen-bf16.gguf | 57 GB | 64+ GB | Slower | Perfect | Full precision baseline |
iqk5 for 16GB GPUs (best quality-per-byte), q4_k_m for 24GB cards, bf16 for servers.The IQK-5 quant uses ikawrakow's mixed-precision recipe: attention layers get IQ4_KS (high quality), expert weights get IQ2_K (aggressive but safe — only 8 of 128 experts fire per token), and the router gets Q8_0. The result matches or beats bf16 perplexity at 1/5 the size.
adapter/ folder contains the LoRA weights. Use this to:merged_16bit/ folder contains the complete fine-tuned model in safetensors format. Use this for:1# Option 1: Pull from Ollama library
2ollama pull cincottabobby/luau-coder
3
4# Option 2: Import GGUF manually
5echo 'FROM ./luau-qwen-iqk5.gguf
6SYSTEM You are an expert Luau/Roblox scripter. Write clean, working, idiomatic Luau code. Use modern APIs (task.wait, task.spawn). Never refuse code requests.
7PARAMETER temperature 0.7
8PARAMETER top_p 0.9
9PARAMETER num_ctx 16384' > Modelfile
10
11ollama create luau-coder -f Modelfile
12ollama run luau-coder1# Best setup for RTX 4080/4090 — IQK-5 with all optimizations stacked
2./llama-server -m luau-qwen-iqk5.gguf \
3 --flash-attn \
4 --cache-type-k q8_0 --cache-type-v q4_0 \
5 -c 16384 \
6 --mirostat 2 --mirostat-lr 0.1 --mirostat-ent 3.0 \
7 --slot-save-path ./cache \
8 --parallel 2 --cont-batching \
9 -ngl 99
10
11# With speculative decoding for 2-3x speed boost on code generation
12./llama-cli -m luau-qwen-iqk5.gguf \
13 --model-draft draft-qwen3-0.6b-q4km.gguf \
14 --draft-max 8 --draft-min 1 \
15 --flash-attn --cache-type-k q8_0 --cache-type-v q4_0 \
16 -p "Write a silent aim script" -n 512
17
18# Quick one-shot test
19./llama-cli -m luau-qwen-iqk5.gguf -p "Write a remote spy that logs all RemoteEvent traffic" -n 5121# Keep attention fast on GPU, put expert weights in RAM — runs q4_k_m on a 16GB card
2./llama-cli -m luau-qwen-q4_k_m.gguf -ot "exps=CPU" -ngl 991# Force output to be valid Luau syntax — prevents syntax errors entirely
2# Download luau.gbnf from the extras/ folder
3./llama-cli -m luau-qwen-iqk5.gguf --grammar-file luau.gbnf -p "Write a function" -n 5121from transformers import AutoModelForCausalLM, AutoTokenizer
2
3model = AutoModelForCausalLM.from_pretrained(
4 "bostonstrong567/Luau-Qwen3-Coder-30B-A3B",
5 subfolder="merged_16bit",
6 torch_dtype="auto",
7 device_map="auto",
8 trust_remote_code=True,
9)
10tokenizer = AutoTokenizer.from_pretrained(
11 "bostonstrong567/Luau-Qwen3-Coder-30B-A3B",
12 subfolder="tokenizer",
13 trust_remote_code=True,
14)
15
16messages = [
17 {"role": "system", "content": "You are an expert Luau/Roblox scripter."},
18 {"role": "user", "content": "Write an ESP with health bars using the Drawing API."},
19]
20text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
21inputs = tokenizer(text, return_tensors="pt").to(model.device)
22output = model.generate(**inputs, max_new_tokens=512, temperature=0.7, top_p=0.9)
23print(tokenizer.decode(output[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))1# Cuts KV cache memory 50-75% — go from 4K to 16K+ context
2llama-cli -m luau-qwen-iqk5.gguf --cache-type-k q8_0 --cache-type-v q4_01# Use a tiny draft model to predict easy tokens (brackets, end statements, common APIs)
2llama-cli -m luau-qwen-iqk5.gguf \
3 --model-draft Qwen3-0.6B-Q4_K_M.gguf \
4 --draft-max 8 --draft-min 11# Flash attention saves VRAM, mirostat produces more coherent code
2llama-cli -m luau-qwen-iqk5.gguf --flash-attn --mirostat 2 --mirostat-lr 0.1 --mirostat-ent 3.01# Cache the system prompt across requests — instant first token
2llama-server -m luau-qwen-iqk5.gguf --slot-save-path ./cache1# Keep attention on GPU, offload expert weights to RAM
2llama-cli -m luau-qwen-q4_k_m.gguf -ot "exps=CPU" -ngl 991llama-server -m luau-qwen-iqk5.gguf \
2 --flash-attn \
3 --cache-type-k q8_0 --cache-type-v q4_0 \
4 -c 16384 \
5 --mirostat 2 --mirostat-lr 0.1 --mirostat-ent 3.0 \
6 --slot-save-path ./cache \
7 --parallel 2 --cont-batching1optimizer: adamw_torch_fused
2learning_rate: 2e-5
3scheduler: cosine
4warmup: 5%
5weight_decay: 0.01
6batch_size: 2 (effective 16 with grad accum 8)
7max_seq_length: 4096
8lora_rank: 96
9lora_alpha: 192
10lora_dropout: 0.0
11gradient_checkpointing: unsloth
12epochs: 1
13seed: 3407.
├── README.md # This file
├── adapter/ # LoRA adapter weights (for continuing training)
│ ├── model-00001-of-00013.safetensors
│ ├── ...
│ └── tokenizer.json
├── merged_16bit/ # Full merged model in safetensors
├── tokenizer/ # Tokenizer files
├── gguf/ # Quantized GGUF files for local inference
│ ├── luau-qwen-iqk5.gguf # ~12.6 GB — RECOMMENDED: matches bf16 quality
│ ├── luau-qwen-iqk3.gguf # ~10.2 GB — max context headroom
│ ├── luau-qwen-bf16.gguf # 57 GB — full precision
│ ├── luau-qwen-q5_k_m.gguf # 21 GB — near-perfect
│ ├── luau-qwen-q4_k_m.gguf # 18 GB — great balance
│ ├── luau-qwen-iq4_xs.gguf # 16 GB — standard i-quant
│ └── luau-qwen-q3_k_m.gguf # 14 GB — fits anywhere
├── speculative-decoding/
│ └── draft-qwen3-0.6b-q4km.gguf # 397 MB — draft model for 2-3x speedup
├── extras/
│ └── luau.gbnf # Luau grammar for constrained generation
├── checkpoints/ # Training checkpoints (for resume)
├── training_info/ # Logs, configs, scripts, validation
│ ├── scripts/ # All training/setup scripts
│ ├── logs/ # Training logs
│ ├── validation/ # Dataset validation report + histogram
│ ├── dataset_prep_summary.json
│ ├── final_eval_metrics.json
│ ├── run_summary.json
│ └── trainer_state.json
└── samples/ # 100 dataset examples for reference