当前位置: 首页 > news >正文

大模型连“数数“都会数错

大模型连"数数"都会数错,这说明了什么?

有一天我突发奇想,给 AI 一串 0 和 1,让它数出里面有多少个 1。结果它数错了。一个能写代码、能翻译、能做数学题的 AI,居然数不清一串数字里有几个 1?这件事让我对大模型的"聪明"产生了深刻的怀疑,也让我真正理解了它的能力边界。


第一章:实验现场

我给 AI 出了一道幼儿园级别的题:

我:请数一下 10110010110101 中有多少个 1? AI:这串数字中有 8 个 1。

我自己数了一下:1-0-1-1-0-0-1-0-1-1-0-1-0-1,应该是8 个。嗯,这次对了。

那加长一点呢?

我:请数一下 101100101101010011010110 中有多少个 1? AI:这串数字中有 13 个 1。

我写了段代码验证:

s="101100101101010011010110"print(s.count("1"))# 输出:14

错了。少数了一个。

再来一次,换一串更长的:

我:请数一下 1011001011010100110101101011001011010 中有多少个 1? AI:这串数字中有 20 个 1。
s="1011001011010100110101101011001011010"print(s.count("1"))# 输出:21

又错了。

一个能写出完美快速排序的 AI,数不清一串数字里有几个 1。这到底是怎么回事?


第二章:它根本没在"数"

我们数数时,脑子里是这样的:

1 → 计数器 = 1 0 → 跳过 1 → 计数器 = 2 1 → 计数器 = 3 0 → 跳过 0 → 跳过 1 → 计数器 = 4 ... 从左到右,逐个扫描,遇到 1 就加 1,最后报出计数器的值。

你以为 AI 也是这样做的?

它不是。它根本没有"逐个扫描"的能力。

大模型的 Transformer 架构是并行的——它一次性看到所有内容,做一次矩阵运算,然后直接输出答案。它没有循环,没有计数器,没有"一个一个来"的机制。

这就像让你"扫一眼"一把撒在桌上的豆子然后报数量——7 颗以下你能"扫一眼"就说对,再多你就必须一颗颗数了。大模型永远停留在"扫一眼"的阶段。


第三章:它看到的甚至不是一个个字符

问题比"不会数"更深——大模型看到的东西和你看到的就不一样。

你看到的是 14 个独立的字符:

1 0 1 1 0 0 1 0 1 1 0 1 0 1

大模型看到的是经过分词器(Tokenizer)切割后的几个"token":

你看到的: 1 0 1 1 0 0 1 0 1 1 0 1 0 1 分词器可能切成: "101" | "100" | "101" | "101" 或者: "10" | "110" | "010" | "1101" | "01"

分词器不是按单个字符切的,而是按训练语料中的统计频率来切的。“101” 如果在训练数据里频繁出现,就会被当成一个整体。

这意味着什么?模型拿到的不是 14 个字符,而是 4~5 个 token 块。它要从这些块里数出 “1” 的个数,就好比让你从这堆东西里数出字母 “a” 的个数:

你看到的不是:b a n a n a 而是: "ban" "ana" 你还能一眼看出有 3 个 a 吗?困难多了。

AI 面对的是一个被切碎重组的输入,还要在没有计数器的情况下给出精确答案。它能猜对短序列已经很不容易了。


第四章:它的"数数"实际上是在估算

既然不能逐个扫描,那短序列它是怎么答对的?

大概率靠的是这些策略:

策略 1:模式记忆

"111" → 训练数据里见过无数次 → 答案是 3 "1010" → 训练数据里见过无数次 → 答案是 2 "11001" → 训练数据里见过 → 答案是 3

短的序列直接背答案就行了。

策略 2:估算

看到一串很长的 01 序列 大概感觉 1 占了一半多一点 36 个字符 → 估计 20 个 (不是数的,是猜的)

这解释了为什么它的错误总是"差一两个"而不是"差十个"——估算虽然不精确,但大方向是对的。

策略 3:碰运气

对于中等长度的序列(10~20 个字符) 有时候估对了,有时候估错了 看起来像是"有时候数对有时候数错" 其实根本就不是在数

第五章:一个有趣的补救——让它"自言自语"

