n-gram
将文本切分为连续n个token组成的片段,用于检测近似重复内容的技术,常用于数据污染检测。
时间轴 (近 90 天)
在512字节约束下,语言模型不可能容纳任何有实际词汇量的神经网络,更可能的形式是极简n-gram查表、硬编码有限状态机或微型概率模型。
n-gram模型不需要神经网络,参数就是一张频率表,因此可以被极致压缩。
对每个指令集进行污染检测使用两项检查:题目文本取 HumanEval 文档字符串前 80 个字符归一化后比对;标准答案去掉注释和文档字符串后检查 13 个 token 的 n-gram 是否有过半匹配。
n-gram 匹配中 n 的取值是一个权衡:n 太小(如 3)会因常见短语产生大量假阳性;n 太大(如 50)则对合理的代码改写过于敏感,容易漏检;13 是代码场景下经验性的折中选择。
模型在第1层和第14层放置n-gram查找表,24个哈希各索引约1600万行,总计1960亿参数,超过模型权重的三分之一
约200GB的n-gram表存于普通系统内存而非显卡,后台传输预取即将用到的行
阿里巴巴八月底发布的一款Qwen Flash模型也将510亿n-gram参数放进系统内存运行
一味追逐n-gram重叠会把蕴含精度从0.522拖低到0.266
全部知识事实 (8)
在512字节约束下,语言模型不可能容纳任何有实际词汇量的神经网络,更可能的形式是极简n-gram查表、硬编码有限状态机或微型概率模型。
50%待验证n-gram模型不需要神经网络,参数就是一张频率表,因此可以被极致压缩。
50%待验证对每个指令集进行污染检测使用两项检查:题目文本取 HumanEval 文档字符串前 80 个字符归一化后比对;标准答案去掉注释和文档字符串后检查 13 个 token 的 n-gram 是否有过半匹配。
50%待验证n-gram 匹配中 n 的取值是一个权衡:n 太小(如 3)会因常见短语产生大量假阳性;n 太大(如 50)则对合理的代码改写过于敏感,容易漏检;13 是代码场景下经验性的折中选择。
50%待验证模型在第1层和第14层放置n-gram查找表,24个哈希各索引约1600万行,总计1960亿参数,超过模型权重的三分之一
50%待验证约200GB的n-gram表存于普通系统内存而非显卡,后台传输预取即将用到的行
50%待验证阿里巴巴八月底发布的一款Qwen Flash模型也将510亿n-gram参数放进系统内存运行
50%待验证一味追逐n-gram重叠会把蕴含精度从0.522拖低到0.266
50%