女士们先生们,我是丹尼尔·伯克(Daniel Burke),一位机器学习工程师。欢迎来到2025年8月的机器学习和人工智能月度回顾。这是我对每月撰写的基于文本的新闻通讯的视频解说,内容涵盖机器学习领域最新且最出色的动态,特别关注开源项目。请查看描述栏中的链接以获取所有内容;如果您只想阅读正在发生的事情,也可以直接查阅。

但这绝对是一个令人惊叹的月份。我们迎来了Dino V3、Gemma 270亿参数版(注:原文为Gemmas 2/3.5等,此处依字幕音译或指代特定版本)、Lang Extract、GPTOSS、Ovis 2.5等,而这还只是一半。所以,让我们直接开始吧。2025年8月,出发!顺便提一下,如果您希望下个月将此文章直接发送到您的邮箱,可以在这里输入您的电子邮件地址。这是免费的,而且非常棒。

让我们从我的工作开始说起。ZTM与Hugging Face Transformers合作的目标检测项目即将推出。我们将采用Hugging Face上现有的目标检测模型,并针对特定用例进行微调。因此,如果您也想构建自己的目标检测模型以及演示程序,请去查看该教程。代码和文本全部开源且已完成制作,视频课程正在编辑中。

因此,该教程将在ZTM平台上很快上线。我已经开始了新工作(剧透预警):使用Hugging Face Transformers进行LLM微调的项目。所以很快您就会看到,或者也许在不久之后,将有一个LLM微调项目即将推出。我们将针对我们自己的特定用例对大型语言模型进行微调,这样我们就可以在自己的硬件上运行它。

我们将不需要调用任何API接口。因此,如果您想学习如何微调LLM,请继续关注后续内容。无论如何,让我们跳转到互联网部分的内容吧。以下是我在过去几周中关注并喜欢的几篇博客文章之一。“Vibe Coding是遗留代码”(Vibe Code is Legacy Code),作者是史蒂夫·克劳斯(Steve Krauss)。

还有一段与之相关的精彩视频,我不会在这里展示全部内容,但这是一场35分钟的演讲,探讨了人脑在编程中的作用。这些观点中的许多部分实际上是相互关联的,我们稍后会逐一探讨。但我非常喜欢这种对Vibe Coding(氛围编程/直觉编程)的看法:我们已经有了一种术语来描述那些没人能理解的代码,那就是“遗留代码”。

如果您不确定什么是Vibe Coding,我会在屏幕上显示安德烈·卡帕西(Andre Capathy)给出的原始定义。基本上,它是利用LLM帮助您编写代码,然后忘记这些代码甚至存在过。当然,对此有很多不同的定义。我同意原始的定义:即使用LLM构建那些您并不真正介意或关心的东西,或者用于学习目的。

这是一篇很棒的阅读材料。“2025年严肃编程与AI”(Serious Coding with AI in 2025)。是的,这是安德烈·卡帕西(Andre Capathy)的后续文章,他正是最初提出“Vibe Coding”这一术语的人。因此,如果您在2025年构建一些您打算长期维护的重要项目,安德烈的观点是正确的:

要对这个新来的、过度热情的“初级实习生”保持非常严格的管控。这位实习生拥有百科全书般的软件知识,但同时也一直在胡说八道;他勇气过剩,但对编写优质代码缺乏品味。他强调要缓慢、防御性、谨慎、偏执,并总是抓住内联的机会和学习机会——抱歉,应该是“委派”(delegating)的机会。

所以,如果您想构建一些您希望知道如何维护的东西,要么自己编写代码,要么密切关注Vibe Coding生成的内容。如果您只是想进行原型设计,那就尽管去吧。我确实通过Vibe Coding制作过许多HTML演示应用程序。如果我们回到这里,是的,我们已经有了一种术语来描述没人能理解的代码:

那就是“遗留代码”。进入一个代码库是我在编程方面做过的最难的事情之一。无论是您几年前编写的、已经有一段时间没看过的代码,还是其他人几年前编写且您试图修复或理解的代码库——甚至不是几年前的近期项目。这就是遗留代码,而Vibe Coding也是如此。

如果它写了一千行代码,而你不知道它在一种你从未使用过的语言中,或者你不知道里面有什么内容。那么从技术上讲,根据定义,这也是遗留代码。史蒂夫·克劳斯(Steve Krauss)的博客文章非常精彩,还有一段与之相关的演讲。这里还有另一篇我非常喜欢的博客文章:

“编写代码从来都不是瓶颈”(Writing code was never the bottleneck)。这几乎用一句话概括了我对Vibe Coding的观点:编写代码从来都不是瓶颈。在我作为一名软件工程师或机器学习工程师的多年职业生涯中,特别是在与其他客户合作时,问题通常不在于我们无法编写足够的代码。

那是我们的专长所在,是工程师们的本职工作。真正的问题在于编写正确的代码、理解正确的问题。让我们通读这篇文章,它来自ordeep.dev。“多年来,我一直觉得在软件工程领域,编写代码行数从来都不是瓶颈。真正的瓶颈一直是、现在仍然是:代码审查、通过指导和结对编程进行的知识转移、测试、调试,以及协调和沟通带来的人力开销。

这一点非常重要,对吧?因为作为工程师,我们喜欢解决问题。但我们要解决哪个问题,本身就是协调和沟通的一部分。所有这些都被包裹在工单、计划会议和敏捷仪式的迷宫之中。这些旨在推动质量的过程,往往比编写代码本身更拖慢我们的速度,因为它们需要思考、共同的理解和健全的判断力。

现在,随着LLM使得生成可工作的代码比以往任何时候都更容易,出现了一种新的叙事:编写代码是瓶颈,而我们终于破解了它。但这并不完全正确。添加新软件的边际成本正趋近于零,尤其是在LLM的帮助下。但是理解、测试和信任这些代码的代价是多少呢?比以往任何时候都高。

LLM改变了工作流程,但并没有消除它像Claude这样的工具可以加快初始实现的速度。然而结果往往是更多的代码流经系统,给负责审查、集成和维护它的人员带来更大的压力。当不清楚作者是否完全理解他们提交的内容时,这一点变得尤为明显。生成的代码引入了陌生的模式或破坏了既定的惯例。

边缘情况和副作用并不显而易见。所以如果我们往下看,您可以阅读全文,但在这里我们可以看到:LLM很强大,但它们并没有解决根本问题。更快的原型设计、脚手架搭建和自动化确实具有真正的价值,但LLM并不能消除对清晰思维、仔细审查的需求。

深思熟虑的设计至关重要。如果有任何人或事,随着代码生成量的增加,这些因素变得更为重要。是的,编写代码的成本并未下降,但团队共同理解这些代码的成本也没有降低。那仍然是瓶颈所在。让我们不要假装它不存在。因此,OREP的那篇杰出文章写得很好。你是这样发音的吗?Orp.dev LinkedIn 也许吧,Pedro Tvarez。所以,非常感谢 Pedro 发表那篇文章。

现在,如果我们回到机器学习与人工智能月度回顾。这是 Gian Sagato 写的另一篇文章,题为“在概率时代构建 AI 产品”,我在这里引用了一段话。既然我已经与生产环境中的机器学习模型合作了一段时间,我非常喜欢这句话:“目标并非完美;从定义上讲,你既不能也不应该追求它。”

目标是管理不确定性。所以如果我们寻找完美……好吧,这就是当你与概率模型合作时的情况。整篇文章都在讨论如何基于 LLM 构建产品,即那些本质上输出概率性结果的东西。目前我正在为一个客户处理计算机视觉问题,目的是识别特定的野生动物物种。

在计算机视觉领域,有许多物种除了少数几个显著特征外看起来极其相似。因此最终发生的情况是,模型会输出三种看起来很相似的物种名称。但如果你是专家,你可以通过非常细微的细节来区分这些物种。然而问题在于,我们处理的是可能从 100 英尺(约30米)外拍摄的单帧图像。

当你放大像素空间时,那些区分物种的特征基本上会模糊成黑色的像素块。因此我们缓解这一问题的方法是显示最常见的预测结果、可能的预测项,或者那些与已预测物种相似的其他物种。目标并非完美;从定义上讲,你既不能也不应该追求它。目标是管理不确定性。

超过某个临界点后,智能与控制开始成为相互对立的需求。因此,如果你试图控制一个系统,你实际上是在默认情况下降低其智能水平。以 Neutrify 为例,当我们拍摄食物照片时,我们将模型的输出限制在“食物”领域内。我们不想让它谈论其他任何东西,只想关注食物。