如果你换一种问法,准确率会大幅提升:

我:请逐个检查 10110010110101 中每一位,标记是 0 还是 1,最后数出 1 的总数。 AI: 第 1 位:1 → 计数=1 第 2 位:0 → 计数=1 第 3 位:1 → 计数=2 第 4 位:1 → 计数=3 第 5 位:0 → 计数=3 第 6 位:0 → 计数=3 第 7 位:1 → 计数=4 第 8 位:0 → 计数=4 第 9 位:1 → 计数=5 第 10 位:1 → 计数=6 第 11 位:0 → 计数=6 第 12 位:1 → 计数=7 第 13 位:0 → 计数=7 第 14 位:1 → 计数=8 共有 8 个 1。 ✓

这就是所谓的Chain-of-Thought(思维链)。为什么"自言自语"就能数对了?

因为 Transformer没有工作内存——没有地方暂存"当前数到了几"。但当你让它把中间过程写出来时,输出文本本身就变成了工作内存

没有思维链: 输入 → [一次矩阵运算] → 直接输出答案 没有地方存"数到第 7 个了,当前计数是 4" 有思维链: 输入 → 生成"第 1 位:1 → 计数=1" → 把这段话作为上下文,继续生成"第 2 位:0 → 计数=1" → 把前两段话作为上下文,继续生成... 每一步的输出都被"存"在了文本里 后续的预测可以"读"到前面的中间结果 文本充当了"草稿纸"

模型用"说出来"代替了"记在脑子里"。这也是为什么 OpenAI 的 o1 模型要生成那么长的"思考过程"——不是在"深度思考",而是需要大量的中间文本来当草稿纸。

但即便用了思维链,如果序列足够长,它仍然会数错——因为分词器的问题依然存在,它可能把 “10” 看成一个 token,读不出里面有 1 个 1 和 1 个 0。


第六章:这件事告诉我们什么

1. 大模型不是通用计算机

通用计算机(图灵机): ✓ 有内存(可以存中间结果) ✓ 有循环(可以一个个处理) ✓ 有计数器(可以精确计数) 大模型(Transformer): ✗ 没有可读写的内存 ✗ 没有循环 ✗ 没有计数器 ✓ 有一次性的并行矩阵运算 → 大模型在计算能力上是弱于图灵机的 → 它能做到的事情,都是"一次前向传播"能解决的 → 需要多步精确操作的任务,天然就是它的盲区

2. 擅长的和不擅长的,界限清晰

擅长(模式匹配、关系判断): ✓ 这两句话是不是一个意思? ✓ 这段代码大概率下一行是什么? ✓ 这篇文章的情感是正面还是负面? ✓ 把这段中文翻译成英文 不擅长(精确计数、精确操作): ✗ 数一串数字里有几个 1 ✗ 数一段话里有几个字 ✗ 精确反转一个字符串 ✗ 多位数精确乘法

有一个规律:如果一个任务你需要一步一步做、中间需要记住东西,大模型就大概率会出错。如果一个任务你能"凭感觉"一下子给出答案,大模型就大概率能做对。

3. "聪明"和"精确"是两回事

大模型很"聪明": 能写诗、能辩论、能写代码、能总结文章 这些都是"大方向对就行"的任务 大模型不"精确": 数不清数字、算不准乘法、记不住长文本的具体细节 这些都是"差一个就错"的任务

这就像一个极有文学天赋但算术不好的人——让他写一篇散文,信手拈来;让他算 37×89,抓耳挠腮。不是他不"聪明",是他的"聪明"不是用来算术的。

4. 最好的试金石

如果你想真正测试一个 AI 模型的能力边界,不要给它难题——给它简单但需要精确执行的题

❌ 不太好的测试: "请推导量子力学的薛定谔方程" → 训练数据里有大量推导过程,它可以"背"出来 → 答对了也不能证明它"理解"了 ✓ 好的测试: "10110010110101001101011010110010110100110 中有多少个 1?" → 训练数据里不可能有这个具体的答案 → 必须靠真正的"计算"才能答对 → 答错了就暴露了本质

大模型最好的试金石不是难题,而是简单题。


写在最后

