给大模型的指令设上限:一项可量化的指令容量测试
导语
大模型通常被描述为“能遵循多少条指令”,但这个问题很难直接回答:不同任务的复杂度不同,指令之间也可能互相冲突,传统评测很难把“负载”统一成可比较的单位。论文《Instruction Capacity: Behavior and Degradation of Language Models under Controlled Load》尝试提供一种更像实验仪器的测量方法。
把指令变成可计数的负载
研究者设计了一类没有语义内容的文本变换任务:给定一段文本和若干规则,每条规则都把一个单词替换成另一个单词。规则被刻意设计为原子化且相互独立,因此模型需要做的不是理解复杂意图,而是在上下文中记住规则,并在正确位置执行替换。
这种设计有两个关键优点。第一,每次替换都可以被程序自动核验,结果不是依赖人工判断的“看起来不错”。第二,每个替换都有明确的位置和对应的规则编号,可以将它视为一次结果已知的伯努利试验。研究由此统计不同负载条件下,模型做对单次替换的概率。
研究观察到什么
论文没有只用一个总体准确率,而是分别分析了多个变量:
- 规则数量增加时,正确率呈现与规则数量对数相关的规律;
- 替换密度提高后,准确率出现饱和式变化,并进一步导致整体答案崩溃;
- 规则在列表中的位置会影响执行效果,相关变化可用幂律描述;
- 文本长度与替换词在答案中的位置并非完全独立,而是形成相互作用的约束;
- 整体答案的退化遵循自身规律,更受文本负载和生成进度影响,而不只是由指令条数决定。
在 GPT-4o mini 上,研究累计分析了 2958 次请求和 642430 次替换试验。基于拟合得到的平滑规律,作者定义了“指令容量”:在给定正确替换比例下,模型能够承受的规则数量,并为这一数值提供不确定性估计。结果显示,在正确替换比例为 0.95 时,容量约为 37—38 条;当替换密度达到完全替换时,容量约为 18—19 条。
意义与边界
这项工作的价值不在于给所有模型排出一个简单名次,而在于把“指令太多后会失效”转化为可重复、可计算的测量问题。它为模型对比、提示词设计和代理系统的任务拆分提供了一个潜在工具:开发者可以观察负载来自规则数量、规则顺序,还是输出过程中的位置效应。
不过,这一指标衡量的是特定受控任务中的规则执行能力,并不等同于模型的通用推理能力、知识水平或真实工作流中的指令上限。不同编码方式、文本分布和负载类型仍可能得到不同结果。论文公开了测试数据、仪器说明和代码,且报告中的数值可以根据数据重新计算,这使后续复现和批评成为可能。
评论
正在确认登录状态……
正在加载评论……