因此默认情况下我们正在减少模型的知识范围。现在,“智能”和“知识”这两个词我喜欢互换使用,那些拥有极其丰富知识的系统默认情况下可能并不具备智能。接下来看一个例子。撰写该文章的 Gian 曾在 Replit(原文误拼为Replet)工作。因此,在产品开发领域中发生的一个重大变化是:如果你基于 LLM 系统构建产品,某些功能可能尚未完全成熟。

例如,当我参加 Gemini 竞赛并使用它进行视频处理时效果相当不错,但一年后现在要好得多。这就是他们对 Sonnet 3.5 到 3.7 版本的发现。Replit(原文误拼为Replet)的总裁 Michelle 让公司在不到三周的时间内重写了整个产品。让我们回到原始文章,而不是我的引用部分。

事实上,当新模型发布时,你应该甚至考虑彻底拆解整个系统并从头开始重建。没有不可触碰的禁忌。当 Replit 从 Sonnet 3.5 迁移到 3.7 时,总裁 Michelle 让公司在不到三周的时间内重写了整个产品。我们称之为 Replit V2。

是的,我认为当时 Sonnet 3.7 的氛围是它是最好的编码模型,但这其实是一种低估。实际上它是一个全新的产品:架构、数据模型、提示技术、上下文管理、流设计全都是新的。3.7 以一种完全新颖的方式表现出高度的代理能力(Agentic)。Michelle 理解这一点并决定顺势而为,而不是试图控制它。

团队不得不经历数周的不眠之夜,努力击败竞争对手以成功推向市场。你能想象完全重构一个当时年收入接近 2000 万美元的产品,并在短短三周内从头重建它需要付出多大的努力吗?看到其收入发生拐点并最终增长到 1 亿美元。在不到一个季度的时间里,年收入增长了五倍(5x ARR)。这需要一位科学家才能做到。

Michelle 确实是一位科班出身的科学家,这绝非巧合。所以我喜欢这一点,这是一个很好的观点。但随后的一点又似乎在反驳它。因此,在应用层交换模型是一件大事,这使得 Frontier Labs 比外人看起来更具粘性。这不仅仅是一个普通的 AI API 商品。这些模型并非扁平的接口,它们有性格和怪癖。

这就是为什么 Gemini 2.5 Pro 并不是 Claude 3.5 的克星,尽管它是一个 exceptionally good(极其优秀)的模型。要充分证明任何给定模型优于其他模型需要付出艰苦的努力。哦,是的,这里我们看到了:每次模型更新并不一定意味着完全重写,但它确实迫使你在每次都要从根本上重新思考你的假设。

使得“进行重写”成为一个完全合理的假说。你必须遵循实证方法,其中唯一有效的假设是“我不知道”。首先做一个实证主义者与首先做一个工程师截然相反。我认为工程学也包含很大的实证主义成分。所以我非常喜欢这篇文章,它基本上展示了如何在概率时代构建产品,当然这是实验性的,总是在变化。

你可能有一个模型使你的用例完全可行。但这里的危险在于:如果六个月后出现了一个新模型,其他人可以直接基于那个新模型构建产品。你所有的工程功能堆栈现在可能不再是毫无价值,但也不像以前那么有价值了,因为那个新的初创公司将许多硬编码的工程工作转移给了模型。

但当然情况并非总是如此。所以这是一篇非常好的文章,特别感谢 Gian Sigato 的“在概率时代构建 AI 产品”。接下来我们要看的是 Drew Brunig 写的“为什么上下文工程很重要”,我可能发音不太准确,但我就叫他 Drew。这是演讲的幻灯片,我喜欢“上下文工程”这个术语胜过“提示工程”。

让我们看看区别。是的,这是 Drew 定义的区别所在。“提示工程”专注于一次性请求。所以如果你只是向 Chatbot、Gemini 或 Claude 窗口输入一些内容,你知道你想要什么并得到快速响应,可能会加入额外细节。比如你可能会说:“把它做成表格”或“对此仔细思考一下”。

针对聊天机器人,通常由直觉引导、对话式交互以及上下文工程主导。而我觉得这更像是一种用户界面,如果你进入聊天机器人的窗口,会发现这与API用例中的上下文工程有所不同。因此,重点在于不断演进的指令。这也是我花费大量时间的地方,比如在studio.google.com上,你通常从一个提示词开始,然后迭代下一个。你会删除输出结果,继续迭代,直到获得相当不错的效果后,再将其迁移到VS Code等工具中。

此时会仔细策划额外的细节。你可能会使用RAG(检索增强生成)管道等工具,将额外信息融入上下文,并通过评估来引导模型。这是一个非常重要的观点:如果你想将提示词部署到特定的产品环境中,你需要知道如果修改其中一句话,会对应用程序的输出产生何种影响。在编程方面,目前我的工作流程是将它们保存为txt文件进行迭代处理,因为对我来说这些最容易操作。

你可以对文本文件进行编程式迭代,而对话式的上下文工程则不同:你有一个作为输入的上下文,然后得到输出,之后可能就没有后续步骤了。相比之下,提示词工程允许你在聊天窗口中更轻松地来回调整。我非常喜欢这个观点,这不仅仅是一个演示文稿,它是一个合集。他在其中也定义了上下文工程:为了追求特定结果而系统性地构建上下文。

因此,你的提示词或上下文旨在生成某种特定的结果。承接上一篇帖子,如何在概率性错误中构建AI产品?这就是上下文工程发挥作用的地方:你将拥有一组不断演进的指令,试图获得可重复的输出。我收集了更多Ju的文章,因为我经常偶然发现某人的博客并通读其所有文章。关于提示词与上下文、长上下文的失效及修复方法,人们通常将提示词视为日常使用中给予LLM的简短任务描述。

然而,在每一个工业级的LLM应用程序中,上下文工程都是一门精细的艺术和科学,旨在为下一步填充恰好合适的信息到上下文中。例如,如果有人正在构建像Cursor这样的应用程序——即基于LLM构建的产品——那么上下文工程就是你最重要的任务之一。接下来是长上下文失效的问题,包括上下文中毒、上下文干扰等好观点。

虽然Gemini 2.4 Pro支持一百万个token的上下文,但如何有效利用它来服务于智能体则构成了新的研究前沿。即使支持超过百万token的上下文,也不意味着你必须全部使用它们。此外还有上下文混淆、工具调用冲突等问题。总而言之,如果你想了解关于上下文工程以及LLM和AI的一般性思考的优秀文章,我强烈建议去Drew的博客查看最近的几篇文章。

这里还有一篇新的文章:聊天框能容纳广告吗?我还没读那一篇,所以我把它留到以后再看。感谢Drew提供的这些精彩文章。接下来是Ethan Ding的文章,主题是Token变得越来越昂贵。在我看来,这是另一个很好的观点:模型变得更便宜了,但它们的使用量却大幅增加得多。当新模型发布时,它们拥有新的能力。

以前你只需考虑输入token和输出token,但现在随着推理模型或思考模型的兴起,出现了一个未知的中间环节。我们有输入token(即你的提示词或上下文),大多数模型选项都允许设置用于推理步骤的token数量。例如,在Gemini中你可以设定2000个token用于推理;而在GPT中则有低、中、高选项,最后是输出token。

因此,推理轨迹带来了更多的用例场景。以前你知道会有输入和直接输出,但现在中间存在一个未知的过程。这篇文章指出Token变得越来越昂贵:模型价格确实降低了10倍,如果是LLM提供商可能有90%的利润率。但当使用量增加1万倍时会发生什么?价格下降10倍,但用量上升1万倍,这就出现了问题。

看这张图表,最热门模型的每个token价格大致保持恒定。因为每次新模型发布时,由于它是最好的且尚未优化,通常是最昂贵的,处于高价状态;而旧模型则变得便宜。但是,如果有一个更好的模型可用,你真的会使用性能较差的模型吗?当然不会,默认情况下你总是追求最高质量。

当GPT-4以60美元的价格发布时,尽管之前的SOTA模型GPT-3.5便宜26倍,但每个人都使用了它。当Claude 3 Opus以60美元发布时,人们也切换了过去,尽管GPT进行了降价。因此10倍的成本降低是真实的,但仅适用于那些如同运行在Commodore 64上的模型。这是“成本将下降”策略的第一个错误支柱:人们对最好的语言模型存在需求,仅此而已。