“数数会数错"这件事,看起来是一个小 bug,实际上揭示了大模型的根本架构局限——它是一个并行的模式匹配引擎,不是一个顺序的计算机器。它擅长"大致理解”,不擅长"精确操作"。

这不是通过增加参数、增加训练数据就能解决的问题——你给一台没有循环指令的硬件再多的数据,它也学不会 for 循环。这是架构层面的天花板。

所以下次当你惊叹于 AI 写出了一段完美的代码时,不妨让它数一数那段代码有多少行。也许它会告诉你 42 行,但实际上是 45 行。

这就是 AI:它能写出代码,但数不清自己写了几行。


这是"AI 原理探索"系列的第四篇。从向量化原理到微调实战,再到 LoRA,再到本篇的能力边界——一步步从"AI 能做什么"走到了"AI 做不到什么"。理解边界,也许比理解能力更重要。

http://www.jsqmd.com/news/492977/

相关文章:

  • Qwen3-TTS-12Hz-1.7B-Base实际作品:葡萄牙语航海日志+意大利语葡萄酒品鉴
  • k8s面试题
  • Jimeng LoRA基础教程:safetensors文件夹自动识别与版本刷新机制解析
  • 环境关联数据是指与特定时空场景下自然环境和社会活动密切相关、可影响系统行为或决策的一类动态数据
  • Phi-3-Mini-128K快速部署:无需conda环境,仅需Docker与NVIDIA驱动即可启动
  • python搭建后台框架
  • [特殊字符] Nano-Banana效果展示:同一Prompt下不同种子值的可控变体生成
  • 大数据加工基础组件平台生态,主要基于 Apache Hadoop 生态系统(Hadoop Ecosystem)并扩展了企业级治理、安全与运维能力
  • HBase 是一个分布式的、面向列的开源数据库,构建在 Hadoop 文件系统(HDFS)之上,是 Google Bigtable 的开源实现
  • GLM-4.7-Flash效果实测:4096 tokens长文本摘要完整性分析
  • 每天了解几个MCP SERVER:数据科学神器!AI + Spark 大数据分析,Databricks 让机器学习更简单
  • 知识点1--计算机网络基础
  • 手机短信误删!4 个实用恢复方法,一文看懂轻松
  • 2026年盐城殡葬服务优质机构推荐:一条龙殡仪、一站式殡葬服务、高端殡仪、盐城建湖福寿殡葬礼仪、践行民生服务初心 - 海棠依旧大
  • 每天了解几个MCP SERVER:AI 翻译神器!全球29种语言,DeepL 让翻译更地道
  • 百度飞桨ocr调用
  • 2026年3月优质的盐城殡葬礼仪服务公司选择指南:殡葬一条龙、殡仪服务、一站式殡葬服务公司 - 海棠依旧大
  • Apache Hadoop 生态系统(或与其深度集成)的企业级大数据平台核心服务,常见于 Hortonworks Data Platform(HDP)、Cloudera Data Platform
  • 每天了解几个MCP SERVER:OLAP 分析神器!AI 直接查询大数据,Apache Doris 让数据分析更简单
  • 免费降ai工具实测:哪个免费额度最良心
  • 【物联网学习笔记】串口接收
  • 毕业论文免费查AI率+降AI率一站式攻略
  • 2026年3月优质的哈尔滨机场周边住宿选择指南:哈尔滨机场酒店、太平机场酒店、哈尔滨机场附近住宿、凌晨接机酒店、晚班机住宿推荐 - 海棠依旧大
  • Ambari Metrics 是 Apache Ambari 提供的轻量级、嵌入式集群监控子系统,用于收集、聚合、存储和展示 Hadoop 生态组件
  • 免费降AI率软件排行:从白嫖到付费怎么选
  • 11个摄像头需要多少带宽? ——自动驾驶视频系统带宽计算(硬件工程师版)
  • 基于VSG控制的MMC并网逆变器仿真模型(Simulink仿真实现)
  • 日报26-005 加分
  • 在资源优化调度场景中,基于多源数据(如地磁/视频/雷达检测、浮动车GPS、手机信令、互联网地图API等)构建关联规则
  • 免费查AI率完全攻略:5种不花钱的检测方法