HuggingFace镜像/Laguna-XS.2
模型介绍文件和版本分析
下载使用量0

poolside-banner

在 Shimmer 中试用 Laguna XS.2 · 获取 API 密钥 · 发布博客文章


Laguna XS.2

Laguna XS.2 是一个总参数量为 330 亿的混合专家模型(Mixture-of-Experts),每个 token 激活 30 亿参数,专为本地机器上的智能体编码和长周期任务而设计。它在 40 层中的 30 层采用了带每头门控的滑动窗口注意力(Sliding Window Attention),以实现快速推理和低 KV 缓存需求。

[!NOTE] 有关我们如何训练此模型的更多详细信息,包括数据自动混合和异步离策略智能体强化学习,请查看我们的发布博客文章。

亮点

  • 混合 SWA 与全局注意力布局:Laguna XS.2 采用 sigmoid 门控和每层旋转尺度,以 3:1 的比例(共 40 层)实现混合 SWA(滑动窗口注意力)和全局注意力层
  • FP8 格式 KV 缓存:KV 缓存量化为 FP8 格式,减少每个 token 的内存占用
  • 原生推理支持:工具调用之间的交错思维,并支持按请求启用和禁用思维
  • 本地就绪:总参数量 330 亿,激活参数 30 亿,Laguna XS.2 足够紧凑,可在配备 36 GB 内存的 Mac 上运行。在 Ollama 上可用
  • Apache 2.0 许可证:可免费用于商业和非商业目的,并允许修改

模型概述

  • 训练:预训练、后训练和强化学习阶段
  • 参数数量:总参数 330 亿,每个 token 激活 30 亿
  • 优化器:Muon
  • 层数:40 层(10 层带全局注意力,30 层带滑动窗口注意力)
  • 专家:256 个专家,含 1 个共享专家
  • 滑动窗口:512 个 token
  • 模态:文本到文本
  • 上下文窗口:131,072 个 token
  • 推理支持:带保留思维的交错思维

基准测试结果

benchmarks

模型规模(总参数)SWE-bench VerifiedSWE-bench MultilingualSWE-bench Pro(公共数据集)Terminal-Bench 2.0
Laguna XS.233B68.2%62.4%44.5%30.1%
Devstral Small 224B 密集型68.0%55.7%-22.5%
Gemma 4 31B IT31B 密集型52.0%51.7%35.7%42.9%
Qwen3.5-35B-A3B35B69.2%60.3%44.6%40.5%
Qwen3.6-35B-A3B35B73.4%67.2%49.5%51.5%
Claude Haiku 4.5-73.3%-39.5%29.8%
GPT-5.4 Nano---52.4%46.3%

我们对所有对比模型在各基准测试中均采用了公开引用的最高分数。几乎所有情况下,这些分数均为发布博客文章或同等官方渠道公布的官方分数,例外情况包括:Gemma 4 31B IT 的最高公布分数由Qwen 团队报告;Claude Haiku 4.5 的 SWE-bench Pro 和 Terminal-Bench 2.0 最高公布(已验证)分数则来自其各自的官方排行榜。

展开查看基准测试方法

Laguna XS.2 的所有基准测试均使用 Laude Institute 的 Harbor Framework 及其智能体工具包完成,最大步骤数为 500,沙箱执行环境为 8 GB RAM/2 CPU(Terminal-Bench 2.0 除外;详见下文)。所有基准测试均采用相同的采样参数:temperature=0.7,top_k=20。部分基础任务镜像和验证器进行了补丁修复,以解决任务设置中固有的基础设施可靠性问题,例如验证器使用的外部 registry 中第三方依赖的速率限制。有关这些更新和其他发现的更多详情,将在后续技术博客文章中阐述。

  • SWE-bench Verified:4 次运行的平均 pass@1。
  • SWE-bench Multilingual:7 次运行的平均 pass@1。
  • SWE-bench Pro:3 次运行的平均 pass@1。
  • Terminal-Bench 2.0:5 次运行的平均 pass@1。配置为 48GB RAM/32 CPU。