如果你构建的应用程序或产品依赖于质量,你很可能默认选择可用的最佳模型。而最好的模型成本始终大致相同,因为这就是当前推理边缘的成本所在。说这辆车现在便宜得多,却指着1995年的本田思域来说明这一点是毫无意义的。虽然那款车确实便宜,但2025年丰田凯美瑞的MSRP是3万美元。

当你与AI互动时,无论是编码、写作还是思考,你总是追求最高质量。没有人打开Claude时会想:“你知道吗?让我用那个糟糕的版本来帮老板省点钱。”我们是认知贪婪的生物。

我们希望获得最好的大脑,特别是当我们用时间平衡另一侧的时候。这是一个非常好的观点。接着往下看并滚动屏幕。这里聚焦于 Anthropic,他们遇到了 Claude Code 定价的问题。他们的做法是提供无限制的 Max 使用量,结果许多人确实大量使用了这些令牌(tokens)。原本每月只需支付20美元即可体验无限制服务,但他们消耗的令牌远超20美元所能购买的数量。

Claude Code 的 Max Unlimited 实验是我们见过的应对这一风暴的最复杂尝试。他们试遍了所有招数,但仍被彻底击溃。他们的策略确实巧妙:将价格提高10倍,即每月200美元(而 Cursor 仅收20美元)。在亏损开始前提供更大的缓冲。如果你每月支付200美元,就可以使用 Claude Code Max Unlimited 功能,并根据负载自动扩展模型。

在流量高峰时,从每百万令牌75美元的 Opus 切换到15美元的 Sonnet。这就像 AWS 的自动扩展,但针对的是“大脑”。他们很可能直接将这种行为构建进了模型权重中,这是一种范式转变。此外还涉及将处理任务卸载到用户的机器上:既然用户有闲置的 CPU,何必自己启动沙箱?尽管工程才华横溢,令牌消耗仍呈超新星爆发式增长。

Vibrank 是一款追踪 Claude Code 使用情况的 App(我不确定它是如何做到的)。数据显示,此人累计在 Claude Code 令牌上花费了51,000美元。当然,在过去24天里每天花费2,000美元,这是惊人的使用量。如果每月只付200美元却每天烧掉2,000美元,这是极其疯狂的使用量。他们每日使用的令牌量是月花费的10倍。

如果乘以其他用户,这就是巨大的使用总量。问题在于,像 Claude Code 这样的 App 中按固定费用计算令牌使用的模式可能行不通。这是一篇很好的文章,如果你想了解更多关于“令牌经济学”(tokconomics)的知识,请查看 Ethan Ding 的这篇文章。文章指出,令牌正变得越来越昂贵。

接下来是 Mistral 展示如何通过微调视觉语言模型来提高卫星图像识别能力。Mistral 早在大约一年前(2024年9月)就开源了 Pixtral 12B,这是一个相当大的模型。他们希望利用该模型对来自 AIDAI(Aerial Image Data)数据集的卫星图像进行分类。这是一个非常酷的问题,我曾处理过类似的任务,如寻找集装箱、游泳池等。

目标包括体育场、储油罐度假村池塘港口停车场森林中心等,以及裸地。未经微调的 Pixtral 12B 能取得尚可的结果,但在模糊类别上表现不足。由于该模型结合了视觉和语言理解,你可以使用系统提示:“请对以下图像进行分类。”类别标签包括沙漠、裸地铁路站山停车场河流教堂中等住宅等约20个类。

输出结果需严格遵循指定的 JSON 模式,并将结果放在 JSON 标签之间。这是一个很好的设计:字段 info annotation string required equals true。未经微调时,结果相当不错,并非极其糟糕,但确实遗漏了一些内容。例如高架桥(viaduct),它预测得很少;还混淆了操场和体育场,这倒也说得通。

微调 Mistral 模型易如反掌。他们提供了在 Lab Platform UI 上上传 JSONL 文件、选择超参数然后微调的示例。这使模型性能提升了1.6倍。我非常喜欢这种前后对比:一个本身已经不错的模型,在特定数据集上微调后变得更好。准确率从20多个类别中的56%提升到了91%,这相当不错。

模型幻觉或性能在不同类别间变得更加一致,幻觉从5%显著降低到0.1%。他们并非完美无缺(共30个类别),使用了8,00张图像进行微调。当然,他们提到也可以用更小的模型做到这一点,但这展示了视觉语言模型(VLM)的强大性能。不仅开箱即用的 VLM 表现优异,还可以像普通的较小卷积神经网络那样进行微调。

文末还有食谱(cookbook)。如果你想微调 VLM 或查看示例,请查阅 Mistral 使用 Pixtral 12B 进行微调的端到端笔记本。接下来是 Joel Spolski 撰写的《策略层级5》(Strategy Level V)。Joel 是一位软件开发者,撰写软件工程文章已超过20年。这篇文章发表于2002年,当时我还不满九岁(我刚过32岁生日)。

这篇文章涉及宏观和微观经济学。宏观充满理论,如“低失业率导致通胀”,这些并未完全经得起现实考验;但微观部分则有趣且实用,涉及供需关系的概念确实有效。例如,如果竞争对手降低价格,除非你跟进匹配,否则你的产品需求会下降。我非常喜欢其中的一句话:“聪明的公司试图将他们的互补品商品化。”

赞誉之词。如果我们回顾之前的内容,Token 正在变得越来越昂贵;Ethan Ding 还有另一篇文章《OpenAI 破釜沉舟》。这是否意味着存在一种“互补品”策略?是的,Joel Spolsky 在200年就写过关于这一点的内容。Gwen 对此进行了扩展,但这一原则比软件本身还要古老:将你的互补品商品化。这篇文章主要讲述了 OpenAI 如何降低 GPT-5 的 API 定价,以及开源了 GPT-O OSS。我们稍后会详细讨论这一点。但他们为什么要这样做呢?如果 Anthropic 通过其 API 赚取了大量利润,而 OpenAI 则主要通过 ChatGPT 应用获利。那么如果 OpenAI 想要取代 Anthropic 或将其业务商品化,他们只需发布非常优秀的开源模型并降低 API 价格即可。

那么 OpenAI 是一家聪明的公司吗?如果它们试图通过商品化产品互补品来竞争,因为 Anthropic 声称聪明的公司会尝试将产品互补品商品化。如果你能做到这一点,对你产品的需求将会增加,你将能够收取更高的费用并赚取更多利润。当 IBM 设计 PC 架构时,它们使用的是现成的部件而不是定制部件。并且它们在革命性的《IBM PC 技术参考手册》中仔细记录了各部分之间的接口。为什么?为了让其他制造商也能加入这场盛宴。这就像是一个旧版本的说法:“你的文档就是你的产品”。如果你有良好的文档,人们就可以使用你的产品并与其他事物交互。只要匹配接口,你就可以被用于 PC 中。

IBM 的目标是将插件市场商品化,这是 PC 市场的互补品,而且他们做得相当成功。在短时间内,数以亿计的公司涌现出来,提供内存卡、硬盘驱动器、显卡、打印机等。廉价的插件意味着对 PC 的需求量更大。是的,我非常喜欢这篇关于一般战略以及微观和宏观经济的文章。它与我们刚才看到的另一篇文章相呼应,即 Token 正在变得越来越昂贵,以及 OpenAI “造船”并释放开源模型、使其 API 变得更便宜的内容。所以这是一篇非常好的文章,如果你处于软件工程领域,我也强烈推荐 Joel 的其他所有文章。

接下来是 Zet(我不确定怎么发音),Zet 存储层如何改善 Hugging Face 上的上传和下载。Hugging Face 存储了21 PB的数据,那真是海量数据啊?当然你想要优化它。他们实现这一目标的方式之一是通过 Zet 存储层和 Apache Arrow Parquet 的内容定义分块(CDC)功能,使数据工作流更加高效和可扩展。这里的要点是:Parquet 内容定义分块(CDC)——这说起来很拗口——现在在 PI Arrow 和 Pandas 中可用,从而能够在像 Hugging Face Zet 存储层这样的内容可寻址存储系统上高效地去重 Parquet 文件。CDC 通过仅上传或下载更改的块,大幅降低了数据传输和存储成本。

