--- license: apache-2.0 base_model: poolside/Laguna-M.1 pipeline_tag: text-generation tags: - gguf - llama.cpp - ik_llama.cpp - laguna - laguna-m.1 - moe - imatrix - poolside ---
Base model · Release blog · Technical report · GGUF support PR
# Laguna M.1 Community GGUF imatrix quants [Laguna M.1](https://huggingface.co/poolside/Laguna-M.1) is Poolside's Apache-2.0 sparse MoE coding model: 225B total parameters, 23B activated parameters per token, 70 global-attention layers, 256 sparse experts after the first three dense layers, top-k=16 routing, RoPE with YaRN, softplus attention output gating, and a 262,144-token context window. This repository contains imatrix GGUF quantizations of Laguna M.1 for local experimentation with long-context coding and agentic workloads. The files here are derivative GGUF artifacts built from Poolside's upstream BF16 checkpoint; for model architecture, intended use, benchmark methodology, and serving notes, start with the upstream model card, release blog, and technical report linked above. These GGUFs were produced for the Laguna support work in [ikawrakow/ik_llama.cpp#2003](https://github.com/ikawrakow/ik_llama.cpp/pull/2003), "Add Laguna M.1 GGUF support". At the time of quantization, the support branch commit was `be7d53ceec0c823c07d540e21828d7d187b02d3b`. Until Laguna support lands in the runners you use, these files should be treated as requiring the linked ik_llama.cpp PR or an equivalent Laguna GGUF implementation. The vanilla-compatible quant names below are chosen so that they should be useful if equivalent Laguna support lands in upstream llama.cpp later. ## License and attribution The upstream Laguna M.1 checkpoint is licensed under the [Apache License 2.0](https://huggingface.co/poolside/Laguna-M.1/blob/main/LICENSE.md), copyright 2026 Poolside. This GGUF repository uses the same Apache-2.0 license metadata and is based on [poolside/Laguna-M.1](https://huggingface.co/poolside/Laguna-M.1) at upstream revision `5bb2892a899809fd903829735f927207da358f2f`. Poolside's model names, branding, and logos remain Poolside's. This is an independent community GGUF conversion and quantization upload, not an official Poolside release. ## Quantization summary | Quant | Status | Size | PPL | KL divergence | | --- | ---: | ---: | ---: | ---: | | `IQ1_S` | finished | 43.91 GiB | 3.5836 +/- 0.06607 | pending | | `IQ1_S_R4` | quantizing | pending | pending | pending | | `IQ1_KT` | queued | pending | pending | pending | | `IQ2_XS` | uploaded | 63.07 GiB | pending | pending | | `IQ2_S` | uploaded | 63.08 GiB | pending | pending | | `IQ2_K_R4` | uploaded | 64.35 GiB | 2.6686 +/- 0.04561 | pending | | `IQ2_M` | uploaded | 69.47 GiB | pending | pending | | `Q2_K` | uploaded | 77.66 GiB | pending | pending | | `IQ3_XXS` | uploaded | 81.98 GiB | pending | pending | | `IQ3_S` | uploaded | 91.81 GiB | 2.4683 +/- 0.04051 | pending | | `IQ3_K_R4` | uploaded | 91.81 GiB | 2.4770 +/- 0.04102 | pending | | `Q3_K_S` | uploading | 91.81 GiB | pending | pending | | `Q3_K_M` | finished | 100.91 GiB | pending | pending | | `IQ4_XS` | uploaded | 112.80 GiB | 2.4227 +/- 0.03976 | pending | | `IQ4_KS_R4` | uploaded | 113.20 GiB | 2.4140 +/- 0.03950 | pending | | `Q4_K_S` | finished | 119.91 GiB | pending | pending | | `IQ4_NL` | quantizing | pending | pending | pending | | `IQ4_K_R4` | queued | pending | pending | pending | | `Q4_K_M` | uploaded | 127.33 GiB | 2.4084 +/- 0.03947 | pending | | `Q5_K_S` | queued | pending | pending | pending | | `IQ5_KS` | queued | pending | pending | pending | | `IQ5_KS_R4` | queued | pending | pending | pending | | `IQ5_K` | queued | pending | pending | pending | | `IQ5_K_R4` | queued | pending | pending | pending | | `Q5_K_M` | uploaded | 149.26 GiB | 2.4085 +/- 0.03954 | pending | | `IQ6_K` | queued | pending | pending | pending | | `Q6_K` | uploading | 172.85 GiB | 2.4368 +/- 0.04032 | pending | | `Q8_0` | uploaded | 223.63 GiB | pending | pending | | `BF16` | local source | 420.71 GiB | pending | pending | Rows are ordered by effective bit-width. Queued rows with pending sizes are placed by quant family and expected BPW. ## Imatrix and calibration corpus The imatrix used for these quants is the 256-chunk public Q8_0 run: - `laguna-m1-q8-public-v1-256-gatefix.imatrix` - SHA256: `449427a1a4c5d2480d98e3fcccc3884bd3aafa325d937741a162adf84e7e7eed` - Source model for imatrix collection: corrected Q8_0 GGUF of Laguna M.1 - Chunks: 256 - Tokens processed: 1,048,576 - Final imatrix-run PPL: `2.6084 +/- 0.00786` The original imatrix was collected with `llama-imatrix` from `Laguna-M.1-Q8_0-00001-of-00010.gguf` using `-c 4096`, `-ngl 999`, `--chunks 256`, `--no-warmup`, and all available CPU threads. The derived `gatefix` imatrix is a mechanically augmented copy of that original 256-chunk file (`c8a98474542e2ae7636d7ad0578552398eec3d769b6f9a2981f111a4ba06af12`). Laguna's fused up/gate graph records the shared activation stream under the up-projection tensor name, so the original imatrix had the up-projection entries but not all matching gate-projection names. The fix clones: - `.ffn_up.weight` to `.ffn_gate.weight` - `.ffn_up_exps.weight` to `.ffn_gate_exps.weight` - `.ffn_up_shexp.weight` to `.ffn_gate_shexp.weight` No numeric values were otherwise changed. Entry count went from 691 original entries to 828 derived entries, adding 137 cloned gate entries. This removes the shared-expert gate missing-weight warnings during quantization; the remaining missing imatrix entries are `output.weight` and `token_embd.weight`, which are explicitly kept at `q6_K` for these publication quants. The calibration corpus is `laguna-m1-imatrix-calibration-v1.txt`: - Size: 6,526,884 bytes - Lines: 130,856 - SHA256: `4d478cc0d10da862b0f70040b0c1d948fb88ddac83a5307059e61f02c206622f` The corpus was built by `build_laguna_imatrix_corpus.py`, with a companion manifest at `laguna-m1-imatrix-calibration-v1.manifest.json`. It combines: - A public baseline: `ubergarm-imatrix-calibration-corpus-v02.txt` (`6fd2187f10ab1b742cf85eaf35cf9fa20863a557f68451d6535195774cf1fd0a`, 1,699,017 bytes). That baseline is described as combining v5 rc calibration text with exllamav3 standard calibration data. - Local ik_llama.cpp source from branch `laguna-m1-support`, commit `be7d53ceec0c823c07d540e21828d7d187b02d3b`, with a clean worktree. The included source set covers the Laguna converter/runtime path, imatrix code, quantizer code, CUDA MMQ/MMVQ dispatch, common CLI/chat helpers, and IQK quantization code. - A deterministic Laguna-specific supplement: 1,200 generated blocks (12 topics x 10 languages/formats x 10 operations), 2,060,879 bytes, SHA256 `9aa0b10f45e79d7a7bfc2373375eec1890b92c8c1f76a74d9fa4c1b0bc8aeb5c`. The supplement focuses on Laguna M.1/XS.2 metadata, partial RoPE, SWA/global attention differences, MoE routing and deferred experts, GGUF tensor naming, CUDA inference, KV-cache quantization, speculative decoding, imatrix collection, and publication/reproducibility tasks. For provenance, the builder also downloaded and hashed `calibration_datav3.txt` from bartowski and `calibration_data_v5_rc.txt` from Tristan Dampf/Kalomaze, but did not concatenate them separately because they are already represented through the ubergarm v02 baseline. The Poolside technical report text/PDF, private shell history, download logs, local machine notes, and the earlier ad hoc `laguna-m1-code-calib.txt` were deliberately excluded. ## Compatibility notes - `Q2_K`, `IQ2_M`, `IQ2_XS`, `IQ2_S`, `IQ3_S`, `Q4_K_M`, `IQ4_XS`, `Q5_K_M`, `Q6_K`, and `IQ1_S` are intended as broad compatibility artifacts. - `IQ1_S`, `IQ1_S_R4`, and `IQ1_KT` are experimental very-low-bit artifacts for quality/size probing. - `IQ2_K_R4`, `IQ3_K_R4`, `IQ4_KS_R4`, `IQ4_K_R4`, `IQ5_KS_R4`, `IQ5_K_R4`, `IQ5_KS`, `IQ5_K`, and `IQ6_K` are ik_llama.cpp/Spark/Vector-oriented quants selected for direct CUDA MMQ fast paths in ik_llama.cpp. - The `*_R4` quants are not intended as universal llama.cpp artifacts today; use them with ik_llama.cpp or another runner that explicitly supports those tensor types. ## Metrics The PPL and KL divergence numbers in the table are measured on a fixed slice of the public calibration corpus. They are intended as reproducibility and regression checks for these artifacts, not as a general benchmark of Laguna M.1. Validation tries full GPU offload first and falls back to lower `-ngl` values if the quant is too large for full offload on the validation machine. Each quant's `eval-offload.tsv` records which offload setting succeeded for smoke and PPL checks. ## Reproducibility Quantization command shape: ```bash llama-quantize \ --keep-split \ --partial-requant \ --imatrix laguna-m1-q8-public-v1-256-gatefix.imatrix \ --output-tensor-type q6_K \ --token-embedding-type q6_K \ Laguna-M.1-BF16-00001-of-00010.gguf \ Laguna-M.1-