Skip to main content

The following article originally appeared on the Asimov’s Addendum blog and is being republished here with the author’s permission.本文最初发表于 Asimov’s Addendum 博客,现经作者许可在此转载。

IBM’s Deep Blue and Garry Kasparov (Wikipedia)
IBM’s Deep Blue and Garry Kasparov (Wikipedia)IBM 的深蓝(Deep Blue)与加里·卡斯帕罗夫(Garry Kasparov)(来源:维基百科)

Even the best AI models can suck at chess即使是最顶尖的 AI 模型,下棋也可能很烂

The launch of ChatGPT had an interesting effect on the online chess discourse. Chess has already long been conquered by machines. As early as 1996 a computer (IBM’s Deep Blue) was able to beat the human world champion, grandmaster Garry Kasparov, in a game watched by over six million people.1 The world was shocked that a machine took on the best player and won a game, but chess engines didn’t stop evolving there. Since the ’90s, they have gotten better while the machines needed to run them have become much smaller. Today Stockfish is widely considered much stronger than any human player. It has run on consumer hardware since its launch in 2008, and by 2014 it was beating some of the world’s top grandmasters.ChatGPT 的发布对在线国际象棋讨论产生了有趣的影响。国际象棋早已被机器征服。早在 1996 年,一台计算机(IBM 的“深蓝”)就在一场有超过六百万人观看的比赛中击败了人类世界冠军、特级大师加里·卡斯帕罗夫。尽管当时全世界都为机器挑战人类最强选手并获胜而感到震惊,但国际象棋引擎的发展并未止步于此。自 90 年代以来,它们不断进化,而运行所需的机器却变得越来越小。如今,Stockfish 被公认为远强于任何人类棋手。自 2008 年发布以来,它便能在消费级硬件上运行,到 2014 年时,它已经能击败世界上一些顶尖的特级大师。

It came as a surprise to many, therefore, that modern LLMs, trained on a vast portion of the internet and requiring supercomputers to run, couldn’t help but cheat on almost every move. There are endless videos showing how just a few moves into a normal chess game, ChatGPT and some of its competitors would gladly throw the rules out the window to escape a checkmate or gain an advantage.因此,许多人感到惊讶的是,现代大语言模型(LLM)——那些在互联网海量数据上训练并需要超级计算机才能运行的模型——在几乎每一步棋上都会忍不住“作弊”。无数视频显示,在普通国际象棋对局中,ChatGPT 及其部分竞争对手只需走几步,就会为了逃避将死或获得优势而心甘情愿地抛弃规则。

But in truth, this isn’t surprising. The LLMs were not trained with chess in mind. Sure, they may have seen countless chess games scattered throughout the internet, but the vast majority of their parameters and training compute were devoted to capabilities that are completely useless once you put a chessboard in front of them.2 Stockfish on the other hand uses a tree search algorithm that is built to be good at chess. If you want a chess engine, you use a chess engine.3但事实上,这并不令人惊讶。这些大语言模型在训练时并未考虑国际象棋。诚然,它们可能在互联网上见过无数棋局,但它们绝大多数的参数和训练算力都投入到了那些在面对棋盘时完全无用的能力上。相比之下,Stockfish 使用的是专门为下棋而设计的树搜索算法。如果你想要一个国际象棋引擎,就应该使用国际象棋引擎。

Smaller models are sometimes better小模型有时表现更好

While chess is a particularly potent example of a large language model losing to a much smaller specialized system, it’s far from unique. In a 2025 position paper, NVIDIA researchers argued that small models4 (which it defines as models under 10 billion parameters) are the future of agentic AI and that they “provide significant benefits in cost-efficiency, adaptability, and deployment flexibility.”虽然国际象棋是一个大语言模型输给小型专业化系统的典型案例,但这绝非孤例。在 2025 年的一份立场文件中,NVIDIA 的研究人员指出,小模型(定义为参数量在 100 亿以下的模型)是智能体 AI 的未来,它们“在成本效益、适应性和部署灵活性方面具有显著优势”。

