跳到主要内容
返回时间线
Hugging Face - Blog来源发表:

IBM 发布 LLMON 标记语言与 Granite 4.1 预览模型:把指令和数据分开,间接提示注入大多失效

核心概要

IBM 发布 LLMON(LLM Object Notation)标记语言,以及基于 Granite 4.1 3B 和 8B 基座训练的两个实验预览模型 granite-4.1-3b-LLMON-preview 与 granite-4.1-8b-LLMON-preview,让模型按显式标签区分指令、数据与约束。在 OPI 基准上,LLMON 模型比测试中最好的前沿模型多挡住 47% 的攻击、比最好的开源模型多挡住 95%,同时通用能力与 Granite 4.1 Instruct 相当。这是实验性预览,官方说明可用于探索与评估,但不适合生产部署。

Source-provided article image: LLMON: An LLM-Native Markup Language, now in Granite 4.1 3B and 8B
Hugging Face

深度剖析

大模型的上下文里混着系统提示、历史对话、检索文档、工具返回和输出约束,这些成分的结构大多隐含在模型内部,或写在并非为语言模型设计的 JSON 里。IBM 发布的 LLMON 用保留的特殊 token 作分隔符,给每类成分打上有语义的标签,让结构对模型显式可见。 此前的做法是把这些成分压平成一段字符串,或依赖 JSON 这类为解析器设计的格式,模型只能自行推断哪部分是任务、哪部分是材料、哪部分是限制。 在 OPI 基准上,注入被放进经典 NLP 任务的数据中,非 LLMON 模型以很高概率执行注入指令;LLMON 预览模型比测试中最好的前沿模型多避开 47% 的攻击,比最好的开源模型多避开 95%,在 ASB 和 StruQ 上趋势类似。

LLMON 把一轮对话拆成若干可单独寻址的块,再用一个执行块声明运行哪条指令、作用于哪些数据、受哪些要求约束、结果写到哪里。 常规聊天模板只告诉模型哪部分属于哪个角色,LLMON 进一步说明每个成分的含义以及成分之间的关系,并让未被执行块引用的指令和数据被忽略。 两个预览模型从 Granite 4.1 基座检查点出发,把常规指令微调语料重新序列化为 LLMON,并加入故意不绑定的诱饵指令与数据块;随后经过五个 GRPO 阶段和基于一千对同策略偏好样本的 DPO 阶段,训练数据覆盖聊天、多轮、RAG 与工具调用。

启示与展望

已展示的范围是 OPI、ASB 和 StruQ 上的静态间接提示注入鲁棒性,以及标准基准类别上与 Granite 4.1 Instruct 相当的通用能力;ScienceWorld 示例展示的是在 LLMON 模型上微调 LoRA 以读写自定义标签词表。发布方明确说明这是实验性预览,适合探索与评估,不适合生产。

发布方指出,指令与数据的权限区分是学到的行为,不是强制保证;这些基准测试的是静态间接注入,随多轮对话展开的自适应攻击仍在改进中。