How to use from the
Use from the
Transformers library
# Use a pipeline as a high-level helper
from transformers import pipeline

pipe = pipeline("text-generation", model="Monster-Code/Boomslang")
messages = [
    {"role": "user", "content": "Who are you?"},
]
pipe(messages)
# Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("Monster-Code/Boomslang")
model = AutoModelForCausalLM.from_pretrained("Monster-Code/Boomslang", device_map="auto")
messages = [
    {"role": "user", "content": "Who are you?"},
]
inputs = tokenizer.apply_chat_template(
	messages,
	add_generation_prompt=True,
	tokenize=True,
	return_dict=True,
	return_tensors="pt",
).to(model.device)

outputs = model.generate(**inputs, max_new_tokens=40)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
Quick Links

1789911910f175

🐍 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.

Hugging Face License GGUF Available


❤️ 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:

  1. 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.
  2. 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 transformers plug-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:

  1. Download boomslang-3b-qwen.gguf from the Files and versions tab.
  2. Drop it into your local LM Studio models folder.
  3. 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 DataCollatorForSeq2Seq with -100 masking 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!
Downloads last month
668
Safetensors
Model size
3B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Monster-Code/Boomslang

Base model

Qwen/Qwen2.5-3B
Quantized
(289)
this model