大模型是如何执行像数学运算、编程等精确性要求比较高的任务的?

169 天前
 happyn
我的理解就是大模型是一个 Token 预测的网络,通过大量数据的预训练,从输入的 context 中预测下一个最有可能的 token ;那我有一个很小白的问题,诸如数学运算,比如 673 X 3666 = ? 这种运算,大模型是如何通过 token 预测得出答案的?而且之前也有一些很明显的应用,比如让大模型扮演一个编译器等等执行非常精确的运算,我实在想不通,如果不是由专有的程序,仅仅依靠神经网络,就能执行这种类似的运算吗?

我跟 Gemini 聊了半天,发现一个非常有意思的事情,比如我问他 "请告诉我圆周率小数点后 x 位的数字",当 10 位,30 位,50 位的时候,都没有问题,但是超过一定量,比如 1000 位,它就会宕机; 如果用 deepseek 的推理模式,他就会自己计算;所以我的理解是:

1. 大模型理解问题,是靠神经网络进行 token 预测的
2. 大模型解决数学类的精确问题,必须是混合模型(MoE),调用专门处理精确计算的那个部分,才能得出正确答案?

这个理解对吗?
3950 次点击
所在节点    机器学习
29 条回复
sujin190
169 天前
显然并不是,所谓专家网络也是神经网络哪来的精确计算模块,人也是看看书说 673x3666 咋算的,AI 也是一样的可以啊,所以人不借助工具算不准,大模型也一样啊,关于大模型为啥可以通关基础的 token 预测学习到更深刻的知识并且能思考就不是一两句话可以说清的了
ltyj2003
169 天前
但是可以引导 ai 编一个程序,来实现算 1000 位的任务。
wyntalgeer
169 天前
方向就错了,人类发明二进制计算器就是为了补足人脑的运算缺陷,而人脑是大模型的天花板,你指望大模型突破人脑天花板,建议换个方向老铁
XiLingHost
169 天前
大模型现在一般是通过调用外部工具来实现精确计算的,可以看看这个 https://modelcontextprotocol.io/introduction
openai 还做了一个 function calling 标准
xuld
169 天前
原理很简单,大模型自己不会算,但它可以生成算的代码,然后执行代码。就像人类自己不会算,但他会用计算器。
HXM
169 天前
Antropic 前两天发了一篇探讨 LLM 可解释性的 Blog ,挺通俗易懂,里面 Mental math 小节讨论了你提出的这个问题。

https://www.anthropic.com/news/tracing-thoughts-language-model
happyn
169 天前
如果说大模型生成代码,然后执行代码算,那么,大模型本身可以模拟编译器、解释器吗?还是说它内置了编译器、解释器?
listenfree
169 天前
个人理解以前的直觉模型就是根据所觉的语料直接概率给你,错误率高。推理模型就不一样了,计算六位数乘六位数都没问题(我试过 Qwq32B-4bit),它根据语料学会了乘法,理论上,它就会乘法了。准确性很高。但编程和乘法比起来,就复杂多了,个人觉得编程还是直觉加少量推理确定方向个编程的走向。
Uta
169 天前
可以参考下这个视频,我觉得讲的挺不错的。在 20 分钟左右的时候又讲到你这个问题: [关于 AI 的深度研究:ChatGPT 正在产生心智吗?-哔哩哔哩] https://b23.tv/iunELVu
happyn
169 天前
@HXM 这篇文章我读完了,很有意思;按照文章里面对于 Claude 的描述,似乎它计算一个加法,并不是通过什么内置的计算器来完成的,而是完全的神经网络推理,但是跟我们想象中的人类计算加法的方式很不一样;

有趣的是,这篇文章后面也承认,计算题目越复杂,它犯错的几率就越高,某种意义上来说,这跟大模型对话胡说八道的时候是一样的;所以,对话胡说八道是大模型的幻觉,计算错误也是大模型的幻觉,目前大模型确实表现就像人脑一样,是不能执行精确的任务的;

另外,我在 deepseek ,Gemini 上测试,其实大模型本身并不能完整执行一些比较复杂的代码,至少我说让它计算圆周率第 9900-10000 位,他会生成正确的代码,但是自己不能执行;所以大模型内置解释器的想法也不对;

我理解,就是大模型对于数学等任务的理解,跟人类类似,人是怎么仅仅靠思维算加法、乘法的,也许要比计算机用二进制计算复杂的多;
happyn
169 天前
比如就是一个最简单的素数乘法: 863 X 877 = ?,它在大模型的内部到底是怎么推理的?单纯的通过语料训练,就能学会乘法吗? 有这方面的文章介绍吗?
happyn
169 天前
就是计算这个乘法 863 X 877 = ?,似乎各家的模型表现也不是很统一;
happyn
169 天前
另外,可以扩展一下,就是大模型能产生自己的推理模式吗? 比如我就把乘法表和几万个乘法示例喂给他,它就能学会乘法吗?
happyn
169 天前
加法、乘法是有固定的模式的,而从编程语言代码变成二进制的可执行码,也是由固定的模式的,这个模式虽然十分复杂,但是路径是唯一的;似乎非常强的编程人员,也可以在脑子里面自动从 C 语言代码"翻译"为字节码,那么,大模型可以习得这个能力吗?似乎看起来这个过程,跟数学运算是一样的;

所以只要算力足够强,告诉他一门语言的语法规则,譬如 Python ,大模型就可以自己生成一门编程语言的解释器?并能完美执行?
LaurelHarmon
169 天前
不认为 next token 预测可以实现精确的乘法进位 除法这些操作,简单数字靠规律,复杂的依然无能为力。
mumbler
169 天前
@happyn #14 以现在大模型的指令遵循能力完全没问题,给一个自己发明的语言的规则,示例放 prompt 里就能写出这个完全没学过的语言的代码,以前让它模仿鲁迅风格写文章还需要微调,现在给几篇范文就足够了,随着大模型能力进一步提升,学习能力会更强
happyn
169 天前
@mumbler 这个地方可能我没有表述清楚。我的意思是说,把一门语言的规则告诉他,当前它肯定可以用这门语言写程序,但是它能写一个解释器吗? 比如,Python 的语法规则告诉它,然后把 PEP 的文档喂给它,他可以写出一个简单的解释器吗?
mumbler
169 天前
@happyn 肯定可以啊,但这需要大量 token ,不是一个对话就能写成的,让 cursor 肯定能写出来
kidult
169 天前
这边建议补一下大模型 基础知识,可看这个视频 <amp-youtube data-videoid="7xTGNNLPyMI" layout="responsive" width="480" height="270"></amp-youtube>
yushi17
169 天前
对 MoE 的一个经典错误理解是:以为有一个数学专家,专门解数学题,有一个编程专家,专门负责编程....

实际上 MoE 只有一个作用:稀疏化

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1121905

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX