Some checks failed
Self-hosted runner (nightly-past-ci-caller) / Get number (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.11 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.10 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.9 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.8 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.7 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.6 (push) Has been cancelled
Self-hosted runner (nightly-past-ci-caller) / TensorFlow 2.5 (push) Has been cancelled
Self-hosted runner (benchmark) / Benchmark (aws-g5-4xlarge-cache) (push) Has been cancelled
Build documentation / build (push) Has been cancelled
Build documentation / build_other_lang (push) Has been cancelled
CodeQL Security Analysis / CodeQL Analysis (push) Has been cancelled
New model PR merged notification / Notify new model (push) Has been cancelled
PR CI / pr-ci (push) Has been cancelled
Slow tests on important models (on Push - A10) / Get all modified files (push) Has been cancelled
Secret Leaks / trufflehog (push) Has been cancelled
Update Transformers metadata / build_and_package (push) Has been cancelled
Slow tests on important models (on Push - A10) / Model CI (push) Has been cancelled
Check Tiny Models / Check tiny models (push) Has been cancelled
Self-hosted runner (Intel Gaudi3 scheduled CI caller) / Model CI (push) Has been cancelled
Self-hosted runner (Intel Gaudi3 scheduled CI caller) / Pipeline CI (push) Has been cancelled
Self-hosted runner (Intel Gaudi3 scheduled CI caller) / Example CI (push) Has been cancelled
Self-hosted runner (Intel Gaudi3 scheduled CI caller) / DeepSpeed CI (push) Has been cancelled
Self-hosted runner (Intel Gaudi3 scheduled CI caller) / Trainer/FSDP CI (push) Has been cancelled
Nvidia CI - Flash Attn / Setup (push) Has been cancelled
Nvidia CI - Flash Attn / Model CI (push) Has been cancelled
Nvidia CI / Setup (push) Has been cancelled
Nvidia CI / Model CI (push) Has been cancelled
Nvidia CI / Torch pipeline CI (push) Has been cancelled
Nvidia CI / Example CI (push) Has been cancelled
Nvidia CI / Trainer/FSDP CI (push) Has been cancelled
Nvidia CI / DeepSpeed CI (push) Has been cancelled
Nvidia CI / Quantization CI (push) Has been cancelled
Nvidia CI / Kernels CI (push) Has been cancelled
Doctests / Setup (push) Has been cancelled
Doctests / Call doctest jobs (push) Has been cancelled
Doctests / Send results to webhook (push) Has been cancelled
Extras Smoke Test / Get supported Python versions (push) Has been cancelled
Extras Smoke Test / Test extras on Python ${{ matrix.python-version }} (push) Has been cancelled
Extras Smoke Test / Check Slack token availability (push) Has been cancelled
Extras Smoke Test / Notify failures to Slack (push) Has been cancelled
Self-hosted runner (AMD scheduled CI caller) / Trigger Scheduled AMD CI (push) Has been cancelled
Stale Bot / Close Stale Issues (push) Has been cancelled
4.0 KiB
4.0 KiB
This model was published in HF papers on 2024-08-28 and contributed to Hugging Face Transformers on 2026-04-28.
Laguna
Laguna is Poolside's mixture-of-experts language model family. The Laguna-specific deltas vs a standard SwiGLU MoE transformer are:
- Per-layer head counts via
num_attention_heads_per_layer— different decoder layers can have different query-head counts while sharing the same KV cache shape. - Sigmoid MoE router with auxiliary-loss-free load balancing
(arXiv:2408.15664) and optional logit
soft-capping (
moe_router_logit_softcapping) — router scores are the element-wise sigmoid of the gate logits plus a learned per-expert bias (e_score_correction_bias) that is added at selection time only.
Usage
from transformers import pipeline
pipe = pipeline(
"text-generation",
model="poolside/Laguna-XS.2",
dtype="auto",
device_map="auto",
)
print(pipe("The capital of France is", max_new_tokens=20, do_sample=False)[0]["generated_text"])
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "poolside/Laguna-XS.2"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
dtype=torch.bfloat16,
device_map="auto",
)
prompt = "The capital of France is"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
generated = model.generate(**inputs, max_new_tokens=20, do_sample=False)
print(tokenizer.decode(generated[0], skip_special_tokens=True))
Notes
- Attention backends. SDPA (default), FlashAttention-2, and flex attention are supported. Attention-output gating is applied outside the kernel call and therefore works with all backends.
num_attention_heads_per_layer. When provided, its length must equalnum_hidden_layers. Each entry must be divisible bynum_key_value_heads.layer_types. Defaults to["full_attention"] * num_hidden_layerswhen left unset. To enable sliding-window attention, pass a list of"full_attention"/"sliding_attention"values.mlp_layer_types. Per-layer MLP type, values"dense"or"sparse". Length must equalnum_hidden_layers. Defaults to["dense"] + ["sparse"] * (num_hidden_layers - 1)(first layer dense, rest MoE) when left unset.moe_apply_router_weight_on_input=Trueis not currently supported alongside the fused experts kernel (grouped_mm_experts_forward);validate_architectureraises at config-construction time. Set it toFalse(the default).
LagunaConfig
autodoc LagunaConfig
LagunaModel
autodoc LagunaModel - forward
LagunaForCausalLM
autodoc LagunaForCausalLM - forward