X 用户称 GBNF 是本地大模型“减幻觉突破”,其实就是给输出立语法
作者:林序
11 月 5 日,X 用户 @jay_k 发帖称找到降低本地大模型幻觉的“突破”GBNF,但它本质是 llama.cpp 内置的语法约束功能,管格式不管真假,帖子也没给出量化数据。
11 月 5 日,X 用户 @jay_k 发帖称,找到降低本地大模型幻觉的“突破”——GBNF(GGML 巴科斯-诺尔范式,BNF 是描述语法规则的常用记法)。
按帖子的说法,GBNF 直接内置在 llama.cpp 和 llama-server 里,逐 token 强制模型遵守严格的结构规则 。token 可以理解成模型输出的最小片段。
打个比方,就是让模型填表格。生成每一个词时,不合语法规则的候选会被排除,模型只能在给定格式内作答,比如稳定吐出一段合法 JSON。它管的是格式,不是事实:表格填得再规整,里面的数字仍然可能是编的。
“突破”的说法也有待推敲。帖子自己把 GBNF 描述为 llama.cpp 的“内置”功能 ,也就是说它不是作者新提出的方法;这段文字是串文开头,被截断的部分暂时看不到任何量化对比数据;帖中“our local LLM”的措辞,让人怀疑作者可能在推广自家本地模型服务,目前没有证据。
对在自己机器上跑模型的用户,GBNF 的用处是让应用稳定拿到结构化输出。至于模型胡说八道的毛病,别指望这一项功能治好。
转载说明
本文根据以下公开资料整理,原文及配图出处见下方。
0
评论 0
还没有评论,来抢沙发。