meituan-longcat/LongCat-2.0
模型介绍文件和版本Pull Requests讨论分析

LongCat-2.0

LongCat-2.0

Hugging Face ModelScope
Wechat Discord Twitter Follow
License

技术博客 📄

模型介绍

我们推出 LongCat-2.0,这是一款大规模混合专家(MoE)语言模型,总参数达1.6万亿,每 token 激活参数约480亿——相比前代 LongCat 模型实现了显著提升,同时带来多项架构改进。

完整训练流程与大规模部署均完全基于AI ASIC 超级集群构建。预训练跨越超过35万亿 tokens,累计数百万加速器日,期间无回滚操作或不可恢复的损失峰值——这表明我们具备在替代硬件平台上开展前沿规模训练的能力。

为增强模型在长序列任务上的表现,我们引入 LongCat 稀疏注意力机制(LongCat Sparse Attention),并在100万上下文长度的数千亿 tokens 数据上训练 LongCat-2.0。结合专门的后训练优化,LongCat-2.0 在编码任务和智能体任务中展现出强劲性能。

LongCat-2.0 深度集成 Claude Code、OpenClaw、Hermes 等主流工具链,在代码理解、仓库级编辑、自动化任务执行及智能体工作流等场景中均表现优异——为开发者提供更稳定高效的协作体验。

LongCat-2.0 Benchmark Charts

核心特性

🌟 LongCat 稀疏注意力机制

针对 DSA 中 Lightning Indexer 存在的输出不连续性和二次方评分瓶颈,我们提出 LongCat 稀疏注意力机制(LSA)。LSA 包含三项正交改进:

  • 流式感知索引(SI):重构 token 选择预算,将硬件对齐的连续访问与动态随机选择相结合。这一设计将碎片化内存访问转化为可预测的顺序读取,实现聚合高带宽内存(HBM)访问与高效带宽利用。
  • 跨层索引(CLI):利用相邻层间注意力显著性的经验稳定性来分摊索引成本:推理时单次索引可服务多个连续层,这通过训练阶段的跨层知识蒸馏实现。
  • 层级索引(HI):采用由粗到细的两阶段评分方案——首先通过块级近似评分进行粗召回,然后在召回候选集中进行细粒度 token 选择——大幅缩减索引器需处理的查询候选空间。

所有策略均无缝扩展至用于推测解码的三步多 token 预测(Multi-Token Prediction)模块。对于 CLI,目标模型每2层共享一次索引;而所有3步 MTP 草稿生成共享单次索引计算。

🌟 N-gram 嵌入

LongCat-2.0 继承自 LongCat-Flash-Lite 的 N-gram 嵌入技术,通过在与 MoE 正交的稀疏维度上扩展参数,提升参数利用效率。模型包含1350亿 N-gram 嵌入参数,其设计遵循以下缩放原则:

  • MoE 的稀疏性已跨越最优平衡点
  • N-gram 嵌入的占比被限制在最优范围内

这两项原则确保 N-gram 嵌入相比同等规模的纯 MoE 模型具有稳健的性能优势。

更多详情请参阅我们的 博客。

评估结果

我们从智能体能力、代码能力、搜索能力、生产力及基础能力等维度,将LongCat-2.0与主流专有模型进行了对比评估。除非标注有*,否则所有分数均为在统一测试框架下的内部测量结果。

基准测试
LongCat-2.0
Gemini 3.1 Pro
GPT-5.5
Claude Opus 4.6
Claude Opus 4.7
Claude Opus 4.8
代码智能体
Terminal-Bench 2.1
70.8
70.7*
73.8*
-
71.7*
78.9*
SWE-bench Pro
59.5
54.2*
58.6*
57.3*
64.3*
69.2*
SWE-bench Multilingual
77.3
76.9*
-
77.8*
80.5*
84.8*
通用智能体
FORTE ↗
73.2
70.3
77.8
73.2
77.6
77.2
BrowseComp
79.9
85.9*
84.4*
84.0*
79.3*
84.3*
RWSearch ↗
78.8
76.3
85.3
81.3
79.3
77.3
基础能力
IFEval
90.0
96.1
95.0
92.2
88.7
86.0
Writing Bench
83.8
83.7
84.7
-
85.3
85.2
IMO-AnswerBench
81.8
90.0
79.5
75.3*
81.8
75.3
GPQA-diamond
88.9
94.3*
93.6*
91.3*
94.2*
92.4

注:*——引自模型官方报告;-——无公开可比分数。

聊天网站

您可以在我们的官方网站上与 LongCat-2.0 进行聊天:https://longcat.ai/。

部署

LongCat-2.0 可部署在 GPU 和 NPU 平台上。

GPU

关于 GPU 部署,请参考 SGLang 指南。

NPU

关于 NPU 部署,请参考 SGLang-FluentLLM。

聊天模板

我们在 tokenizer_config.json 文件中为 LongCat-2.0 提供了聊天模板,可用于将消息列表编码为模型输入的单个字符串。

以下是使用该模板的简要示例:

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("meituan-longcat/LongCat-2.0", trust_remote_code=True)

tools = [
    {
        "type": "function",
        "function": {
            "name": "func_add",
            "description": "Calculate the sum of two numbers",
            "parameters": {
                "type": "object",
                "properties": {
                    "x1": {"type": "number", "description": "The first number to add"},
                    "x2": {"type": "number", "description": "The second number to add"},
                },
                "required": ["x1", "x2"],
            },
        },
    },
    {
        "type": "function",
        "function": {
            "name": "func_multiply",
            "description": "Calculate the product of two numbers",
            "parameters": {
                "type": "object",
                "properties": {
                    "x1": {"type": "number", "description": "The first number to multiply"},
                    "x2": {"type": "number", "description": "The second number to multiply"},
                },
                "required": ["x1", "x2"],
            },
        },
    },
]

messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Calculate 1+1"},
    {
        "role": "assistant",
        "reasoning_content": "Calling func_add to calculate 1+1",
        # Note: unlike the standard OpenAI format, we expect `arguments` to be a dict rather than a string.
        "tool_calls": [
            {"type": "function", "function": {"name": "func_add", "arguments": {"x1": 1, "x2": 1}}},
        ],
    },
    {"role": "tool", "name": "func_add", "content": '{"ans": 2}'},
    {"role": "assistant", "reasoning_content": "The result is 2", "content": "2"},
    {"role": "user", "content": "Check your answer, is it correct?"},
]

# thinking mode on
prompt_think = tokenizer.apply_chat_template(
    messages,
    tools=tools,
    tokenize=False,
    enable_thinking=True,
    add_generation_prompt=True
)

# thinking mode on, keeping all reasoning content for better performance
prompt_full = tokenizer.apply_chat_template(
    messages,
    tools=tools,
    tokenize=False,
    enable_thinking=True,
    add_generation_prompt=True,
    save_reasoning_content=True
)

# thinking mode off, for better token efficiency
prompt_no_think = tokenizer.apply_chat_template(
    messages,
    tools=tools,
    tokenize=False,
    enable_thinking=False,
    add_generation_prompt=True
)

许可协议

模型权重以MIT许可证发布。

除非另有说明,本仓库的所有贡献均采用MIT许可证。本许可证不授予使用美团商标或专利的任何权利。

完整许可文本详见LICENSE文件。

使用注意事项

本模型并非针对所有可能的下游应用场景进行专门设计或全面评估。

开发者应考虑到大型语言模型的已知局限性,包括在不同语言间的性能差异,并在将模型部署于敏感或高风险场景前,仔细评估其准确性、安全性和公平性。开发者及下游用户有责任了解并遵守与其使用场景相关的所有适用法律法规,包括但不限于数据保护、隐私和内容安全要求。

本模型卡片中的任何内容均不应被解释为对模型发布所依据的MIT许可证条款的修改或限制。

联系方式

如有任何问题,请通过longcat-team@meituan.com与我们联系,或提交issue。