Downloads · 30 days
19
4% of all-time downloads
Petrouil/LFM2.5-Mosaic-900M-A500M-Base
LFM2.5-Mosaic-900M-A500M-Base is a text generation model from Petrouil. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as other.
LFM2.5-Mosaic-900M-A500M-Base is a Mixture-of-Experts (MoE) agentic assistant built on top of the frozen LFM2.5-350M-Base trunk. Ten MoE layers are inserted after the trunk's GQA attention blocks and late convolution…
Downloads · 30 days
19
4% of all-time downloads
All-time downloads
511
Public
Parameters
988M
2 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors2 GB · 100%
How the weights are stored.
BF16988M · 100%
From the Hugging Face model README
LFM2.5-Mosaic-900M-A500M-Base is a Mixture-of-Experts (MoE) agentic assistant built on top of the frozen LFM2.5-350M-Base trunk. Ten MoE layers are inserted after the trunk's GQA attention blocks and late convolution blocks, giving the model a large learnable capacity while keeping the base trunk's pre-trained representations untouched.
| Property | Value |
|---|---|
| Parameters (total) | 921M |
| Parameters (active per token) | ~543M |
| Parameters (trainable) | 566M |
| MoE layers | 10, inserted at blocks [2, 5, 8, 9, 10, 11, 12, 13, 14, 15] |
| Experts per layer | 8 routed (top-2) + 1 shared, always-on |
| Expert shape | SwiGLU 1024 → 2048 → 1024 (~6.3M params each) |
| Context length | 32,768 |
| Vocabulary | 65,536 |
| Precision | bf16 |
| Base trunk | frozen LFM2.5-350M-Base |
The model is designed for agentic / tool-use workloads: it plans multi-turn tool-calling loops, emits structured tool calls, and follows instructions. It is not a general-knowledge or long-horizon reasoning model — use external tools for information retrieval, which is exactly what this model is built to orchestrate.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained(
"petrouil/LFM2.5-Mosaic-900M-A500M-Base",
trust_remote_code=True,
torch_dtype=torch.bfloat16,
).to("cuda")
tokenizer = AutoTokenizer.from_pretrained("petrouil/LFM2.5-Mosaic-900M-A500M-Base")
messages = [{"role": "user", "content": "Get the weather in Athens."}]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
out = model.generate(**inputs, max_new_tokens=256, do_sample=False)
print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=False))
Training renders tool calls as JSON content in the assistant turn, e.g.
[{"name": "get_weather", "arguments": {"city": "Athens"}}] with arguments as an object. The model may also emit the
LFM2.5-native Pythonic form (<|tool_call_start|>get_weather<|tool_call_sep|>{"city": "Athens"}<|tool_call_end|>);
both are accepted when the model is used with the LFM2.5 chat template.
nvidia/Nemotron-SFT-Agentic-v2 (CC BY 4.0) —
~992K synthetic, LLM-judged tool-use trajectories: tool calling (707K), multi-turn customer service across 838
domains (279K), and web-search graph walks (6K). Subsampled to ~200M tokens (mix 70/25/5), streamed with
byte-accurate Range-resume retries.HuggingFaceTB/smoltalk2
(Apache-2.0 / odc-by) and HuggingFaceH4/ultrachat_200k (MIT):
everyday conversations, tulu-3 instruction-following, system chats, Magpie-style chat, OpenHermes, UltraChat, and more.repetition_penalty ≈ 1.1-1.2)
is recommended.@misc{mosaic2026,
author = {Petrouil},
title = {LFM2.5-Mosaic-900M-A500M-Base},
year = {2026},
url = {https://huggingface.co/petrouil/LFM2.5-Mosaic-900M-A500M-Base}
}