这一点非常重要。可以通过传递 use_content_defined_chunking 参数来启用 CDC。因此,如果你在 Hugging Face 上看到任何使用 Parquet 格式的数据集,你可能会看到很多这些数据集现在可以使用内容定义分块。例如,如果你有一个包含一百万行的数据集,并修改了其中一千行,当你重新提交数据集到 Hugging Face Datasets 时,它不会重新提交完整的一百万行,而只会更新发生更改的那一千行。反之亦然,当你下载时,如果有了一千个新行,而你本地已经存储了一百万行,它只会下载这一千个新行(除非它们与那一百万行中的其他不同行有差异)。这是一个非常酷的功能。

我不知道你们最近是否注意到,从 Hugging Face 下载模型的速度已经快了很多,无论是在 Google Colab 中还是本地工作。很高兴看到 Hugging Face Hub 在上传和下载方面有一些效率提升。好了,现在我们来谈谈 Daniel 的本月开源 AI 项目。首先是 AIDC 发布的 Ovis 2.5。这些是我最喜欢的 VLMs(视觉语言模型)或 MLMs(多模态大语言模型)。我们会给这个集合投上一票。这里有 Ovis 2.59B、超过2.52B的版本,当然还有一篇配套论文。

如果我们进入这里查看,Ovis 2.59B 是一个视觉语言模型。如果我们将它与规模和实力相当的其他模型进行比较,我们可以看到基本上除了 MMU 之外,它在每个基准测试中都优于 GPT-4o。这简直不可思议。顺便说一下,这是9B版本。而2.5B版本的性能基本上处于其尺寸类别的顶尖水平,但在某些方面略有不足。它们在 OCR Bench V2 上也表现得非常出色。因此这些是非常高质量的视觉语言模型,基本上是最新的、最先进的主流技术。

它们通过将新的 Quentry LLM 解码器集成到 SIGLIP2之上来实现这一点。我相信这里提到了 Siglip2。没错,它们是视觉组件的视觉变换器(Siglip2)和较小版本 Ovis 2.5B 的大语言模型 Quinn31.7B的组合。而对于9B版本,我们拥有相同的视觉变换器,但拥有一个更大的大语言模型 Quinn38B。我的一些最喜欢的用例……我就直接展示我的 Keynote 演示文稿,也就是这些接地气的示例。在以前的世界里,如果你尝试对这样的表格进行 OCR 识别,得到的输出并不会很好。但有了视觉语言模型,你现在可以提示它以获得你想要的类型的输出。

如果我们稍微放大一点这里,你试图从这个表格中提取营养信息。所以如果我们要看 C1 列,“那是什么?”那是卡路里能量273千焦,没错。还有237千焦/65大卡。然后这里有546千焦,130大卡。这也稍微有点像素化,而且角度有些倾斜。这里有一些伪影,行有不同的颜色,但它基本上正确地提取了所有内容并将其转换为 JSON 格式。这对于像 Nutrify 这样的应用程序来说是一个非常棒的工作流,你有10,000个不同产品的营养面板。你可以使用像 Ovis 2.5 这样的模型将它们提取为 JSON,突然间你就拥有了图像营养面板的结构化数据。它还可以进行文本检测,或者更准确地说,是提示级别的框检测。

目标检测器需要一个大型标注数据集。现在,你可以使用视觉语言模型通过提示词对大规模数据进行自动标注。例如,指令可以是:“找出图像中所有文字,以单词级别为单位,并提供边界框坐标。”模型会以结构化方式返回文本结果,你可以提取这些数据并绘制出相应的方框。当然,这些结果并非完美无缺,但仅用一行提示词就能生成这样的边界框。如果你曾参与过目标检测项目,就会知道获取大量不同物体的标注框非常耗时。而现在,你可以大规模地进行这一工作,并在后续不断优化结果。

其中一个我最喜欢的用例是:给出一张图像进行目标检测。我只输入:“请给出图中所有独特食物项的边界框。”模型返回了非常相似的结果,我随后进行了后处理以绘制图形。结果识别出了胡萝卜条、黑绿橄榄(坐标和标题均由模型生成,图像是唯一输入)、淋有橄榄油的小扁豆泥、黄瓜片、全麦饼干、番茄片、白色奶酪球、芝麻菜(在澳大利亚我们称之为火箭生菜,但Arugula也是广泛使用的术语),以及红橙色甜椒片。表现令人惊叹。虽然不完美,但作为自动化输出,我给予高度评价。这再次展示了利用视觉语言模型大规模标注检测数据的能力。

接下来介绍 OUIS 2.5,请前往 HuggingFace 查看相关模型集合。那里还有演示工具,你可以尝试用自己的图片进行测试。特别感谢 AIDC AI 发布了 OUIS 2.5 系列模型。随后,Google DeepMind 发布了 Perch 2.0,这是一个生物声学基础模型。有一篇文章详细介绍了 AI 如何帮助推进生物声学科学以拯救濒危物种。Perch(原意为栖息处)最初是一个 GitHub 上的代码库,能够识别不同的鸟类声音。现在它已扩展至支持更多物种。最初的 Perch 模型已被下载超过 250,000 次。让我们深入阅读相关论文和博客文章,了解其最新进展。

Perch 是一个高性能的生物声学预训练模型,采用监督方式训练,既能为数千种发声物种提供现成的分类得分,也能为迁移学习生成强大的嵌入向量。在 Perch 2.0 的新版本中,训练数据从 exclusively(专门)针对鸟类扩展到了大型多分类数据集。模型采用自蒸馏技术,结合原型学习分类器以及新的源预测训练准则。Perch 2.0 在鸟类数据集和基准测试中取得了最先进(SOTA)的性能。尽管几乎没有海洋训练数据,它在海洋迁移学习任务上也超越了专门的海洋模型。研究团队还提出了假设,解释了为何细粒度物种分类是生物声学中特别稳健的预训练任务。

他们对该模型进行了监督学习,数据集中包含 150 万个样本。模型架构采用 EfficientNet B3,旨在使其能在消费级硬件上运行。例如,如果你在现场使用小型设备或手机,该模型也能正常工作。这与我目前与一家公司合作开发的视觉问题非常相似。他们使用了 EfficientNet B3,这是一个常见的模型架构(可通过 Torch Vision 找到)。该模型拥有 12.2M 参数,大小约为 47MB,完全有能力在移动设备上运行。我过去使用过这些模型,效果相当不错。预训练涵盖了约 15,000 个物种类别。

在训练过程中,模型有三个输出头:一个线性分类器将音频嵌入投影到 14,795 维的类别标签空间。具体来说,他们使用 EfficientNet B3 将音频频谱图嵌入到特征空间中,然后输出为 14,795 维的细粒度分类结果。由于仍输出到有限维度空间,这并非完全自监督学习,但涵盖的物种数量依然庞大。研究发现可以非常快速地对其进行微调。虽然此前我们看到鸟类鸣叫嵌入已广泛迁移到许多生物声学任务中,但我们确信 Perch 2.0 扩展训练目标后,将适用于更广泛的问题。

研究表明,高质量的迁移学习并不需要非常大的模型。经过良好调优的监督模型,配合强数据增强和辅助训练目标,也能取得优异性能。最终模型的简洁性及其嵌入向量的线性可分离性确保了可扩展至大规模数据集。这意味着,由于嵌入向量在 15,000 个不同物种间具有通用性且线性可分,你可以选择将其微调至自己的数据集,或直接固定嵌入向量。特别是“在固定嵌入上进行迁移和分类”而非模型微调的方式,意味着嵌入只需计算一次即可重复用于大规模数据集。

这代表了巨大的资源节省,例如通过嵌入向量搜索实现的一次性检索(即示例查询):“我有鸟 X,请在我的数据库中显示与鸟 X 相似的例子。”这是通过敏捷建模进行迁移学习的重要第一步。Google DeepMind 团队发布了这一令人兴奋的成果,模型在 GitHub 和 Kaggle 上均可获取。Perch V2 和 Perch Hoplight 是一套开源工具,支持嵌入音频 v2。

谈及广泛适用的模型骨干网,Meta 发布了 Dino V3 自监督计算机视觉骨干网络。如果你尚未使用过 DINO 模型,它们属于一种自监督学习模型。Dino V3 在 Dino V2 的基础上进行了升级。该模型训练数据量达到 17 亿张图像,参数量高达 70 亿。这是我见过的最大的计算机视觉骨干网络之一。相比之下,之前的 Dino V2 仅使用 1.42 亿张图像训练。从 1.42 亿增加到 17 亿,数据量增加了超过 10 倍。

