这篇文章翻译自 Andrej Karpathy 发布的视频《Intro to Large Language Models》
视频非常全面的介绍了目前人工智能的主流技术:大语言模型的现状与发展方向。
希望所有对人工智能感兴趣的人都能来看一下
视频内容长达 1 个小时,主要分为三个部分
大语言模型的介绍和原理大语言模型的最新进展与未来方向大语言模型的安全性挑战视频内容比较长,我分成两篇来写,本篇为大语言模型的介绍和原理
本篇共计2000字,阅读时长3分钟
什么是大语言模型的“推理”
大型语言模型的“推理”就是根据输入信息,产生相应的输出或回答
首先来介绍大语言模型的推理,也就是大语言模型的使用
大语言模型从体积上来讲就是非常大的
我们以meta 发布的 Llama2-70b 来举例子:
Llama2 是 Llama 系列的第二代模型
它有 7b,13b,70b三种参数量的模型,b的单位是十亿
很多人都喜欢用这个模型,这是因为它是目前最强大的开源模型
meta公司开源了 llama2 的模型权重和模型架构
而目前我们可以使用的 chatGPT,其实并没有开源
Llama2-70b 的模型整体上只有两个文件
大小为140GB的参数权重,和大约500行的C代码就可运行的程序
这里的程序可以用任何语言来实现,500行是一个估算,
只需要500行不需要其他依赖项的C代码,就可以实现模型推断的逻辑。
权重文件一个参数占 2个字节,因此 llama2-70b 的模型文件大小为 140GB

而它的运行硬件条件也并不高
只需要有一台无需联网的 MacBook,就能完成类似于 ChatGPT 功能的部署

只需要上面所说的两个文件,就可以在你的MacBook部署智能对话功能
这就是所需要一切

这里的重点是,运行大语言模型只需要非常小的软件包
但是获取大语言模型的参数是一件非常困难的事情
由于模型整体需要的算法和结构都是相似和开源的,因此参数基本上就是模型
模型的训练要比远远比模型的推理复杂的多
大语言模型的训练
模型的训练基本上可以理解为一种有损压缩
我们需要将 大小为 10TB的互联网文本文件压缩称为 140GB 的模型参数文件
为了实现这个目标,meta 公司使用了 6000块GPU,12天,总计花费了 200万美元
但是一旦模型训练完成后,使用它的成本是非常低的
低到普通电脑都可以部署大语言模型进行推理

模型预测流程就是不断的预测下一次词是什么
预测一个词出来之后,将这个词放到句子中后,继续预测下一个词
这个任务虽然简单,但非常强大
它迫使模型去学习关于这个世界的知识
因为当遇到了类似于“今年的哈尔滨多了很多的南方______”这样的句子,
模型必须知道关于南方小土豆的梗才可以完成预测任务
这样模型就实现了对现实世界知识的压缩

大语言模型是如何运行的?
现在我们再从整体的角度来看一下神经网络,
它的内部究竟发生了什么?
这是目前神经网络的简单示意图
我们称之为Transformer 神经网络架构

神经网络的神奇之处就在于
我们完全知道此架构中的每一阶段会发生什么样的数学运算
但是当参数量到达1000亿级别的时候
这些参数始终贯穿整个神经网络
我们也知道如何调整这些参数
使得整个网络可以实现预测下一个单词的任务
但我们并不知道这1000亿个参数如何协同作用才能实现这样的任务
大语言模型有点像一个不可思议的人工制品
他和之前的工业制品不同,只要我们了解了每个零件的原理,就可以预测它的行为
就像飞机,汽车,即使它内部零件再复杂,我们还是知道其工作原理的
但是大语言模型来自一个很长的优化过程,我们目前不能确切了解其工作原理
神经网络现在不具有可解释性或机械性
我们现在把它们大部分当作了经验性的制品
我们可以测量它们的行为,对模型进行评估
但是整体的情况非常复杂,因为现在都是经验性质的
将大语言模型微调称为一名助理
我们的最终目标是需要获得一名助理,
因此上面只是训练的第一阶段,
我们称之为大模型的预训练阶段
进入到第二个阶段是微调阶段
我们在这里将获得助理模型
实际上补全一个文档对大部分人来说用处不大
我们想提出问题,希望它能生成这些问题的答案
因此我们需要助理模型
微调阶段的整体的训练方法和第一阶段相同,
不同之处在于我们改变了训练的数据集
在微调阶段,我们只使用问答模式的文档
公司通常会雇佣大量的人来提出问题,并根据问题编写答案
“用户:你能写一篇关于垄断与经济学的短文介绍吗?”
“助理:(这里填写我们期望的回复)”
因此第一阶段会使用互联网上质量不高的上百TB的数据
在第二阶段,质量要重于数量
可能只会有10万个高质量的对话文档
因此第一阶段的任务是让大语言模型学习互联网上的知识
第二阶段的任务是希望大语言模型的表现可以对齐到一名助理

本篇总结
整体来说,获得你自己的ChatGPT主要有两个阶段
第一,预训练阶段
我们需要大量的互联网文本,
同时需要大量的GPU集群
还需要高额的花费和半个月时间,可以获得基础模型
第二,微调阶段
我们需要标签,说明你的助理应该规矩点,类似于“你是一个乐于回答问题的助理”
接着需要雇人编写 100000个高质量文档
进入到微调阶段,所需要的计算资源要比预训练阶段少的多
花费也低的多,大约用1天时间就可以完成微调
这样我们就获得了助理模型,
我们助理模型还是会有一些错误行为,
这些错误行为可以写成反例加入微调阶段的标签或数据集中来再次进行训练
这样的微调可能会循环很多次,因为它的成本也很低
如果可以后面还有进一步的微调,在openAI 中称之为强化学习
本文到这里就结束了
如果喜欢的话请给我点赞、留言
点赞速度决定了下篇的翻译速度
好了我们下期再见
免责声明
本站转载的文章,版权归原作者所有;旨在传递信息,不代表本站的观点和立场。不对内容真实性负责,仅供用户参考之用,不构成任何投资、使用等行为的建议。如果发现有问题,请联系我们处理。
本站提供的草稿箱预览链接仅用于内容创作者内部测试及协作沟通,不构成正式发布内容。预览链接包含的图文、数据等内容均为未定稿版本,可能存在错误、遗漏或临时性修改,用户不得将其作为决策依据或对外传播。
因预览链接内容不准确、失效或第三方不当使用导致的直接或间接损失(包括但不限于数据错误、商业风险、法律纠纷等),本网站不承担赔偿责任。用户通过预览链接访问第三方资源(如嵌入的图片、外链等),需自行承担相关风险,本网站不对其安全性、合法性负责。
禁止将预览链接用于商业推广、侵权传播或违反公序良俗的行为,违者需自行承担法律责任。如发现预览链接内容涉及侵权或违规,用户应立即停止使用并通过网站指定渠道提交删除请求。
本声明受中华人民共和国法律管辖,争议解决以本网站所在地法院为管辖法院。本网站保留修改免责声明的权利,修改后的声明将同步更新至预览链接页面,用户继续使用即视为接受新条款。