小白科普:大语言模型 LLM 的工作原理

最近关于人工智能的所有讨论——它的影响、它引发的道德困境、采用它的利弊——我的非技术朋友之间的讨论很少涉及这些东西是如何工作的。从表面上看,这些概念似乎令人畏惧,掌握大型语言模型 (LLMs) 功能的想法似乎难以逾越。

但事实并非如此,这个原理其实任何人都可以理解。因为推动人工智能浪潮的基本原理相当简单。

多年来,在运营 Anchor、在 Spotify 领导有声读物以及撰写每周时事通讯的同时,我必须找到为非技术受众提炼复杂技术概念的方法。因此,请耐心等待,我将在没有任何技术术语或数学方程的情况下解释 LLMs 的实际工作原理。为此,我将使用一个我们都熟悉的主题:食物。与 LLM 类比,“菜肴”(dishes)是大语言模型要生成的单词,而“三餐”(meals)是大语言模型要生成的句子。让我们深入了解一下。

菜单

想象一下:您正在做一顿晚餐,您准备的食物还不够,所以我们需要在晚餐中添加一个菜。

但这说起来容易做起来难。我们选择的食物需要与晚餐搭配。如果饭菜很美味,我们的配菜也应该很美味。如果已经有沙拉,我们就不应该再做。如果这顿饭的淀粉含量很高,也许我们想加入烤蔬菜。

如果有一个应用程序能够告诉我们要做什么就好了。这个应用程序能考虑你已经在做什么,并想出一个最佳的配菜。这个程序适用于任何餐点、任意菜肴和口味组合,无论是供 4 人还是 40 人享用。

所有插图均由本文作者绘制,素材图片由 ChatGPT 生成

我们将制作这个应用程序。只需两个简单的步骤。

首先,我们将开发一种对食物进行分类的方法。毕竟,计算机没有味蕾,也不能直观地理解食物或口味如何组合在一起,它们需要能够接受食物的新概念,并将其编码为某种数据。

其次,我们将让应用程序学习,如何在获取现有一组菜肴的基础上,并生成新的菜。它不仅仅是记住以前见过的东西,而是需要适用于任何菜肴组合,甚至是从未见过的菜肴组合。所以我们不仅仅是要对系统进行编程,我们要教它如何生成合适的菜。

第一步:模拟三餐

我们将首先教计算机将三餐纳入为数据。我们不会通过向其提供有关三餐的定性细节来做到这一点(例如它的味道或搭配)。这是旧类型的机器学习——限制太多且容易出错。相反,我们将向其提供大量有关人们过去搭配的菜肴类型的数据。

让我们考虑两种类型的菜肴:凯撒沙拉和卡普雷塞沙拉。作为人类,我们知道这两道菜很相似。它们都是意大利菜,都是沙拉,都含有蔬菜和奶酪……但是机器不需要知道以上任何内容就可以了解这两道菜有多么相似。

在我们海量的数据中,凯撒沙拉很可能经常与其他意大利菜肴搭配。而且凯撒沙拉的存在也很可能意味着膳食中不会再有沙拉。卡普雷塞沙拉也是如此。它们通常不会与其他沙拉一起出现,但会与意大利菜肴一起出现。

因为这两种菜肴经常与相同类型的菜肴同时出现,所以我们可以将它们归类为相似的。它们往往存在于相同的食物中。你可能会说“一道菜的特点是与它伴随的其他菜。”

请注意,我们没有去寻找凯撒沙拉和卡普雷塞沙拉同时出现的情况,我们并不是通过一餐当中同时出现这两种沙拉来判断它们相似的,而是通过它们在一餐当中伴随的其他相同菜肴来判断的。

这里提供另一种解释方式,想象一下在这张图表上绘制所有的菜肴:

首先,我们将数据中发现的所有可能的菜肴随机绘制出来:

为了说明目的,我们在这里仅展示四道菜,但实际上可以想象每一种可能的菜肴。

每次我们发现两种菜肴与其他菜肴同时出现时,我们就可以将它们移得更近。当我们看到不同类型的寿司搭配相同的味噌汤时,我们将让寿司彼此靠近。当我们看到披萨和意大利面与大蒜面包一起出现时,我们也会让它们放在一起:

在做了很多次之后(我的意思是很多很多次),神奇的事情发生了。可以相互替换的菜肴会非常紧密地聚集在一起,看起来彼此更接近(例如炸玉米饼和墨西哥卷饼)。很少能相互替换的菜肴(例如汉堡和寿司),如果有的话,将会相隔很远。

不过,现实中,仅仅二维坐标系是不够的。为了正确地对每道菜进行聚类,我们需要一个由更多轴(数百个,也许数千个)组成的图表。这是不可想象的,但基本概念是相同的。我们将所有食物分散开来,并在它们与类似菜肴同时出现时将它们移得更近。

为了方便表达,我将把这个更大的多轴图称为用餐空间(meal-space)。每一种可能的菜肴都存在于用餐空间中,与可替换的菜肴紧密协同,而远离那些非常不同的菜肴。