来看看这里不同模型的性能表现,规模扩大确实帮助很大。Dino V2 我们有11亿参数,而 Dino v3 有70亿参数。所以大约是5.5倍左右的增长。相比之下,Sigip 2有18亿参数,还有我们之前介绍过的 Perception Encoder(感知编码器)。所以如果我们看这些视觉模型,这也来自 Facebook 或 Meta。

这个大的 Perception Encoder 在这里表现与前者相当,但在几个不同的任务上实际上超越了它们。比如在 ImageNet-Real 上基本性能相同,而在 ObjectNet 任务上略逊于 PE Perception Encoder。Dinov3 是纯粹基于视觉训练的,所以它没有像 SIGLIP 或 Perception Encoder 那样的语言表示能力。

它是纯粹的视觉模型,使用了17亿张图像进行自监督学习。如果我们在这里查看数据策展部分,阅读论文对于了解他们如何进行数据筛选非常有帮助。所以他们是这样做的:使用 Dino 特征的好处是,它们可以针对多种不同任务进行调整,例如分类、目标检测。

深度感知以及许多其他方面。这是博客文章的内容。让我们看看论文,查看 Hugging Face 上的 Dino v3 和 Dino。还有一个网站我也没看过。好吧,那更像是一个展示所有资源的页面,但我们更感兴趣的是所有的模型。Dino V3 我们有一系列不同的模型,我们有 ViT-7B,这是最大的那个。

这是在 LVD 1689亿张图像上预训练的。那是非常多的图片,他们获得了这些图片。我在想我的主题演讲中是否有提到这个内容。我有。这是一篇关于论文非常好的阅读材料,如果你想了解它是如何运作的的话——顺便说一句,这些都是来自论文的图像。

数据收集和策展:我们通过利用从 Instagram 公共帖子中收集的大量网络图片池,构建了我们的超大规模预训练数据集。拥有像 Instagram 这样的应用程序作为数据源真的很有帮助,因为这样你就可以获取尽可能多的数据。

这些图像已经经过了平台级别的内容审核,以防止有害内容的出现,我们获得了大约170亿张图像的初始数据池。所以他们从170亿开始,最终得到17亿。所以剔除了大约10倍的数据量。使用这个原始数据池,我们创建了三个数据集部分。

我们通过应用基于层次 K-means 的自动策展方法构建了第一部分,这也是我们在之前的机器学习月度会议中介绍过的内容。那里有相关的论文链接。我们采用 Dino v2 作为图像嵌入。哦,好的。所以他们使用已经表现很好的模型 Dino V2

来过滤数据,并在聚类数量从低到高的五个层级中使用 2亿、800万、80万、10万和2.5万个聚类。在建立聚类的层次结构后,我们应用了之前同一篇论文中提出的平衡采样算法。这导致了一个策展子集,包含16.89亿张图像(四舍五入为17亿),命名为

LVD-1689M。这保证了网络上出现的所有视觉概念的平衡覆盖。当然,这里说的是网络上的所有视觉概念,但它仍然受限于他们从 Instagram 策展的170亿张图像。所以是的,它是网络上所有概念,但仅限于这170亿张图像中包含的概念。

所以有很多,但我并不一定认为那是“所有”。我不认为 Instagram 上会有那么多像 PDF 文档之类的图片。对于第二部分,我们采用了基于检索的策展系统,类似于 Oakquab at L 2024 中提出的程序。我们从数据池中检索与选定 C 数据集相似的图像,创建一个涵盖对下游任务相关的视觉概念的数据集。

对于第三部分,我们使用原始公开可用的计算机视觉数据集,包括 ImageNet-1k、ImageNet-22k 和 Mapillary 街道级序列。这一最终部分允许我们针对特定任务优化模型的性能。所以这些是在分类数据集上的结果。

如果我们看 ImageNet 的默认数据集,它非常接近 SIGLIP-2 和 PE Core。这些是最近的具有最佳 ImageNet 零样本能力的先进模型,但它们都是用语言训练的。Dino V3 是纯视觉的。但如果我们看其他方面,它在各种不同任务上要么持平,要么是最佳表现。

所以 V2 P Core 再次稍微胜过它一点。Siglip-2 在 Real 上稍胜一筹,然后在其他不同的项目上也如此。Dinov3 是一个出色的骨干网络。然后如果我们看看输出特征的质量,这就是你可以真正区分 Dino V3 与其他模型的地方。

所以如果我们要根据它对视觉概念的理解程度来衡量输出特征的质量,Dino V3 的特征质量远远高于 PCA。你可以清楚地看到那里的霸王龙轮廓。你可以在其他模型中看到它的轮廓,我们在这里将其与 Sigip-2 P Spatial 进行比较(这个甚至针对空间进行了调整),以及带有常规 Registers 的 Dino V2。

但总之,Dino V3 的输出特征非常出色。如果我们继续看他们说的微调部分:是的,在这里。Dino V3 骨干网络是一系列多功能的视觉基础模型,产生高质量的密集特征,并在各种任务中取得卓越性能。

即使在未经微调的情况下,它也在广泛的设置下超越了专门的先进模型。因为 Dino v3 的输出特征质量非常高,你只需在模型的骨干网络上添加一层,然后针对你自己的自定义数据集进行微调即可用于分类或目标检测。

如果我们看看他们发布的模型,他们有视觉 Transformer 骨干网络,通常在其尺寸下表现最好。此外还有 ConvNeXt 模型,它们是在相同数据集上预训练的,通常效率更高。就 FLOPs(浮点运算次数)而言:

虽然 ConvNeXt Tiny 在原始指标上可能不如 ViT Small(ViT S)表现好或持平,但它绝对更节省计算资源。所以他们在 ConvNeXt 方面有一些不错的模型。总的来说,这是一个非常好的发布版本。

最后,如果你想阅读论文,这里也有链接。这是来自 Meta 的一个非常酷的发布版本。非常感谢他们发布的 Dino V3。说到更多的开源发布,我们有 Gemma 27亿(或者说是2.7亿)的小型语言模型。

准备好进行微调了,这大概是除了Dino V3之外我过去一个月最喜欢的发布之一。原因在于我们进入了小语言模型时代,虽然大语言模型几乎无所不能,但小语言模型将是针对特定任务进行微调的模型。我很快会制作一个关于这方面的教程,所以让我们看看Gemma 3到70M的核心能力。直接去Hugging Face的仓库看一下模型的大小,它当然不会在基准测试中打破记录,但它足够小,可以在较小的设备上运行。

该模型大小为536MB,采用了紧凑且强大的架构。新模型的总参数为72.7亿个,其中1.7亿是嵌入参数(因为词汇表很大),还有1亿用于Transformer块。得益于25.6万令牌的庞大词汇量,模型可以处理特定和罕见的令牌。这意味着如果你拥有包含特殊符号或不同语言的非常具体的数据集,模型能够理解并处理这些数据,使其成为在特定领域和语言中进一步微调的强力基础模型。

这确实是他们主要宣传的点,它不是那种你可以来回对话的聊天模型,而是你希望针对特定领域进行微调的工具。极致的能源效率是Gemma 3 270M的一个关键优势,内部测试显示在Pixel 9 Pro系统芯片上,INT4量化模型仅用0.75%的电池电量就完成了25次对话。此外还发布了指令微调模型,虽然它并非为复杂对话用例设计,但开箱即用就能很好地遵循一般指令。

关于量化方面,提供了感知量化的训练检查点。如果你想对模型进行量化,我最近遇到了一个问题:如果在最初没有进行感知量化的情况下训练后直接量化模型,性能下降非常严重。因此,如果你想量化你的模型,请确保它经过了感知量化的训练。这对于在资源受限的设备上部署至关重要,也是我在GPT开源发布中稍后会看到的重点。

我非常喜欢这一点,这是使用Gemma 327M的最佳时机:当你有高容量且定义明确的任务时,非常适合情感分析、实体提取、查询路由等非结构化文本处理。虽然他们列出了创意写作,但我认为这不一定总是定义明确的任务。在需要每一毫秒和微秒都至关重要的场景下,270M模型可以很容易地在自己的硬件上运行。

你需要快速迭代和部署,并确保用户隐私,因为你可以作为小型模型自行托管,而不必运行在他人的硬件上。如果你想要一个专用任务模型的集群,与其对所有事情使用API,不如训练模型来解决几乎每次都以相同方式完成的特定任务。当你在输入和输出背后拥有大量数据时,Gemma 327M就会派上用场。

