不易懂你打我!写给前端和小白的 大模型(ChatGPT) 工作基本原理!

本文承接上文打包票!前端和小白一定能明白的人工智能基础概念,强烈建议大家阅读一下,文章采用层层递进的超级白话的方式,让我们了解机器学习,神经网络和深度学习的关系和概念。

前言

实在是受够了很多文章写给小白的大模型工作原理的文章,看了还是觉得很多文章内部毫无逻辑可言,所以我觉得自己弄清楚后,写下这些留给跟我对这些文章同样一头雾水的伙伴!

从语言模型说起

首先大模型一定要有自己的语言模型,才能理解人类语言的基本逻辑关系,并且输出对应的回答也是我们能看懂的。那大模型的语言模型是什么呢?如何做到好像类似 ChatGPTDeepSeek 这样的聊天 ai 似乎理解我们人类语言似的,真的是这样吗?

先说答案,其实不是,这个语言模型简单来说就是:"预测下一个语素"(统计语言模型)。

什么意思呢,大家在使用输入法打字的时候,是不是很多时候,当你打一个字或者词的时候,输入法会帮你预测你下一个字是什么,这就是预测下一个元素,比如'鸡你太_',如果你是小黑子,就可能出现什么字呢,你猜猜。。。

你可能会疑惑: 我去,这么暴力?这还是 ai 吗?看起来不太聪明的样子?!回答就是,你还真别小看这个模型,小小手机能收集你的语言习惯,同理是不是当你给 ai 足够的训练资料的时候,ai 能学习到大部分人的语言习惯呢?

很多人肯定还是疑惑,人类语言这么巧妙,这种粗暴的方式真的有效?我们举个例子

假设这样一句话:他放下了书,因为它太_。

在太后面可能是太重,可能是太难等等常见搭配,也就是当大模型猜测,是重或者难的时候,很可能前面表达的内容表达的是一种让人很不舒服的感觉,也是从某种角度理解了重和难在现实中的意思。

我们再来想一下,这个"太"字,在大模型见过的语料够多后,它也慢慢发现,原来"太"这个字后面经常跟形容词,这算不算某种程度上学习到了人类语言的语言规律呢?

但这里问题来了,基本的词性,比如一个词是形容词,还是名词,计算机是不是开始就要对我们输入的问题进行分词?然后理解分词的词语,然后建立一套模型,让这些词语之间建立联系,这样才能在自己输出"太"字的时候,知道后面往往跟 或者其它意思?

在解释如何建立联系的之前,我们必须弄清楚计算机本身是如何处理文本的!

计算机如何处理文本

计算机本质上就是计算器,它只能计算,无法理解文本,例如字母a,在ascii编码中,在计算机中用97来表示,比如让计算机算 字母a 和b的大小,只不过是在计算机内部比较了97和98的大小而已。

同理,大模型也需要把文字转为数字来处理(为什么?因为计算机只能计算数字!),例如"人"在计算机中如何表示,是不是可以这样,用一个数字填充的数组:[0,175,60,20]

  • 数组第一位,0代表男生,1代表女生
  • 数组第二位,175代表身高
  • 数组第三位,60表示体重
  • 数组第四位,20表示年龄

这样就在 4 个维度描述了一个人,假设有这样一个数据,[0,170,50,20] ,在四维空间中其实跟上一个人产生了联系,也就是某些维度上是相近的。

因为现实世界特别复杂, 所以一个词的维度有非常多。我们这里只是很粗暴的用了 4 个维度,正常大模型可能认为一个词的维度能上千或者上万,这取决于大模型自己的算法如何理解这个世界。

现在解决了如何把文字转换为数字让计算机处理的问题,接下来新的问题又来了。如何给某个词设置合适的向量值。

这个专术语叫嵌入(Embedding),目的提取文本的特征,这里有特定的算法来解决,因为我也不是这方面专业人员,这里不做过多介绍,有兴趣的同学可以去搜索词袋模型,TFFIDF

在给这些词语标注特定向量值的过程,使用的技术方法不同,最终效果也不同,比如 ChatGPT 使用了一种叫做"上下文词向量表示法",这个方法标注的每个词的向量值不仅取决于这个单词本身,还取决于这个词在不同上下文中的意思。

例如 苹果 这个词讨论水果和电子产品(苹果手机)时的含义是完全不一样的。这就是很多文章说的自注意力机制

那解决了基本词语在计算机中如何展示,并且映射现实语义的情况下,我们就该开始训练大模型能解决实际用户提出的问题了。

gpt 这个词就是根据上面我们说的模型原理命名的缩写 ,p 就是 pre--trained,预训练的意思,也就是要通过大量语料来给它学习,然后通过训练让其找到语言中很多词语搭配的规律。然后生成答案,这就是 gpt中字母 g 的意思,generative的意思。

也就是说,我们要开始 预训练 了。

预训练

我们刚才说了,这种统计语言模型,是靠猜下一个字是什么来生成文字给用户的。这个训练的目的,就是让大模型知道"在什么情况下,下一个字应该是什么"。

所以预训练的过程,还会不断调整 向量 的值。

什么是预训练?

想象一下,我们要培养一个文学大师

预训练 = 让这个大师博览群书的阶段

在这个阶段,我们给模型喂食海量的文本数据 ------包括维基百科、新闻文章、小说、科技论文、论坛讨论等等。但注意:这时候我们不教它完成任何具体任务,比如回答问题或者写邮件。

我们只让它做一件事:不断地猜下一个字

预训练的具体过程

arduino 复制代码
输入:"今天天气真"
目标输出:"好"  // 模型要猜出这个字

输入:"人工智能是"
目标输出:"未"  // 接着猜"来"等

输入:"中国的首都是"
目标输出:"北"  // 接着猜"京"

就这样,模型在数万亿个这样的例子上进行训练,逐渐学习到:

  • 语法规则:"的"后面通常跟名词
  • 常识知识:"北京是中国的首都"
  • 逻辑推理:"因为下雨,所以..."后面可能是"带伞"、"取消活动"
  • 文体风格:论文和社交媒体的语言风格差异

总而言之,不断地猜下一个字的过程中,逐渐掌握基本的语言规律和表达能力。

预训练之后,还会有些一些调整,这时候尤其是人为的标注,可以极大让纠正和优化大模型的向量值。

如果你看过我上一篇文章,一定要理解权重这个概念,其实chatGPT的训练过程,同样是在调节权重:

上文写到:

训练就是不断调整 w,使得模型能正确分类。

这就是 ChatGPT 的训练过程(预训练)!

ChatGPT 训练时:

  • 输入大量文本
  • 预测下一个词
  • 如果预测错了 → 调整权重 w
  • 重复 trillions 次 → 得到现在的能力

ChatGPT 和基础的神经网络学习哪方面区别很大呢?

我们之前说了 ChatGPT(chat是聊天的意思)中 GP 我们解释了,有人会说还有个 t 呢?它代表的是 transformer 的意思。这个 tranformer 就是与普通神经网络最大的区别。

ChatGPT 为什么突然这么聪明?

我们前面一直在说:大模型预测下一个字,用的是"上下文词向量表示法",也就是一个词在不同上下文里的含义不同。

问题来了:

模型如何知道"上下文"?

也就是说,它怎么知道一句话里哪些词应该互相影响?

这就是 transformer 出场的时刻了。

GPT 里的 T = Transformer ,它是这十年来让所有大模型突然变强的"关键武器",可以说是整个大模型爆发的核心技术

下面我们用最简单方式讲明白它到底在干嘛。

Transformer 解决了一个什么痛点?

在 Transformer 出现之前,模型主要靠 RNN/LSTM 来看上下文,但它有两个大毛病:

  1. 只能从前往后一个字一个字读,速度慢
  2. 距离远的词,很难建立联系

举例:

复制代码
我买了一本书,它特别好看。

这里:

  • "它" 指的是 "书"
  • "好看" 也和 "书" 对应

但在旧模型里,这种"跨很多词"的关系会被稀释掉,也就无法联系上下文来理解长句子的意思。

Transformer 说:

我一次性看整句话,不是一个字一个字扫!

并且我会计算句子里每个字对每个字的重要程度。

这能力就是传说中的 ------ 自注意力机制(Self-Attention)

什么是自注意力机制?

你可以把一整句话想象成一桌开会的人。

例如一句话:

"他放下了书,因为它太重。"

在 Transformer 的"会议"里,这些词会互相发消息:

  • "它" 会问所有词:"我到底指的是谁?"
  • "重" 会问:"我应该描述哪个名词?"
  • "放下" 会问:"发生这个动作的原因是什么?"

然后 Transformer 会给这些联系打分,比如:

  • "它" → "书":权重很高(说明它指书)
  • "重" → "书":权重很高(说明重描述书)
  • "因为" → "放下":权重很高(说明因果关系)

这套"你影响我,我影响你"的机制,就是自注意力

一句话总结:

自注意力机制让模型自动找出句子里哪些词对当前词最重要

这就是 Transformer 的本事!

GPT 的 G(生成)和 P(预训练)解决了"怎么学语言",
但 Transformer(T)解决了"怎么理解上下文"。

有了 Transformer,模型不再是"瞎猜下一个字",

而是能基于全句、全段、全篇来猜。

这就是 ChatGPT 看起来像"能理解你"的原因。

小结

我相信文章内容虽然没有很多专业人士高大上的描述,但用于入门 ai 基础知识,算是足够白话了!感谢大家!

我的 ai 学习记录

相关推荐
斯文~17 分钟前
【AI论文速递】SymAgent:知识图谱复杂推理的agent框架
人工智能·深度学习·llm·nlp·知识图谱
搬砖者(视觉算法工程师)17 分钟前
检索增强生成(RAG)与大语言模型微调(Fine-tuning)的差异、优势及使用场景详解
人工智能·语言模型·自然语言处理
恋猫de小郭20 分钟前
回顾 Flutter Flight Plans ,关于 Flutter 的现状和官方热门问题解答
android·前端·flutter
●VON21 分钟前
从零开始:用 Electron 构建你的第一个桌面应用
前端·javascript·electron
艾小码22 分钟前
从源码到npm:手把手带你发布Vue 3组件库
前端·vue.js·npm
张风捷特烈27 分钟前
FlutterUnit3.4.1 | 来场三方库的收录狂欢吧~
android·前端·flutter
乔冠宇1 小时前
CSS3中的新增属性总结
前端·javascript·css3
e***58231 小时前
Spring Cloud GateWay搭建
android·前端·后端
明月照山海-1 小时前
机器学习周报二十三
人工智能·机器学习