让我们退后一步,欣赏一下这是多么迷人。我们能够提出一个非常准确的菜肴模型,其中相似的菜肴被分组在一起,不同的菜肴则相距很远。我们这样做时没有考虑食物的味道或它们的成分。

另外,因为我们用大量数据进行了训练,所以我们能够进行食物的计算。

食物的计算? “尼尔,你疯了!”

我向你保证,我没疯。你必须相信我的话。事实证明,用餐空间中菜肴的放置并不是随机的。相似的食物不仅紧靠在一起,且与其他食物也有逻辑关系。含有面包的菜肴都一起出现在一个平面上,咸味食物有一个共同点,枫味的东西有自己的数学联系。

这使我们能够进行食物的计算。如果我要获取墨西哥卷饼的坐标并减去玉米饼的坐标,我最终会接近墨西哥卷饼碗的坐标点。如果我取鸡肉面汤的坐标,减去面条的坐标,然后加上米饭的坐标,我最终会接近鸡肉和米汤的坐标点。

用餐空间中菜肴的放置不再是随机的。事实上,存在潜在的、隐藏的数学模式,这意味着每种菜肴都相对于其他菜肴处于某种逻辑中。

第二步:寻找模式

我们创造了一个用餐空间,并为每种类型的菜肴提供了某种相对于其他菜肴有意义的协同模式。接下来呢,怎么办?

让我们再次训练我们的模型。只是这一次,我们会喂它三餐所有的数据,由不同的菜肴组成——我们谈论的是我们见过的每顿饭——并且我们会要求它寻找模式。具体来说,我们想要训练我们的程序来回答这个问题:如果一顿饭包含 A、B、C 和一个未知的 D,那么什么类型的菜最有可能是 D?

为此,我们所要做的就是问:A、B、C 和未知的 D 在用餐空间中是什么样子?例如,假设我们看到许多餐食在图表的这四个区域中共享菜肴。

我们现在可以忽略最初创造这些模式的原始食物,只归纳并考虑空间中的坐标了。我们可以得出结论,如果一顿饭已经包含这三个区域中的菜肴,则最好的第四个菜肴将在最后一个区域中找到。

请记住:“一道菜肴是根据它所伴随的其他菜肴来分类的。”由于我们的模型经过训练,可以考虑食物及其关系,而不是特定菜肴的成分和口味,因此它可以考虑任何场景和任何口味组合,并找出添加到膳食中的最佳菜肴。给定几个食物区域,它只需要找到下一道菜最常见的区域……

…这让我们完成了最初的目标:构建一个应用程序,能够可靠地告诉我们哪些菜肴可以与一系列其他菜肴搭配。我们就是用这种方式实现的。

用文字代替菜谱

要理解大语言模型 (LLMs),请用句子替换“三餐”的概念,并用文字代替“菜肴”的概念。这种简单的替换,使用相同的框架和方法,基本上可以让我们了解基于文本的人工智能工具的工作原理。

第一步:训练一个模型,根据单词在相似上下文中出现的频率来理解单词之间的关系。 “一个词是根据它所伴随的其他单词来分类的。”向它提供大量人工编写的数据(当我说大量时,我基本上指的是整个互联网),并让它适当地调整单词坐标。

训练后,模型会输出向量空间。这和生成菜肴的原理是相同的。系统不知道任何单词的含义(就像它不知道菜肴的味道一样)。它只了解该单词如何与向量空间中的所有其他单词相关。

第二步:寻找模式。如果一个句子包含单词 A、B 和 C,那么下一个最有可能出现的单词是什么?如果它包含 X 和 Y,那么它应该在向量空间的哪个区域中查找接下来发生的事情?

LLM 真正在幕后做的就是所谓的“下一个单词预测”(就像我们最初的类比执行“下一道菜预测”一样)。例如,我们提示 LLM:“告诉我你爱我。”它将尝试回答一个问题:哪个单词最有可能遵循该单词序列?或者换句话说:给定该句子中单词的向量空间坐标,我在其他句子中看到了哪些模式来确定我可以在哪里找到下一个单词?

LLM 会找到的答案是“我”。确定后,它会将“我”添加到原始提示的末尾,并将整个内容反馈回自身。现在,“告诉我你爱我”之后最有可能出现的词是什么。我”?当然是“爱”!把它粘起来,把整个东西带回来,然后把它反馈回来。接下来可能会发生什么:“告诉我你爱我。我爱”?…

你应该懂了。

当然,还有一些细微差别。其中涉及一些奇特的数学和复杂的计算。但基本原理确实与三餐示例中的基本原理没有什么不同。

对我来说,这就是为什么我们正在经历的人工智能现象如此令人着迷。考虑到这项技术的变革性,它实际上并没有那么复杂。一些简单的数学概念,大量的训练数据,一点点盐和胡椒粉,你基本上就为自己建造了一台思考机器。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

123?spm=1001.2014.3001.5501)这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

  • 22
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值