这期把 o1 放到最后讲,前面先过了 Claude 的企业版和 Anthropic 那套上下文检索——后者用一个很简单的办法把检索失败率降了 67%。o1 部分最值得记的不是分数,是那张多次采样的曲线:base 已经七八十分的模型,靠多轮采样居然还能继续往上走。
Claude for Enterprise 的客户名单挺能说明问题——Midjourney、GitLab 都在用。而它的核心功能其实只有三个:企业知识库、共享工作产物(Artifacts 天然能干这事)、数据安全。
配套的是把额度往上抬:企业端 context 做到 500K,文件量级也放得很开——几十个 30 分钟的销售通话记录、10 万行级别的代码,都能一次塞进去。
传统 RAG 有个结构性问题:在 encoding(多半是 embedding)这一步就会丢 context。把文章切片,即使留了 overlap 也会丢——像财报这种,每一个块都和全文的其他部分有关系,切开就散了。
这个问题有传统解法,但 Anthropic 的说法是效果一般都很差。他们提的 Contextual Retrieval 技术上非常简单:embedding 加上上下文化的 BM25。
效果很实在:检索失败次数减少 49%,再结合 rerank 之后减少 67%。代码开源了,notebook 写得挺细,没多少东西,可以直接看。
Functionary 这个模型主打的是把函数调用的各种情况都覆盖到:并行 function call、多轮调用、缺参数时的 follow up、code interpreter——按它的说法是全都支持。
对比的对象是 Nexus、Gorilla(伯克利那套做 function call 模型和基准的)和 GPT-4。它官网上还多了个 nested function call——大概是要先调一个函数,另一个函数的参数才拿得到。工程或 API 一复杂,这种嵌套就是绕不开的。
o1 当时是个明确的早期模型,限制很多:temperature、top_p、top_k 全是固定值,不支持流式输出,不支持工具调用。官方文档里直接把它叫 reasoning model。
最大的结构差别在 context 怎么算。它引入了一个新概念——reasoning token(推理标记):输入之外,模型自己的推理过程也是 token,而且这部分同样计费,所以消耗量可能很大。
整个过程是一轮一轮推进的:输入 + 它的 reasoning → 输出;再把输入和输出拼起来,作为下一轮的输入。
有一张图值得单独拎出来:多次推理能不能带来更好的准确率。
老模型也能靠多次采样提一点,但从十几分只能提高几分。而 o1-preview 能从 40 多提到 50 多,o1 完整体能从 70 多提到 80。
绝对提升幅度看着差不多都是十几分,但 o1 的 base 已经那么高了,还能靠多轮采样继续往上走——这才是这一代模型最大的差别。这个效应在 AIME 这类任务上很明显,GPQA 上变化就不大。
有个用法很适合做数据的团队:拿大模型来验证数据集质量。它的提示词大意是「你擅长检查医学领域数据集的质量」,然后一行行喂医疗数据,判断是否 valid。
判断标准写得很具体:分析逻辑关系、检查数据一致性、动用通用医学知识、在该数据的假设前提下评估。
这类任务的性质很典型——有明确的评价标准,但路径不确定。没有一套明确的 rule base 能穷举,所以正好交给模型。而且它不只能验证,还能生成、还能定位问题的原因,给几个 example 就能跑。
OpenAI 当时已经和美国、英国的 AI Safety Institute 建立了合作。这件事在商务沟通里值得留意:名义上是安全研究所,实际意味着大部分数据大概率会被安全部门看到。
模型侧也能看出代际差异:4o 的 scorecard 是三项低、一项中;o1 的评级明显更高——能力上去了,风险评估自然也跟着上去。