开始微调吧,Hugging Face上有一个端到端的指南,使用TRL(Transformer强化学习和监督微调训练器)。这可以在Google Colab中使用T4 GPU运行,这就是小语言模型的力量:它可以在许多人可访问的硬件上运行。非常感谢Google发布Gemma 327M,接下来我们要看OpenAI发布的GPT OSS 20B和12B。我不确定OSS确切代表什么,我猜是开源的意思。

在我短暂接触这些模型后,它们表现不错,至少对于我从非结构化数据中提取结构化和一些辅助函数来说是这样。这些模型的酷之处在于它们不仅是Apache 2.0许可证,而且在LM Studio中可用。这是一个应用程序,我的网速有点慢……好了,你可以实际在本地机器上运行它们。我想把博客文章或发布帖子放上来供你阅读,这是两个推理大型语言模型:20B版本和120B版本。

你可能会在下一秒感到惊讶,不要将参数量视为衡量大小的绝对标准。它们具有Apache 2.0许可证、逼真的任务深度定制能力和完整的思维链输出。有一个网站你可以在GPT OSS上尝试它们,我让你看看那个网站,但我将展示它在本地运行的情况。它们的性能相当不错,虽然不如旗舰模型如03和04 Mini那样出色,但绝对名列前茅。

这是一个高质量且可以在本地运行的模型。你可以在Hugging Face、VLM、O Lama、Llama C++和LM Studio上获取它们,我即将使用后者。首先让我们看看它在本地运行的情况,这是我在Mac Mini M4上本地运行的LM Studio应用程序。我们可以选择模型使用的推理力度:低几乎无,中,高。让我们保持在高档以看看结果如何。

请写一个Python函数来打开文件系统中的任何图像路径,如果对象已经是图像则返回该图像。这是一个简单的Python辅助函数,给定一个路径或字符串路径打开任何图像,但如果它已经是图像就直接返回。正如你在这里看到的它在思考……我想我能放大看看吗?好了,这是所有在本地运行的。由于我们将推理设为高,它将花费相当多的时间思考……好了,这是思维输出。它实际上还没有完成,它喜欢思考。

现在产生最终答案:太棒了。这在本地运行相当快,这是较小版本,我没有足够的RAM来运行较大版本。如果是实例则返回它……好了。

好的,我们得到了每秒大约36个token的速度。总共2100个token,速度相当快。第一个token在0.5秒内生成。然后如果我只是说“谢谢”,它只会思考吗?不,它会回答:“不客气”。看吧。不错的模型。现在,我还没有针对所有可能的用例进行测试。如果你想本地运行大型语言模型(LLM),这绝对可能是你目前能在自己系统上运行的最佳LM,尤其是在许多不同的消费级系统中。

接着我们有一个在Hugging Face上可用的模型集合。如果我们进入GPTOSS,就在这里了。有两个模型在那里可供下载并运行。如果你想深入了解它们,我当然鼓励你阅读OpenAI的博客文章。但对我来说,从开发者的角度来看,最有用的帮助来自HuggingFace博客上的介绍性文章。所以,欢迎GPT OSS,这是OpenAI推出的全新开源模型家族。

其中一点我之前也稍微提到过,对我非常有帮助,那就是MXFP4量化技术。是的,模型权重以MX FP4格式进行量化,这种格式最初仅在Hopper或Blackwell系列的GPU上可用,但现在也适用于之前的CUDA架构。所以如果你有一张较旧的显卡,比如ADA、Ampere或Tesla系列(我相信ADA指的是RTX 4090),我那里就有一张RTX 4090,可以在上面运行。

安装Triton 3.4以及内核库使得下载优化的MX FP4内核成为可能。这使得你能够实现巨大的内存节省。在这些组件就位的情况下,你可以在拥有16GB显存的GPU上运行20B参数的模型。通常来说,20B参数需要48GB的显存。这包括许多消费级显卡,如3090、4090和5080,以及Google Colab和Kaggle平台。

所以不要因为这个20B的参数规模而退缩,在之前的版本中这可能会让我望而却步,但由于MX FP4内核的支持,我们现在可以用更低的内存带宽来运行它。去试试这些模型吧。你可以在这里网站上尝试,或者当然也可以在本地通过像LM Studio(在Mac上)或Ollama这样的应用来运行。我发现这是一个 exceptional 的开源模型。

如果你想要最前沿的性能,当然你要使用像GPT-5、Claude 4或Gemini 2.5这样的模型。但如果你想坚持在本地运行,不妨试试GPT OSS。哦,还有一件事。如果你想要一个关于架构如何构成的视觉分解讲解,Jay Allamar多年来发布了无数令人惊叹的解释性文章。这次他详细梳理了整个架构,展示了它是如何构建的。

你可以滚动浏览他们使用的不同消息格式,即Harmony输出风格。Jay Allamar的那篇博客文章真的很酷。接下来我们要看的是艾伦人工智能研究所(Allen AI)发布的Malmo ACT模型。如果你不熟悉Malmo,它是一种多模态开源语言模型,发布时是一款非常优秀的模型。但现在他们结合了动作空间(action space)。

不仅它能在语言上进行推理,现在还能在3D点云空间中绘制路径并执行这些路径。这真的很酷。它的工作原理如下:我们可以看到那些3D点,3D摄像头捕捉到这些三维坐标,然后模型将在这些3D点上预测一条路径空间。这些数据来自人类动作的追踪记录。他们还开源了数据集,链接会在博客文章中提供。

然后机器人在完成对这些3D点云空间的追踪后,会跟随那条路径空间,从而拾起物体或与3D空间中的某物进行交互。这真的很酷。这是视觉感知与推理的结合,比如“拿起水壶”。你需要思考什么是水壶,然后它可以去拾起它。它会绘制出需要采取的行动空间,包括像小螃蟹一样的机械爪夹持器,然后拾起水壶倒入杯中。

这是艾伦AI或AI2研究所的一项非常出色的发布成果,开源模型和数据集。它是在Nvidia H100 GPU上训练的。如果我们搜索Malmo ACT的Hugging Face页面,应该能看到:是的,就在这里了,7B参数的Malmo ACT模型。Malmo Act是一个完全开源的动作推理模型,用于机器人操作,由艾伦研究所开发。

Malmo ACT是在OXE数据集的一个子集上训练的,这是一个包含10k条高质量轨迹的数据集,涉及单臂机械手在家庭和环境中的93种独特操作任务。它在多个基准测试中实现了视觉语言动作模型中最先进的性能,同时保持完全开源。你可以在这里找到Malmo Act家族中的所有模型。

了解更多关于Malmo ACT的信息,请查看我们的公告、博客文章或论文。Malmo Act 7B基于Qwen 2.5-7B,并使用SigLIP 2作为视觉骨干网络。哦,好的,这很酷。它是在Malmo ACT数据集上进行预训练或中期训练的(mid-trained)。

这里是数据集合,包含不同标注的帧。这是一个相当大的数据集:1.26 TB的数据量。所以这是艾伦AI研究所的一项非常酷的发布成果,看到大型语言模型不仅超越科技领域,还进入视觉和现在的3D空间,这很令人兴奋。如果你对机器人感兴趣,一定要查看Malmo Act。

接下来我们要看的是Qwen团队的一些杰出进展,他们发布了Qwen Image以及Qwen Image Edit。Qwen Image可以生成与GPT-4o图像(我相信是这一代)相媲美的图片。它是一个20B参数的开源图像生成模型,你当然可以在Hugging Face上找到Qwen Image。我们可以在这里尝试一下:让我们创建一个图像,描绘一名机器学习工程师正在录制关于机器学习通讯的视频视频。

看看它会生成什么结果。我不确定这需要多长时间,但与此同时,我们会查找Qwen Image Edit。如果你想要编辑图像,Qwen Image Edit是基于Qwen Image构建的,但它可以接受图像输入,并在你添加不同提示以改变内容时保持语义信息。

我们以这只熊作为输入图像。如果你添加“彩色画板和画笔在熊的手中,让熊站在画板前仿佛在绘画”的提示。你可以注意到熊的细节被保留了下来,而额外的信息也被绘制进去了。它甚至在底部做了很好的阴影处理。还有做饭的熊、弹吉他的熊等等。

而且它甚至能在不同的……哦,哇。它对不同的人格特质有很好的语义理解能力,比如ENFP(外向、直觉、情感、感知型)。这是我得到的结果。