使用方法

Laguna XS.2 在发布当天即获得 vLLM 和 Transformers 的支持,并且在 NVIDIA 团队的支持下实现了 TRT-LLM 的支持。

快速开始使用的方式是直接使用我们的 API,或通过 OpenRouter 进行使用。

[!NOTE] 我们将在有限时间内免费提供 Laguna XS.2 以及我们更大规模的 2250 亿参数模型 Laguna M.1 的 API 访问权限。您可以在我们的 平台 上创建 API 密钥。

pool

pool 是一款轻量级终端编码代理,同时也是一个双端 Agent Client Protocol 客户端-服务器。

适用于 macOS 和 Linux 的下载与安装:

curl -fsSL https://downloads.poolside.ai/pool/install.sh | bash

启动并通过 Poolside 登录 以获取免费 API 密钥。

pool

可在任何 ACP 客户端 中使用。自动配置 Zed 和 JetBrains:

pool acp setup --editor zed|jetbrains

使用带 Ollama 的池,只需一个命令即可完成设置:

ollama pull laguna-xs.2
ollama launch pool --model laguna-xs.2

反馈与问题

使用 /feedback 提交反馈,并阅读 GitHub 上的完整文档。

本地部署

Laguna XS.2 支持 vLLM、Transformers,以及借助 NVIDIA 团队支持的 TRT-LLM。在本地机器上,搭配 Ollama(支持 MLX)和 mlx-lm 框架使用 Laguna-XS.2 可获得最佳体验。

vLLM

通过 vLLM 在本地部署 Laguna XS.2,并可从任何兼容 OpenAI 的客户端对其进行查询(有关工具调用、流式传输和推理提取,请参见控制推理):

[!NOTE] Laguna XS.2 支持已合并至 vLLM(vllm-project/vllm#41129),并将在下一版本中发布。在此之前,请安装 nightly 版本的 wheel 包:

pip install vllm --pre --extra-index-url https://wheels.vllm.ai/nightly

VLLM_USE_DEEP_GEMM=0 vllm serve \
    --model poolside/Laguna-XS.2 \
    --tool-call-parser poolside_v1 \
    --reasoning-parser poolside_v1 \
    --enable-auto-tool-choice \
    --served-model-name laguna \
    --default-chat-template-kwargs '{"enable_thinking": true}'

有关其他部署指南,请参见 vLLM 指南页面。

推测解码(DFlash)

为实现更低延迟,请搭配 Laguna-XS.2 DFlash 推测器 部署 Laguna XS.2。这是一个 5 层 Llama 风格的草稿模型,在编码任务中每步可生成多达 7 个 token,位置接受率约为 70%。

[!NOTE] DFlash 支持已通过 vllm-project/vllm#41880 集成到 vLLM 中,并在上述 nightly 版本的 wheel 包中提供。需要设置 VLLM_USE_DEEP_GEMM=0:DeepGEMM 当前与 DFlash 草稿路径不兼容。

VLLM_USE_DEEP_GEMM=0 vllm serve poolside/Laguna-XS.2 \
    --trust-remote-code \
    --enable-auto-tool-choice \
    --tool-call-parser poolside_v1 \
    --reasoning-parser poolside_v1 \
    --speculative-config '{"model":"poolside/Laguna-XS.2-speculator.dflash","num_speculative_tokens":7,"method":"dflash"}'

完整方案请参见vLLM 配方页面的 DFlash 部分。

Transformers

Laguna XS.2 在 Transformers v5.7.0 及更高版本中受支持(huggingface/transformers#45673)。

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",
)

messages = [
    {"role": "user", "content": "Write a Python retry wrapper with exponential backoff."},
]

# Reasoning is on by default; pass enable_thinking=False to skip the