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
226
Safetensors
Model size
7B params
Tensor type
F16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support