两年前做过测试,它甚至能从一张输入图片中生成不同的视角。风格各异。看这里,我猜这可能是其中一位开发者。接着我们看到了吉卜力(Gibli)风格、3D风格和卡通风格。加上一个标志,它甚至能处理文字,这真的很酷。我非常喜欢这个功能:细粒度物体移除。看那里有一小撮头发,对吧?就像你拍了一张餐厅的照片,现在觉得不够完美。但Quinn图像编辑可以直接帮你移除那撮头发。当然,结果可能因人而异。这是Quinn团队非常棒的发布。趁我们在这里,顺便看看他们的博客,还有别的吗?他们通常以相当快的节奏发布更新。

那是8月19日发布的Quinn图像和Quen图像编辑功能。看,那是我。(笑声)一位机器学习工程师正在录制机器学习通讯节目。这基本上就是我的工作场景。(笑声)(倒吸一口气)不过他的头发比我的黑。所以,向Quen团队致以热烈的感谢,谢谢你们的发布。接下来是英伟达(Nvidia)发布的一系列更新模型:Canary 1B V2、Parakeet TDT 06 0.6B V3(名字有点拗口),以及英伟达Neotron Nano 9B V2。让我们来看看Canary 1B V2。

在之前的《机器学习月度》视频中,我们介绍过Canary 1B,那是一个出色的翻译和转录模型。它将转录和翻译结合在一个模型中,但仅支持英语。现在,Canary 1B V2支持总共25种语言,包括英语加上另外24种欧洲语言(据我所知)。我们有保加利亚语、克罗地亚语、捷克语、丹麦语等。如果你正在寻找高质量的翻译和转录模型,务必查看Canary 1B V2。

它在同等规模的模型中实现了最先进的性能,质量可与大三倍的模型相媲美,而且速度非常快。这正是Canary系列模型的强项:它能自动添加标点和大小写,提供精确的单词级和片段级时间戳。此外,翻译输出也可获得片段级的时间戳。Canary和Parakeet的区别可能让人困惑,因为它们都与语音有关:Canary既做语音识别也做翻译。

Parakeet则严格用于自动语音识别,即将语音波形转换为文本。Parakeet体积更小,拥有6亿参数。与Parakeet类似的升级是,它现在除了英语外还支持24种其他语言。它还允许你转录长达24分钟的音频,或者如果你有更大的GPU,可以处理长达3小时的音频。(轻笑)真的很酷。两者都在宽松的CC BY 4.0许可下发布,可用于商业用途。

趁我们在这里,让我们看看Parakeet V3,我要用麦克风录制一些音频。测试一、二、三。这会通过我的录音室麦克风进行记录吗?我正在录制《机器学习月度》通讯节目,我叫Daniel Burke。我是一名机器学习工程师。《机器学习月度》是我每月发送的一次性通讯节目,涵盖机器学习和人工智能领域最新、最棒的内容。

但并非总是最新的,因为我们希望那些真正卓越的东西能经受住时间的考验。“紫色猴子洗碗机”。外面有人在使用电锯,我想知道你能听到吗?当然,我在最后加入了一些随机内容,看看效果如何。那我们得到了什么结果呢?转录中……好的,正在运行。“转录失败”。哦不。看来Parakeet演示出现了错误。所以我们要尝试Canary 1B V2。让我们在这里录点什么。测试一二三,你好并欢迎。

我叫Daniel Burke,这是《机器学习月度》通讯节目。这是一个每月一次的基于文本的通讯节目,我也制作视频导览,涵盖机器学习和人工智能领域最新、最棒的内容,特别关注开源技术。当然并非总是最新的,因为有些真正卓越的东西是经得起时间考验的。“紫色猴子洗碗机”。外面有人拿着电锯进行施工,我想知道你们也能听到吗?我在最后添加了一些随机内容,看看模型的表现。

我想它正在加载中。让我们看看这里发生了什么。看好了……好的,这里有结果了。“测试一二三”。你好并欢迎。我叫Daniel Burke。(拼写错误)B-U-R-K-E。这是《机器学习月度》通讯节目。看好了。“紫色猴子洗碗机”。我想外面有人拿着电锯在进行施工,我想知道你们也能听到吗?好的,太棒了。看起来这是一个相当不错的模型:Canary 1B V2。

最后是英伟达Neotron Nano 9B,这是一个较小版本的/language model/(语言模型),在当今时代属于较小的规模。但它超越了Quen 38B。(注:此处原文为Quen,可能指Qwen)之所以稍大一些是因为它是120亿参数模型的剪枝版本,但推理速度快得多。如果我们查看一下……让我找到你的推理速度数据。我刚看了这篇博客文章:“使用英伟达Neotron Nano 2B或9B通过高精度推理增强边缘AI”。这里有一个图表显示其性能更好。

因此,它具有更高的准确性以及快得多的吞吐量。速度大约是六倍(注:原文提到six times,但前文是9B和2B的对比语境,此处可能指特定基准下的提升),因为它使用了混合Transformer架构。如果我们看这里……是的,就在这里:混合Transformer架构。所以如果你想要一个性能出色且推理速度快的小型模型,务必查看英伟达Neotron Nano 9B。

它甚至比……实际上更好的比较对象是GPT-2 OSS 20B(注:原文为GPTO OS OSS,推测指开源版GPT-2或其他模型)与这个模型的对比,具体取决于你使用的硬件。如果你对性能良好的小型语言模型感兴趣,不妨查看一下。当然,如果你需要语音转录功能,你有Parakeet和Canary 1B可供选择。接下来是Google发布Lang Extract,这是一个用于从文本中提取实体的开源库,利用大语言模型(LLM)。

这大概是个好主意。我很惊讶发布这样一个库花了这么长时间,因为我主要的使用场景之一就是从非结构化信息中提取结构化信息,无论是使用视觉语言模型(VLM)还是大语言模型。但这正是Lang Extract所做的。它的美妙之处在于,它并不局限于Gemini或其他特定产品。当然,开箱即用支持Gemini,但它也可以使用任何基于云的大语言模型或设备端开源模型。

它具体做了什么……

从文本中提取信息,例如命名实体识别,但其优势在于严格基于源文本。因此,每个提取出的实体都会映射回其在原文中的确切字符偏移量。这样不仅能获得结构化的输出,还能看到动画演示以展示从文本中提取的具体内容。通过定义期望的输出格式并使用 LangExtract 的数据表示法,同时提供少样本示例(Few-shot examples),可以强制模型遵循特定的模式。LangExtract 利用这一机制,在支持的控制生成模型(如 Gemini)中确保输出的一致性和结构化。

LangExtract 优化了长上下文的信息提取,支持交互式可视化、灵活的 LM 后端以及跨领域的适用性。你只需通过精心挑选的几个示例,即可为任何给定领域定义信息提取任务,而无需微调大型语言模型。LangExtract 能够学习你期望的输出模式,并将其应用于大量新的文本输入中。例如在医学文本提取方面就有很好的应用案例。

此外,LangExtract 还能利用大型语言模型的世界知识来补充提取的信息。这些信息可以是显式的(即直接源自源文本),也可以是推断出的(基于模型固有的世界知识)。快速入门的一个绝佳示例是:你可以定义一个简洁的提示词,要求提取角色、情感和关系。然后提供示例,比如“我非常喜欢这部戏剧”,并指出应该有更多此类示例或结构化方式应成为通用模式。

我们输入文本,并提供示例提取结果。在这种情况下,角色是罗密欧(Romeo),情感状态是惊奇(wonder)。引用台词“轻柔,罗密欧!轻柔。哪里的窗棂透出光亮?那是东方,朱丽叶就是太阳。”这里的情感是“轻柔”,关系则是“朱丽叶即太阳”。如果我们将其应用于另一句台词:“朱丽叶夫人深情地凝视着星空,心中为罗密欧而痛。”

在底部导出可视化表示时,我们会看到:角色是朱丽叶夫人(Lady Juliet),情感/动作在此处表现为“深情凝视”(gaze longingly),关系则是“心中为罗密欧而痛”。当然,通过提供不同的示例,我们可以使其灵活适应不同领域。这里有一个演示展示了实际提取效果。我曾处理过类似的问题,当时我们需要从医生笔记中提取结构化数据,但那是在 2018 年。

