关于生成式ai模型的工作原理

模型与算力

用生活化比喻讲清生成式 AI 从训练到推理的全过程,帮入门读者看懂输入一句话到吐出答案之间发生了什么。

你可能已经天天在用聊天助手,但一旦要跟同事解释「它到底怎么学会说话的」,或者遇到答非所问、胡编乱造时想不通原因,就容易卡住。这篇不堆公式,按训练、推理两条线拆开讲:数据怎么变成能力、你按下发送后模型在算什么、为什么同一句话两次结果不一样。看完能自己判断哪些说法是常识、哪些只是营销话术。

你可能已经天天在用聊天助手,但要跟同事讲清「它到底怎么学会说话的」,或者遇到答非所问、胡编乱造时想不通原因,就容易卡住。这篇不堆公式,按训练、推理两条线拆开讲:数据怎么变成能力、你按下发送后模型在算什么、为什么同一句话两次结果不一样。

读法建议:先记住一个总比喻——模型像个「读了海量书、但从不查原文」的接话高手,它的本事是把统计规律压进参数里,不是把原文背进数据库。想顺带了解术语命名,可以到 /ai-dict/category/tech 对照。

训练阶段:模型是怎么「学」到的

第一步是把海量文本切成一串串 token,然后模型反复做同一件事:遮住下一个词去猜,猜错就调参数,猜对就加强。这个过程跑上无数轮,文字之间的搭配规律就被压进了参数里。所以它不是在存原文,而是在存「什么词后面通常接什么词」。

token
模型眼里的最小文字单位,可能是一个词、半个词甚至一个标点,不是你理解的「一个字」
参数
模型里那些被反复调整的数字,规律就存在这里,参数越多通常能装下的规律越复杂
对齐
预训练之后用指令微调、人类反馈再调一轮,决定它听不听话、拒答的界线画在哪

预训练只是打底,真正让它「像个助手」的是后面的对齐环节。同底子的模型,对齐做得好就听话、格式稳;对齐做得松就爱跑题、爱顶嘴。这也是为什么不同产品用类似底座,实际手感差别却很大。

  • 怎么验证「它是不是在编」:问训练数据大概率没覆盖的细节,比如某个小圈子的内部约定,看它是坦率说不知道,还是编得像模像样
  • 什么情况不适用:太新的事件、小众领域、企业内部资料,模型只会「补得像」,不会真的知道
  • 判断标准:凡是你不确定它有没有学过的内容,都当成待核实信息处理,别当结论用

推理阶段:你发一句话之后发生了什么

你按下发送后,文本先被切成 token 并转成向量,再逐层做注意力计算,最后输出的其实是一个「下一个 token 的概率分布」。模型从里面挑一个,接回输入,再算下一个——生成是一个字一个字往外蹦的过程。

  1. 切分与转向量你的输入被切成 token,再变成一串数字向量,这一步决定了模型「看到」的是片段而不是完整语义
  2. 逐层计算每层都在做注意力计算,判断当前该重点参考上文哪些位置,层数越多通常理解越细
  3. 采样出下一个 token输出概率分布后用采样参数挑一个,温度调低更稳、调高更活也更容易跑偏
  4. 回填循环挑出的 token 接回输入继续算,直到达到停止条件,所以回答越长天生越慢
你关心的现象背后的机制能做什么
回答越长越慢生成是逐 token 循环,不是一次吐完先要结论再要细节,或分段追问
上下文一长就忘事上下文窗口有容量上限,超出会被截断把关键约束写在最近一轮,别埋在开头
同一问题答法不同采样带随机性,模型只给概率不给标准答案要稳定就调低随机性,或让输出走固定格式
问法一变效果大变系统提示和上文都会显著影响结果把角色、格式、边界写清楚,别指望它猜

上下文窗口值得单独说:它是模型能同时「看见」的 token 总量,超了就会被截断或遗忘,不是无限记忆。很多「它怎么突然忘了前面说的」其实是窗口塞满导致,不是模型坏了。

为什么同一个问题两次答案不一样

因为模型本身不存标准答案,只给概率分布,加上采样有随机性,复述同一件事措辞会变。输出长度、上下文里塞了什么、系统提示词怎么写,都会显著影响结果,同一个模型换个问法可能判若两人。

  • 先看随机性:同模型同问题多跑几次,若只是措辞变、结论一致,属于正常波动
  • 再看上下文:前面几轮对话有没有把方向带偏,或关键约束被挤出了窗口
  • 再看版本:同一个名字下可能挂着不同快照或不同精度版本,命名规则可到 /ai-dict/category/tech 对照
  • 什么情况不适用:要求逐字一致、可复现的场景,比如合同条款、代码常量,不该靠反复重试碰运气

如果你把「多试几次」当成提高准确率的手段,很容易掉进坑:随机性只改变表述,不改变它没学过的事实。真正要复现的场景,应该固定参数、固定提示、固定输入,再人工兜底。

入门读者能立刻用上的三步排查

  1. 分清「不知道」还是「不想说」前者换个问法、补足背景再问;后者去看系统提示和拒答规则是不是把话题挡掉了。验证方法是换一个不敏感的问法试同一知识点
  2. 答非所问先查上下文看是不是对话太长被截断,或前面几轮把方向带偏了。做法是把核心问题重新单独问一遍,看结果是否变正常
  3. 量一遍延迟基线想量化响应快慢和稳定度,到 /tools/speed-test 跑一次延迟基线,再决定是换服务还是改用法。同条件多跑几次才有对比意义

最后把结论记成一句话:模型是概率生成器,不是数据库。凡是要求精确的场景,都要人工兜底;凡是涉及价格、跑分、排名的数字,都别信截图,到 /price-watch 和 /rankings 核对当时的数字更靠谱。

下一步想动手验证上面这套判断,可以去站内模型与工具目录挑两三个候选,按同一组问题各跑一遍,再回到速度测试页量延迟,对比完你就知道该选谁。

常见问题

模型是不是把网上内容都背下来了?

不是。训练时它学的是词与词之间的统计关系,原文并不会以可检索的形式存进去。所以它能复述常见表达的套路,也能在细节上张冠李戴,尤其是训练数据里出现次数少的内容,看起来像记得,其实是拼出来的。

参数量越大就越聪明吗?

不一定。参数量影响的是它的「上限」和训练成本,但实际表现还取决于训练数据质量、对齐程度和你给它的任务类型。同一个模型换个提示词,效果差异可能比换模型还大。各模型的实测差异可以到 /benchmarks 翻当时的榜单数据。

为什么它算数、查资料老是出错?

因为它做的是「预测下一个词」,不是逐步执行运算。纯文本任务里它按语言规律给答案,遇到需要精确计算或实时信息的活就容易翻车。涉及数字、日期、引用来源的内容,都建议用外部工具或人工核对一遍。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。