Just because a larger model can do a job does not mean that a small model fine-tuned for that specific task can’t do it better and more cheaply. There are countless examples of smaller models doing just that. LiteResearcher is a 4B model that beat out Claude Sonnet 4.5 on some search benchmarks. Terminus-4B allows larger models to save compute by handing off terminal execution to a smaller model without suffering capability loss. The Docling family of open source models start at just 258 million parameters and allow for fast extraction of PDFs to text without having to feed 100-page PDFs into an expensive LLM. Researchers also trained a small 4B model to outperform even the GPT-5 series of models in a few social negotiation situations such as negotiating salary or bargaining for a purchase. Each wins, not by raw intelligence but because it is built or fine-tuned for a narrower, more specific purpose.大模型能做的工作,并不代表针对特定任务微调过的小模型不能做得更好、更廉价。小模型实现这一点的例子不胜枚举。LiteResearcher 是一个 4B(40 亿参数)模型,在某些搜索基准测试中击败了 Claude Sonnet 4.5。Terminus-4B 允许大模型将终端执行任务交给小模型,从而在不损失能力的情况下节省算力。Docling 系列开源模型起始参数仅为 2.58 亿,能够快速将 PDF 提取为文本,而无需将 100 页的 PDF 输入昂贵的大语言模型。研究人员还训练了一个 4B 的小模型,在薪资谈判或讨价还价等社交谈判场景中,表现甚至优于 GPT-5 系列模型。它们之所以能胜出,不是因为原始智能,而是因为它们是为更狭窄、更具体的目的而构建或微调的。

A frontier model may know how to do all of these jobs, but that doesn’t mean it’s the right tool for the job. Large models are expensive and unpredictable, and doubly so when it comes to agentic tasks which can span several turns and hundreds of thousands of tokens.前沿模型或许知道如何完成所有这些工作,但这并不意味着它是完成该工作的最佳工具。大模型昂贵且不可预测,在涉及跨越多个回合和数十万 token 的智能体任务时,这种不可预测性更是加倍。

NVIDIA draws the line for small models at 10 billion parameters, but the more important boundary for developers may be whether a model is small enough to run yourself. There is still a whole class of models that are not necessarily small but are still small enough to fit on one consumer GPU (at least when quantized). This includes models like Qwen 3.8 27B, Gemma 4 26B and GPT-OSS 20B. These models are very capable even without specialization and rank very highly on benchmarks (with Qwen sometimes outranking top models from a few months ago). But they can still be easily run on premises without spending thousands of dollars on GPUs.NVIDIA 将小模型的界限划定在 100 亿参数,但对开发者而言,更重要的界限或许在于模型是否小到可以自行运行。目前存在一类模型,它们不一定非常小,但依然小到足以(在量化后)在单张消费级 GPU 上运行。这包括 Qwen 3.8 27B、Gemma 4 26B 和 GPT-OSS 20B 等模型。即使没有经过专门化,这些模型也非常强大,在基准测试中排名很高(Qwen 有时甚至超过了几个月前的顶尖模型)。但它们依然可以在本地轻松运行,无需花费数千美元购买 GPU。

The ability to run smaller specialized models adds more than just efficiency; it provides a more realistic opportunity for a developer to train and fine-tune their own model, and to host the model locally or in the cloud instead of relying on the model provider to do so for it. This in turn can provide developers more control over how tokens are used, how outputs are structured, and how each part of the pipeline can be improved individually—instead of assuming an improvement in the most popular benchmarks will lead to every task improving. And as noted above, smaller models can be easier to fine-tune, thereby creating a more specialized AI. As my colleague Ilan Strauss has noted, specialization is a powerful economic force.运行小型专业化模型带来的不仅仅是效率,它还为开发者提供了一个更现实的机会,让他们可以训练和微调自己的模型,并在本地或云端进行托管,而不必依赖模型提供商。这反过来又能让开发者更好地控制 token 的使用方式、输出的结构,以及如何单独改进流水线的每个部分——而不是想当然地认为最流行基准测试的提升就会带来所有任务的改善。正如前面提到的,小模型更容易微调,从而创造出更专业的 AI。正如我的同事 Ilan Strauss 所指出的,专业化是一种强大的经济力量。

How do you train it, and where does it run?如何训练它,以及在哪里运行?