那时的表现远不如现在强大。假设我们有一份医疗报告,LangExtract 能从中提取出详细信息,这非常酷。它输出的对象会精确匹配发现的内容前缀等细节。这是输入提示词,本质上是将我们许多人正在做的事情结构化。接着我在主题演讲中展示了一个我自己曾处理过的案例,以证明这不仅仅是演示。

我们有输入指令和示例。在这个例子中,我想提取食物、饮料、描述及其状态(例如食物是生的还是熟的),按出现顺序排列,使用原文进行提取,不 paraphrase 或重叠实体,并为每个实体提供有意义的属性以增加上下文。例如:“桌上有一盘烤鸡……”

在桌子上是一盘表皮金黄的烤鸡,旁边配有一杯红酒和一碗新鲜沙拉。因此食物包括:烤鸡肉、新鲜沙拉;饮料是:一杯红酒。然后我有一个更大的输入文本,我选择的模型是 Gemini 2.5 Flash。提取结果包括:黄油味的寿司刺身、烤鳗鱼、味噌汤、白米饭、光泽的意大利面(aiicura)、天妇罗和蔬菜。它们都是食物,直到底部才出现饮料,因为此处被截断了。

这是一个很棒的发布版本,当然所有代码都在 GitHub 上,如果你想亲自尝试 LangExtract。如果你需要利用大型语言模型进行结构化数据提取或大规模处理,请去查看 LangExtract。接下来是 OpenGV Lab 和 Open BMBB 发布了 InternVL 3.5(注:原文口误为4.5,但上下文及后续参数描述指向3.5系列)。InternVL 3.5

是一组开源视觉语言模型(VLMs),其中最大的是拥有 2410 亿参数、激活 280 亿参数的模型。这是一个性能极其出色的模型,在多个不同基准测试的整体或平均表现上,仅排在前沿模型之后。如果我们将 Gemini 2.5 Pro 列为第二(仅次于新发布的 GPT-5),那么 InternVL 3.5

则舒适地排在第三。基本上,就参数数量而言的其他尺寸中,InternVL 3.5 绝对是一个强有力的竞争者。甚至在某些聚合基准测试上超越了 Claude 3.7 Sonnet,有四个版本的表现优于它。如果你需要高性能的 VLM,可以前往查看 Intern 模型系列以适应你的规模或硬件需求。

我们拥有从 1.1B 到 2400 亿参数的各种模型。这是 OpenGV Lab 团队发布的令人惊叹的成果。此外还有 MiniCPM-V 4.5,这是一个较小的模型,拥有 87 亿参数,但其性能超越了更大的模型如 GPT-4o(最新)、Gemini 2.0 Pro,以及强大的开源模型如 Qwen2.5-VL-72B。

一个参数数量约为其十分之一的模型,至少在 OpenCompass 基准测试中达到了该水平。这是其架构结构图以及星状图概览,展示了我们的性能表现。这是一个具备“思考”和“非思考”模式的模型。因此这是 OpenBMB 团队发布的重大成果,将大量性能压缩在了一个较小的模型中。

接下来是微软发布了 Vibe Voice 1.5,用于长多语音生成(原文口误为long speaker)。据称它可以处理多达四个说话人。我只试过两个,老实说,这似乎是一个流行的模型,但我起初尝试时效果并不好。也许我使用了错误的演示版本?但据称它可以输出语音长度,支持多达四个说话人进行长达一小时(或抱歉,是 90 分钟)的语音生成。

让我们试一试。这里有一个演示链接,你可以定义哪个说话人说什么内容:说话人零、说话人一、说话人零……然后我们运行它。现在让它跑几秒钟,稍后回来查看结果。

欢迎收听机器学习月刊,这是覆盖人工智能和机器_learning_领域最新进展的文本通讯视频导读。虽然并不总是最新的,但八月是个大月,让我们看看这个月发生了什么。我猜我第一次尝试时给它打了5分(满分10分),甚至可能更低,所以以后我不会再用Vibe Voice来朗读这些通讯内容了。不过通过微调可能会得到更好的结果,大家可以看看Viveoice 1.5B以及Vibe Voice Large版本。微软发布了这个很棒的工具,接下来我们要看两项来自Google的研究,它们吸引了我的注意。

首先是MLE Star,这是一个最先进的机器学习工程代理。如果你用过ChatGPT或Claude生成相关代码,可能会发现它们常推荐ResNet 50等过时模型。虽然这些模型性能强劲,但已被视觉Transformer等新架构取代。MLE Star作为代理,鼓励底层大语言模型搜索适合基准测试的新研究或新模型,从而获得更好的整体结果。这展示了如何设计一个机器学习工程师代理的绝佳案例。

另一篇研究博客题为“通过高保真标签提高训练数据效率”。面对10万样本,人工标注太慢,因此先用LLM进行初步标注。接着通过聚类技术找出最具问题的样本:即在聚簇中彼此接近但标签存在分歧的数据。这是一种常见技巧,通过不断细化找到更小的子集。例如将10万样本缩减至250或400个,人工标注这些少量数据在一个月内即可完成。

研究发现,使用10万低任务复杂度的样本微调模型得分约为0.59;而高复杂度下即使有10万众包标注样本,得分仅为41。然而,若使用高任务复杂度但仅250至400个专家标注的小样本子集,性能几乎翻倍。这表明使用更大模型虽有益处,但高质量数据胜过大量低质众包标注,小样本专家数据能带来惊人效果。

Gemini API现在可以直接在提示词中摄入URL链接。例如,若想获取两个食谱网站的内容,只需输入HTTP/HTTPS格式的网址,Gemini即可提取其中的文本或图像信息用于提示词。不过它无法处理付费内容、YouTube视频、工作区文件或音视频文件,仅支持文本或图像类网站。用户需为网址本身消耗的Token付费,这是一个直接检索URL信息的实用案例。

官方示例展示了比较两个食谱的功能。此外,Google还发布了Gemini 2.5 Flash原生图像生成功能(代号Nano Banana)。Sam Wit对此有精彩解读,建议订阅他的频道。Gemini 2.5 Flash在图像生成和编辑方面表现卓越,基于其庞大的世界知识储备,能生成细节丰富的图片。

该模型还能保持角色一致性,例如创建同一人的不同收藏卡或更换衣服颜色、绘制房间等。我期待将其用于合成数据生成,例如针对特定计算机视觉任务(如Nutrify的食物识别),让Gemini大规模生成数据,再用小模型标注并部署。这为高质量图像生成和编辑提供了强大工具。

最后,OpenAI在API和ChatGPT界面中发布了GPT-5。虽然我想聚焦于开源项目,未花太多时间测试,但我发现GPT-5相比前代有了显著提升。

之前的模型,虽然达不到 GPT3 到 GPT4 那种层级的飞跃,但我觉得这是一个全面的发布版本,至少对我的用例来说是这样。我知道有些人一直在贬低它之类的,但我的意思是,它能用。我觉得它正更多地走向产品级水平,感觉像是一个经过打磨的发布版本。也许花的时间太长了,我不知道。但我最喜欢的观点来自 Ethan Mllik,他说 GPT5 只是“能干活”。我同意这个说法。我喜欢这个总结:它真的能干很多事。

就我个人而言,我主要使用“思考模式”。但如果我需要快速得到结果,能够关闭思考功能并迅速获得答案是很好的。接下来还有两个视频作为结尾。如果你想了解一些非常好的提示词入门知识,我推荐这个视频。从现在起,我会把这段视频发给别人看。如果你刚开始接触提示词工程(现在人们喜欢这么称呼它),Anthropic YouTube 频道的“提示词入门”是一个很好的例子。

最后,我们要讨论的是:“Vibe Coding 是 2025 年最糟糕的想法”。标题有点严厉,但我喜欢这里所有的观点。我摘录了一句:“仅仅因为你能进行 Vibe Coding(氛围编程),并不意味着软件工程的基础知识就不值得学习。” 如果我现在开始学代码,我对 Vibe Coding 会非常感兴趣。但我认为,如果你建立了软件工程的基础知识,你就能掌握 Vibe Coding,并通过少量的深度投入获得更多的收获。

所以,Vibe Coding 能给你所需的所有广度,但亲手实践则赋予你所需的深度。以上就是 2025 年 8 月的机器学习和 AI 月度总结。请查看下方的所有链接,给那些制作了精彩资源的人们一些支持。如果你希望下个月收到这封基于文本的电子邮件通讯,请务必输入你的邮箱地址。它是免费的。是的,下个月你会在那里看到我的文章。再见