小型语言模型到底能做什么?
内容提要
小型语言模型(SLM)虽知识量有限,但适合本地运行,可处理三类任务:保密数据文档结构化、批量分类(如邮件路由)及低延迟即时响应。关键在于将知识外置(如用模式约束输出),避免依赖模型记忆,并注意上下文窗口和推理限制。
延伸解读
能力基准不等于知识可靠性
文章指出,通用能力基准分数与知识可靠性并不相关。这意味着,一个模型在基准测试中得分高,并不代表它记住的事实更准确。因此,在选择模型时,不应仅依赖基准分数,而应关注具体任务需求。对于小型模型,其知识量有限,但通过将知识外置(如使用模式约束),可以弥补这一不足。
上下文窗口的隐性陷阱
小型模型的有效上下文通常远低于宣传值,且当输入达到广告窗口的40%时,模型可能变得不可靠。尤其值得注意的是,位于输入中间部分的内容容易被忽略,即“lost in the middle”问题。这会导致模型在总结长文档时,可能静默地遗漏中间信息,而输出看起来却正常。因此,处理长文本时应格外小心,或采用分段处理。
任务设计的关键:知识外置
文章强调,小型模型最适合的任务是那些知识不在模型内部的任务,例如通过模式约束输出、使用标签集分类、或直接处理屏幕上的文本。这些任务中,模型只需执行操作,而非依赖记忆。因此,设计任务时应尽量将所需知识外置,避免让模型从自身权重中提取事实,这样才能发挥小型模型的优势。
Q&A
小型语言模型(SLM)适合处理哪些类型的任务?
小型语言模型适合处理三类任务:一是处理不能离开本机的保密数据,如文档结构化;二是批量分类任务,如邮件路由、文档归档;三是需要低延迟的即时响应任务。这些任务的共同点是知识外置,模型不需要依赖自身记忆。
为什么说“模型知道得少”不是拒绝使用小型语言模型的理由?
因为没有一个模型是可靠的事实存储库,通用能力基准分数与知识可靠性并不相关。小型模型虽然知识量少,但通过将知识外置(如使用模式约束输出),可以完成许多实际任务。
小型语言模型在哪些方面存在明显局限?
小型语言模型有三个主要局限:一是难以进行需要长期连贯性的复杂推理,如高难度数学和复杂代码生成;二是参数化知识有限,容易在训练数据稀少的领域产生幻觉;三是有效上下文窗口远低于标称值,且中间部分内容容易被忽略。
如何利用小型语言模型处理保密数据?
对于不能离开本机的数据,可以使用小型语言模型进行文档结构化,将非结构化文本转换为可查询的记录。关键在于使用模式约束解码,强制模型输出符合预定义模式的结构化数据,从而将困难部分从模型中移出。
小型语言模型在批量分类任务中有什么优势和局限?
优势是成本低,适合处理大量简单分类任务,如邮件路由、文档归档。局限是难以处理困难案例,因此建议采用两级架构:本地模型处理大部分简单案例,不确定的升级到更大模型或人工处理。
为什么低延迟场景适合使用小型语言模型?
因为小型语言模型可以在本地内存中快速响应(几百毫秒),而大型模型通过网络需要两秒以上。对于频繁调用的小任务,低延迟至关重要,且这些任务通常输入短、输出即时可见,不依赖模型记忆,错误能立即被发现。
使用小型语言模型时,如何避免上下文窗口带来的问题?
避免将整个文件一次性输入模型,而是只输入需要的片段(如字段、行、段落)。同时要注意有效上下文窗口通常远低于标称值,且中间部分内容容易被忽略,因此应尽量保持输入简短,并确保输出即时可见以便检查。