The strongest argument for using an off-the-shelf generic chat model is often one of convenience. For most tasks a general model will be good enough, and with products like OpenRouter, developers can easily pick and choose from hundreds of models (plenty of them open source) all competing in capability and cost without putting in any upfront work to train a model. As Raffi Krikorian of Mozilla noted while reviewing this article, generic models also make particular sense early in a company’s lifecycle, when the problem itself is still being defined. At that stage, experimenting with the largest and most capable model available can help a team figure out exactly what it needs. But as the problem space narrows and the required architecture becomes clearer, so too may the need for a large generic model. And despite many first-party model makers discontinuing their fine-tuning products, fine-tuning and hosting a smaller model remains relatively easy, largely thanks to parameter-efficient techniques like LoRA.使用现成通用聊天模型最强有力的论据通常是“便利性”。对于大多数任务,通用模型已经足够好,而且通过 OpenRouter 等产品,开发者可以轻松地从数百个模型(其中很多是开源的)中进行选择,这些模型在能力和成本上相互竞争,无需投入前期工作来训练模型。正如 Mozilla 的 Raffi Krikorian 在审阅本文时所指出的,通用模型在公司生命周期的早期阶段也很有意义,因为此时问题本身还在定义中。在那个阶段,尝试使用现有的最大、最强大的模型可以帮助团队准确找出需求。但随着问题空间缩小,所需的架构变得清晰,对大型通用模型的需求可能也会随之降低。尽管许多第一方模型制造商停止了微调产品,但得益于 LoRA 等参数高效技术,微调和托管小模型仍然相对容易。

LoRA
LoRA (Low-Rank Adaptation) allows developers to fine-tune a model without touching the actual model weights. It works by attaching a relatively small number of trainable weights that are updated during fine-tuning. This is important for several reasons. A small adapter can be easily transported, and serving a new LoRA does not require loading an entirely new model as long as the underlying base model is already available. Unlike full fine-tuning, a LoRA also reduces the risk of catastrophic forgetting.
LoRA(低秩自适应)允许开发者在不触动实际模型权重的情况下对模型进行微调。它的工作原理是附加少量在微调期间更新的可训练权重。这在几个方面很重要:小的适配器易于传输;只要基础模型可用,提供新的 LoRA 就不需要加载全新的模型。与完全微调相比,LoRA 还降低了灾难性遗忘的风险。

Training a LoRA is much cheaper than full fine-tuning as it only updates a small selection of weights. This can be done on consumer GPUs using libraries such as Hugging Face Transformers or Unsloth. There are also APIs that mimic or improve on the fine-tuning APIs that used to be provided by the big three providers (Anthropic, OpenAI, and Google), Fireworks, for example, provides a straightforward fine-tuning API that takes example completions for it to learn from. Going beyond SFT (supervised fine-tuning, or learning by example), Tinker allows developers to build custom RL (reinforcement learning) environments that reward results meeting certain criteria, while the environment itself runs on the developer’s machine.训练 LoRA 比完全微调便宜得多,因为它只更新一小部分权重。这可以使用 Hugging Face Transformers 或 Unsloth 等库在消费级 GPU 上完成。还有一些 API 模仿或改进了曾经由三大巨头(Anthropic、OpenAI 和 Google)提供的微调 API。例如,Fireworks 提供了一个简单的微调 API,通过输入示例完成内容进行学习。除了 SFT(监督微调,即通过示例学习)之外,Tinker 还允许开发者构建自定义的 RL(强化学习)环境,奖励符合特定标准的结果,同时环境本身在开发者的机器上运行。

Hosting a LoRA is similarly straightforward and, importantly, portable across platforms. Transferring a fully fine-tuned model to a new API platform can be costly and may require the provider to serve your model separately on expensive GPUs. Using LoRA allows the platform to just load a small adapter onto the model they are already using to serve other users’ requests. This means that fine-tuning a LoRA does not lock you to a specific platform, and it also doesn’t force you to rent your own GPUs.托管 LoRA 同样简单,而且重要的是,它具有跨平台的可移植性。将完全微调的模型转移到新的 API 平台可能会很昂贵,并且可能要求提供商在昂贵的 GPU 上单独为你的模型提供服务。使用 LoRA,平台只需将一个小适配器加载到他们已经用于服务其他用户请求的模型上即可。这意味着微调 LoRA 不会让你被锁定在特定平台,也不强制你租用自己的 GPU。

Control beyond the model weights超越模型权重的控制权

As Tim O’Reilly previously argued, open source AI should not stop at the model weights. In a similar vein, the possibilities for developers building a custom system do not stop there either. Model APIs are inherently limiting, they impose on you what parts of the model’s input can be touched, what can be cached, and how you can affect the output. Going back to the chess example, enforcing valid chess moves at output time is easy, assuming you have access to the code that runs the model, but it’s not easy to do when you are relying on an API built for a chatbot that you are unable to modify.正如 Tim O’Reilly 之前所主张的,开源 AI 不应止步于模型权重。同样,开发者构建定制系统的可能性也不止于此。模型 API 本质上是有限制的,它们强加给你哪些模型输入部分可以触碰、哪些可以缓存,以及你如何影响输出。回到国际象棋的例子,如果你有权访问运行模型的代码,在输出时强制执行有效的国际象棋走法是容易的;但当你依赖一个无法修改的聊天机器人 API 时,这就很难做到了。

