
🐍 Boomslang (3B Reasoning & Math Engine)
A compact, high-efficiency 3-billion-parameter model fine-tuned for deep chain-of-thought mathematical reasoning, logic, and algebra—without sacrificing natural conversational ability.
❤️ If you find Boomslang useful, please hit the Like button at the top of this page and Follow @Monster-Code for more open-weights AI releases!
💡 What is Boomslang?
Most small models (1B–3B parameters) struggle with two extremes: they are either polite chatbots that completely hallucinate basic arithmetic, or narrow math models that forget how to hold a conversation and start writing unprompted proofs when you simply say "Hi."
Boomslang was trained to bridge that gap.
Starting from the strong foundation of Qwen/Qwen2.5-3B-Instruct, Boomslang was post-trained on an NVIDIA RTX PRO 6000 Blackwell across a curated ~17,500-sample reasoning mixture:
- DeepSeek-R1 Distilled Proofs (
open-r1/OpenR1-Math-220k): Teaches the network an internal self-reflection loop (<think> ... </think>) to break down complex algebraic expressions, geometry, and multi-step deduction before committing to an answer. - Step-by-Step Arithmetic Rigor (
openai/gsm8k): Calibrates attention heads on strict order-of-operations arithmetic and unambiguous answer derivation.
The result is an edge-friendly 3B model that works through tricky algebra and word puzzles methodically, but still greets you warmly and follows instructions when you just want to talk.
📦 What's Inside This Repository?
- Single Standalone
model.safetensors: No multi-part file splits. The entire 3-billion parameter model is packed into a single, clean ~6.1 GB file. - Pre-Converted GGUF (
boomslang-3b-qwen.gguf): Directly ready for Ollama, LM Studio, and llama.cpp on your local machine (MacBook, laptop, or home GPU). - Full configuration and tokenizer files for immediate
transformersplug-and-play.
⚡ Quickstart: Python & Transformers
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, TextStreamer
MODEL_ID = "Monster-Code/Boomslang"
tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
model = AutoModelForCausalLM.from_pretrained(
MODEL_ID,
torch_dtype=torch.bfloat16 if torch.cuda.is_available() else torch.float32,
device_map="auto"
)
# Standard ChatML format
messages = [
{
"role": "system",
"content": "You are Boomslang, a helpful and precise reasoning assistant. Reason step-by-step before providing your final answer."
},
{
"role": "user",
"content": "A box has 36 chocolates. Tom eats 1/4 of them, and Sarah eats 9. How many chocolates are left in the box?"
}
]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
with torch.no_grad():
model.generate(
**inputs,
streamer=streamer,
max_new_tokens=1024,
temperature=0.6,
top_p=0.9
)
💻 Running Locally with Ollama / LM Studio
1. Using Ollama:
Create a Modelfile in the same directory as the downloaded .gguf:
FROM ./boomslang-3b-qwen.gguf
TEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>
{{ end }}{{ if .Prompt }}<|im_start|>user
{{ .Prompt }}<|im_end|>
{{ end }}<|im_start|>assistant
{{ .Response }}<|im_end|>"""
PARAMETER stop "<|im_start|>"
PARAMETER stop "<|im_end|>"
PARAMETER temperature 0.6
Build and run:
ollama create boomslang -f Modelfile
ollama run boomslang
2. Using LM Studio:
- Download
boomslang-3b-qwen.gguffrom the Files and versions tab. - Drop it into your local LM Studio models folder.
- Start chatting with GPU offloading enabled!
🧠 Sample Interaction
User:
"Solve for x: 5x - 10 = 25. Show your work."
Boomslang:
<think>
The equation is 5x - 10 = 25.
Our goal is to isolate the variable x on one side.
Step 1: Add 10 to both sides to cancel out the -10 constant:
5x - 10 + 10 = 25 + 10
5x = 35
Step 2: Divide both sides by the coefficient 5:
5x / 5 = 35 / 5
x = 7
Verification:
Substitute x = 7 into the original expression:
5(7) - 10 = 35 - 10 = 25.
Both sides match.
</think>
The answer is x = 7.
🛠️ Training Details
- Base Architecture: Qwen2.5 3B (Decoder-only Transformer)
- Hardware: NVIDIA RTX PRO 6000 Blackwell Server Edition
- Precision: BF16 Native Mixed Precision with Fused AdamW
- Effective Batch Size: 32 (8 per device × 4 gradient accumulation steps)
- Learning Rate: 1.5e-4 with dynamic linear warmup
- Label Masking: Dynamic batch padding via
DataCollatorForSeq2Seqwith-100masking to guarantee loss is never calculated on padding noise
🤝 Community & Support
- 👤 Creator: Monster-Code
- 💬 Have suggestions, evaluation runs, or dataset ideas? Leave a note in the Discussions tab!
- ⭐ If Boomslang helps your workflow, please consider starring/liking the repository!