大模型是如何执行像数学运算、编程等精确性要求比较高的任务的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
happyn
V2EX    机器学习

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

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

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

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

    这个理解对吗?
    第 1 条附言    200 天前
    感谢诸位的热情回复;特别是 @HXM 和 @kidult 推荐的文章和视频很有帮助;

    通过这些资料我大概了解了,这种数学和编程的能力真的是大模型通过神经网络学习到的,特别是数学运算,并不是背后有个专门用于计算的模块,而是在语料学习的过程中,真的获取到了用于数学运算的知识,特别是 MoE 的架构,一个数学问题,可以解析成 语义理解->问题拆分->实际运算,然后通过路由选择,分配给不同的模块进行处理,最后合并结果;


    另外关于大模型实际处理数学问题的步骤,其实还是一个很不透明的、不能精确描述的过程,@HXM 推荐的那篇文章,又检索到了 Claude 开发团队通过逆向 Transformer 的思考过程,来探究实际原理的,这个领域很有意思;
    29 条回复    2025-03-30 14:07:22 +08:00
    sujin190
        1
    sujin190  
       201 天前 via Android
    显然并不是,所谓专家网络也是神经网络哪来的精确计算模块,人也是看看书说 673x3666 咋算的,AI 也是一样的可以啊,所以人不借助工具算不准,大模型也一样啊,关于大模型为啥可以通关基础的 token 预测学习到更深刻的知识并且能思考就不是一两句话可以说清的了
    ltyj2003
        2
    ltyj2003  
       201 天前 via Android
    但是可以引导 ai 编一个程序,来实现算 1000 位的任务。
    wyntalgeer
        3
    wyntalgeer  
       201 天前
    方向就错了,人类发明二进制计算器就是为了补足人脑的运算缺陷,而人脑是大模型的天花板,你指望大模型突破人脑天花板,建议换个方向老铁
    KagurazakaNyaa
        4
    KagurazakaNyaa  
       201 天前   1
    大模型现在一般是通过调用外部工具来实现精确计算的,可以看看这个 https://modelcontextprotocol.io/introduction
    openai 还做了一个 function calling 标准
    xuld
        5
    xuld  
       201 天前
    原理很简单,大模型自己不会算,但它可以生成算的代码,然后执行代码。就像人类自己不会算,但他会用计算器。
    HXM
        6
    HXM  
       201 天前 via iPhone   4
    Antropic 前两天发了一篇探讨 LLM 可解释性的 Blog ,挺通俗易懂,里面 Mental math 小节讨论了你提出的这个问题。

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

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

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

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

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

    实际上 MoE 只有一个作用:稀疏化
    rqYzyAced2NbD8fw
        21
    rqYzyAced2NbD8fw  
       201 天前
    @happyn #17 解释器也有一套八股文的,你把 syntax tree 之类的东西搞懂自己也能写一个解释器
    QiShine
        22
    QiShine  
       200 天前
    现在技术路线已经分化了,一种是大模型用 MLP 来逼近/模拟计算,1989 年和 1991 年研究数学的人就搞出了”万能逼近定理“,后续的研究都是怎么高效的降低错误率,一种是调用一个外置的或者内置的计算器或者解释器。这其实和人是一样的吧,我算六位数乘法也会用计算器啊,虽然我也会笔算。
    rogerer
        23
    rogerer  
       200 天前
    @sujin190 表示能力和统计意义上容易学到是两件事,LLM 到目前为止对四则运算还是有问题的。
    panda1001
        24
    panda1001  
       200 天前 via Android
    这么理解可能像人一样的计算方式
    二十以内加减法依靠记忆,还有记忆公式定理
    其他的复杂计算需要纸和笔,精确计算不依赖记忆/大脑内存不够
    大模型靠长期记忆记住二十以内加减法,应该是神经网络,也是 op 说的和想象中的人类计算加法的方式很不一样,更复杂的去尝试运用公式和解释器
    tinydancer
        25
    tinydancer  
       200 天前   1
    OP 是 happyn 的开发者吗?最近刚用 happyn 和朋友打完了双影奇境,体验很好,感谢 OP
    cheng6563
        26
    cheng6563  
       200 天前
    你不要想太多,LLM 作为机器学习发展而来的模型,和其他模型使用方法是一样的。也就是输入数据,推理结果,输入聊天记录,推理出下一个(字)回复。
    其他功能都是 AI 产品通过外部工具连接使用,最近热门的 MCP 就是这个连接外部工具的协议。

    LLM 也是“想即为说”,1234x4321 能直接得出结果是是因为模型里面已经有现有数据。遇到其他模型里面没有的算式,你要让他笔算才能让他算对。

    https://www.promptingguide.ai/zh 这个网站我建议所有想了解 LLM 的人都看一下
    neteroster
        27
    neteroster  
       200 天前
    #20 是对的,MoE 名字有些误导,实际上稀疏化才是目的和作用。并没有什么语义理解、问题拆分等模块。
    rogerer
        28
    rogerer  
       199 天前
    @yushi17 没有这么语义化的分化,但是专家之间还是会有分化吧
    sujin190
        29
    sujin190  
       199 天前 via Android
    @rogerer 这没什么,AI 的方向估计会和人一样,擅长学习如何使用工具计算但不会擅长直接计算,只要能准确识别这是个啥数学问题就行了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4968 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 05:40 PVG 13:40 LAX 22:40 JFK 01:40
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86