meituan-longcat/LongCat-2.0
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

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),并使用数千亿 tokens 的100 万上下文长度(1M-context) 数据对 LongCat-2.0 进行训练。结合专门的后训练过程,LongCat-2.0 在编码和智能体任务上展现出强劲性能。

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

LongCat-2.0 Benchmark Charts

核心特性

🌟 LongCat 稀疏注意力机制(LongCat Sparse Attention)

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

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

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

🌟 N-gram 嵌入(N-gram Embedding)

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。