Self-hosting a model gives you a level of control far beyond what is possible through a standard chat completion API and allows you to build the model around the task instead of building the task around the model. Fine-tuning is only one aspect of specialization. You can also constrain which outputs are valid, expose and modify probabilities of every token, cache any state, and add task-specific logic directly into the inference pipeline.自托管模型为你提供了远超标准聊天完成 API 的控制水平,使你能够围绕任务构建模型,而不是围绕模型构建任务。微调只是专业化的一个方面。你还可以约束哪些输出是有效的,暴露并修改每个 token 的概率,缓存任何状态,并将任务特定的逻辑直接添加到推理流水线中。

This matters because the default approach to improving AI systems has increasingly become to reach for a more capable general model. Sometimes that is the right answer. But improving general model intelligence is only one lever, and often not the cheapest or most reliable one.这一点很重要,因为改进 AI 系统的默认方法日益倾向于追求功能更强大的通用模型。有时这是正确的答案。但提高通用模型智能只是手段之一,而且往往不是最廉价或最可靠的手段。

In 1997 nobody complained that Deep Blue gave bad recipes because it wasn’t built to do anything but play chess. By specializing around one narrow problem, it was able to beat a grandmaster at a game that many had thought machines would never conquer.1997 年,没有人抱怨“深蓝”给出的食谱很糟糕,因为它除了下棋什么都没做。通过围绕一个狭窄的问题进行专业化,它得以在许多人认为机器永远无法征服的游戏中击败了特级大师。

The lesson from LLMs cheating at chess is that the best tool for a problem is often not the most general one. Super general intelligence does not automatically translate into high capabilities in specialized tasks. The opposite is closer to being true. Specialized machine intelligence requires lots of data and often its own pipeline. Small models can help companies get there.5
大语言模型在国际象棋中作弊给我们的教训是:解决问题的最佳工具往往不是最通用的那个。超通用智能并不会自动转化为在特定任务中的高能力。事实恰恰相反。专业化的机器智能需要大量数据,并且通常需要自己的流水线。小模型可以帮助企业实现这一点。


Footnotes脚注

  1. In 1996 Deep Blue ended up losing the match 4–2 despite a great start where it won its first game; the next year after more upgrades Deep Blue beat out Garry Kasparov by one game in a rematch. ↩︎1996 年,深蓝在首局获胜、开局良好的情况下最终以 4–2 输掉了比赛;次年经过更多升级后,深蓝在重赛中以一局之差击败了加里·卡斯帕罗夫。 ↩︎
  2. AlphaZero, a model trained with self-play, beats even Stockfish. It is not unheard of for a machine learning model to get really good at chess when it is set as the goal. ↩︎AlphaZero 是一个通过自我对弈训练的模型,甚至击败了 Stockfish。当机器学习模型被设定为目标时,在国际象棋上变得非常出色并不罕见。 ↩︎
  3. I ended up pretraining my own tiny language model (15 million parameters) on my local Mac mini for chess as an experiment and achieved 27% accuracy of predicting a human’s next move. I suspect I can do a lot better after I fix my tokenizer to break up moves and use a bigger model but that is still up for debate. ↩︎我最终在本地 Mac mini 上预训练了我自己的微型语言模型(1500 万参数)用于国际象棋实验,在预测人类下一步棋的准确率上达到了 27%。我怀疑在修复分词器以拆分棋步并使用更大的模型后,我可以做得更好,但这仍有待商榷。 ↩︎
  4. This contrasts with larger models like DeepSeek-V4-Flash (284 billion total parameters, with 13 billion activated per token) and huge models like Kimi K3 (2.5 trillion total parameters, 104 billion activated per token) and presumably flagship models from OpenAI and Anthropic ↩︎这与 DeepSeek-V4-Flash(总参数 2840 亿,每个 token 激活 130 亿)等较大模型,以及 Kimi K3(总参数 2.5 万亿,每个 token 激活 1040 亿)等巨型模型,以及推测来自 OpenAI 和 Anthropic 的旗舰模型形成了对比。 ↩︎
  5. Thank you to Ilan Strauss, Tim O’Reilly, Mike Loukides, and Raffi Krikorian for their helpful comments, copy edits, and suggestions. ↩︎感谢 Ilan Strauss、Tim O’Reilly、Mike Loukides 和 Raffi Krikorian 提供的有益评论、文稿编辑和建议。 ↩︎
Post topics: AI & MLAI 与机器学习文章主题:AI 与机器学习