Puma 1.1

Puma 1.1 is a 6.96-billion-parameter (6,955,113,984 parameters) open-weight chain-of-thought reasoning and software engineering model created by Merkium and released under the Apache 2.0 license. Built on a 28-layer LlamaForCausalLM decoder (hidden_size = 3584, intermediate_size = 19200, 7:1 Grouped-Query Attention, 32K RoPE) paired with the 49,152-token Puma byte-level BPE vocabulary, Puma 1.1 thinks step-by-step inside explicit <think>...</think> blocks before emitting verified code, mathematical derivations, and technical answers.


Architecture & Specifications

Parameter Value
Architecture Pre-norm Transformer decoder (LlamaForCausalLM, arch: llama)
Total Parameters 6,955,113,984 (6.96B, untied input/output embeddings)
Reasoning Format Structured <think>...</think> chain-of-thought traces prior to final output
Layers (num_hidden_layers) 28
Hidden Dimension (hidden_size) 3584
FFN Dimension (intermediate_size) 19200 (5.36x SwiGLU MLP, SiLU gate, 256-aligned super-blocks)
Attention Heads 28 Query heads / 4 Key-Value heads (GQA 7:1, head_dim = 128)
Positional Encoding Rotary Position Embeddings (RoPE, theta = 1,000,000.0)
Normalization RMSNorm (eps = 1e-6)
Context Window 32,768 tokens (8,192 default in Ollama Modelfile)
Vocabulary (vocab_size) 49,152 custom Puma byte-level BPE (`<
Weights Provided Sharded FP16 .safetensors (13.9 GB) and puma-1.1-q4_k_m.gguf (Q4_K_M, ~4.2 GB)
License Apache-2.0

Structured <think>...</think> Reasoning Mode

Puma 1.1 performs explicit internal analysis inside <think>...</think> tags before writing its final response:

  • Adaptive Reasoning Depth: Allocates concise planning steps on straightforward prompts and deeper multi-step decomposition (constraints, complexity analysis, edge-case checks, arithmetic verification) on algorithmic coding, debugging, and STEM problems.
  • Native Client Support: Ollama (0.9+), Open WebUI, LM Studio, and Continue.dev automatically parse <think>...</think> into a collapsible thinking block while keeping the final response clean.
  • Multi-Turn Context Hygiene: The bundled Jinja chat_template strips completed <think>...</think> blocks from earlier conversation turns so long multi-turn coding sessions preserve context window capacity.

Capabilities & Intended Scope

What Puma 1.1 Excels At

  1. Algorithmic & Multi-Language Software Engineering: Designs, implements, and debugs non-trivial code across Python, TypeScript/JavaScript, Rust, C++, SQL, and Bash—explicitly checking boundary conditions and algorithmic complexity inside <think>...</think> before emitting code.
  2. Mathematical & Logical Problem Solving: Breaks down multi-step algebra, calculus, combinatorics, probability, and invariants step by step before stating the final result.
  3. Architecture & Code Review: Diagnoses concurrency bugs, off-by-one errors, SQL query bottlenecks, and API schema mismatches with clear root-cause analysis.

Limitations

  • Hardware Footprint (~4.8 GB RAM in Q4_K_M): Designed for laptops, desktops, workstations, and 8 GB+ Apple Silicon / modern mobile devices. For ultra-constrained 4 GB phones or Raspberry Pi deployments, use Puma 1.0 (1.42B).
  • Offline Knowledge Cutoff: Does not browse the web natively; supply documentation excerpts or RAG context when querying library APIs released after training.
  • Reasoning Latency Trade-Off: Because <think>...</think> generates intermediate tokens before the final answer, time-to-final-answer is proportionally longer than non-thinking models.

Running Puma 1.1 Locally (Desktop & Laptop CPU / GPU)

Option 1: Ollama (Recommended — One Command)

ollama run Merkium/puma-1.1

Or run directly from Hugging Face via Ollama:

ollama run hf.co/Ueuee82683/Puma-1.1

Expected throughput (Q4_K_M, ~4.2 GB):

  • NVIDIA RTX 3060 / 4060 / T4 or newer (8 GB+ VRAM): 55 - 110 tokens/s
  • Apple Silicon (M1 / M2 / M3 / M4, 8 GB+ unified memory): 28 - 60 tokens/s
  • Modern x86_64 Desktop/Laptop CPU (AVX2, 8-16 threads, 8 GB+ RAM): 9 - 18 tokens/s

Option 2: llama.cpp CLI / OpenAI-Compatible Server

huggingface-cli download Ueuee82683/Puma-1.1 puma-1.1-q4_k_m.gguf --local-dir .

# Interactive CLI chat with reasoning support
./llama-cli -m puma-1.1-q4_k_m.gguf -cnv -c 8192 -t 8 --temp 0.5

# Local HTTP API server on port 8080
./llama-server -m puma-1.1-q4_k_m.gguf -c 8192 -t 8 --port 8080

Running on High-Memory Mobile / Tablet Devices (8 GB+ RAM)

Devices with 8 GB+ RAM (iPhone 15 Pro / 16 / 17 series, iPad M-series, Snapdragon 8 Gen 2/3/Elite Android flagships) can run puma-1.1-q4_k_m.gguf offline:

  • In PocketPal AI or Layla, add Ueuee82683/Puma-1.1 from Hugging Face, download puma-1.1-q4_k_m.gguf (~4.2 GB), set context length to 4096, and configure stop strings <|eos|> and <|user|>.
  • On 4 GB - 6 GB phones, use Ueuee82683/Puma-1.0 (1.44 GB).

Using Puma 1.1 in Python (Ollama API & Hugging Face transformers)

Streaming Chat via Ollama Local API (Separating Thought & Answer)

from openai import OpenAI

client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")

resp = client.chat.completions.create(
    model="Merkium/puma-1.1",
    messages=[
        {"role": "user", "content": "Write an O(n log n) Python function for longest increasing subsequence and prove why binary search on tails works."}
    ],
    temperature=0.5,
)
print(resp.choices[0].message.content)

Direct Hugging Face transformers Inference (FP16 / 4-bit)

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "Ueuee82683/Puma-1.1"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.float16,
    device_map="auto",
)

messages = [
    {"role": "user", "content": "Find all integer solutions to x^2 - y^2 = 45."}
]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt", add_special_tokens=False, return_token_type_ids=False).to(model.device)

stop_ids = [
    tokenizer.eos_token_id,
    tokenizer.convert_tokens_to_ids("<|user|>"),
    tokenizer.convert_tokens_to_ids("<|system|>"),
]

with torch.no_grad():
    out = model.generate(
        **inputs,
        max_new_tokens=1024,
        temperature=0.5,
        top_p=0.92,
        do_sample=True,
        repetition_penalty=1.06,
        eos_token_id=stop_ids,
        pad_token_id=tokenizer.pad_token_id,
    )

print(tokenizer.decode(out[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True))

Prompt Format

<|bos|><|system|>
You are Puma 1.1, an open-weight 6.96B-parameter reasoning and coding model created by Merkium and released under Apache 2.0. Think step-by-step inside <think>...</think> before giving your final response.<|eos|>
<|user|>
{user_message}<|eos|>
<|assistant|>
<think>
{step_by_step_reasoning}
</think>

{final_response}<|eos|>

License

Released under the Apache License 2.0.

Downloads last month
58
Safetensors
Model size
7B params
Tensor type
F16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support