固执的小模型
前阵子 Google 的 Gemma 系列模型发了不少新闻, 其中最感兴趣的是那个为端侧准备的 3N. 号称 2GB 内存就能运行的性能趋近千亿参数的满血版本. 正好 Ollama 也上了就拉下来试一下. 结果你别说, 你还真别说, 那个拉垮啊.
出门在外暂时没法连接上开发机, 模型对话记录晚点再补上. 先说结论, 现有的小模型对知识的抽象程度不够, 或者可能压根儿没有. 甚至我觉得规模更大的模型可能也没有.
测试是这样的. 我之前那篇“人话模式”里写了我做了个简单的把 cron 表达式翻译成人话的小工具. 写的过程里当然要查很多文档. 于是知道了 cron 表达式的很多变体和特例. 比如 “LW” (Last weekday). 不在标准 cron 的范畴里, 但是是标准的 quatz cron. 在构造了一个含有 LW 的 cron 表达式之后, 扔给 3N 要求给出人话. 用了三种语言分别尝试, 简中, 英文和日文.
简中: 固执的认为是非法表达式. 即使告诉他这是个完全合法的 quartz cron 表达式, 甚至他自己的想到可能是 quartz 标准, 依然固执的认为表达式非法. 甚至明确告诉他 LW 代表最后一个工作日, 依然固执. 开了联网 RAG 之后也一样, 甚至都抓到了我当时参考的一个文档, 就死犟.
(Placebo for dialog history)
英文: 一次答对. 分析到了可能是 quartz cron, 正确识别了 LW.
(Placebo for dialog history)
日文: 一开始也固执, 提示了是 quartz cron 也固执, 允许了联网 RAG 之后正确.
(Placebo for dialog history)
观察下来的现象就是对于同一个“知识”, 如果没有对应语言的训练或者微调, 是没办法直接跨语言 transfer 的. 按照这个思路来推演的话, 会得到一个结论, 对于同一个语言的训练语料, 需要尽可能的多样性. 继续推演会得到一个暴论, 不可能出现任何好用的简中模型. 不是说中国做不出, 是任何团队都做不出. 因为已经不存在高质量的简中语料可供训练了. 当网络上充斥着诸如 “YYDS” 这种晦气东西的时候, 就能理解为何最近 DeepSeek 3.1 生成代码时候出现注入广告的问题.