← 返回路线

第1周 · LLMOps平台开发基础及架构设计

架构设计与基础聊天机器人开发
00:00 / 00:00
2.0x
1.5x
1.25x
1.0x
0.75x
0.5x

点击右侧目录开始学习

| | 0 / 22 已完成
快捷键:/ 快退/快进 3 秒 · Shift+/ 上/下一节 · 空格 播放暂停 · F 全屏 · M 静音
课程目录 共 22 节
1-1 第1章 课程介绍与安排
1 1-1 课程导学【快速了解课程与安排】
1-2 第2章 夯实基础,了解LLM大语言模型
2 2-1 章节介绍
3 2-2 什么是大语言模型(LLM)
4 2-3 LLM在企业中的价值与市场需求
5 2-4 ChatGPT聊天机器人的使用与局限性
6 2-5 大语言模型如何影响软件的构建
7 2-6 LLM应用开发专有名词解释
8 2-7 LLM&AI Agent应用的交互模式
9 2-8 章节总结
1-3 第3章 初窥LLMOps,助力大模型落地
10 3-1 章节介绍
11 3-2 从LLM大模型到AI Agent的技术演进
12 3-3 初识LLMOps,为什么需要LLMOps
13 3-4 Dify LLMOps应用开发平台功能演示
14 3-5 LLMOPs项目需求拆分与设计
15 3-6 课程LLMOps应用开发平台演示
16 3-7 课程学习目标与解决的问题展示
1-4 第4章 ChatGPT辅助学习与建议
17 4-1 章节介绍
18 4-2 不同方向的学员如何学习这门课程与建议
19 4-3 ChatGPT辅助学习与课程提示词
20 4-4 OpenAI&月之暗面API秘钥获取与参数详解
21 4-5 Playground快速调试Prompt与接口参数
22 4-6 章节总结

本周知识点

什么是大语言模型(LLM)
这节课主要带大家快速了解什么是大语言模型,大语言模型中的 Token、词表、预测的含义。大语言模型中的一次简单训练流程是什么样的,对大语言模型有一个初步的了解。
01. 大语言模型基础定义
LLM 全称 Large Language Model,即大语言模型,是一种用大量数据训练的深度学习模型,给模型一些输入,它可以预测并返回相应的数据。
和以往的 NLP 自然语言模型有差异的是,LLM 的训练数据和参数量都非常大,所以 LLM 能完成通用型的任务,不需要专门针对某个领域单独训练。
以 GPT-3 为例,GPT-3 的训练数据由多个部分组成,涵盖了书籍、新闻、论文、维基百科、社交媒体等几乎人类所有的高质量文本近 3000 亿个文本单位,分布如下:
Common Crawl(网络爬虫公开数据集):占比 60%
WebText2(Reddit 论坛的网页文本):占比 22%
Books1, Books2(互联网书籍语料库):占比 16%
Wikipedia(整个英文维基百科知识库):占比 3%
数据引用自:https://arxiv.org/abs/2005.14165
除了训练数据大,大模型的参数也非常大,以 OpenAI 历代公开大模型参数量为例。
GPT-1 的参数为 1.17 亿,虽然参数看起来不大,但是对比 GPT-1 之前的语言模型仍增长了数十倍。而 GPT-2 的参数量为 15 亿,GPT-3 的参数量为 1750 亿,未开源的 GPT-4 参数预估量更是达到了惊人的上万亿。
在大训练数据量+大参数的基础下,大模型能够流畅地完成通用型的任务,而不是像 NLP 自然语言模型一样,针对某个特定领域时需要单独的数据训练才可以实现。
生成任务:基于特定的输入(例如关键词、短语或描述性的语句)生成全新的内容或想法。这可能包括写作(例如,文章、短篇故事或诗歌)、艺术品生成、音乐创作等。
分类任务:涉及确定给定输入属于哪个类别或群组。大语言模型可以从输入信息中抽取特征,并将其分类到适当的类别。包括情感分析(把文本分为积极,消极,或中性)、图像分类(识别图像中的对象或景色)、语言识别(识别特定的语言类型或方言)等。
总结任务:从大量的信息中抽取关键点并生成一个简洁的总结。包括文章摘要(把长篇文章精简为几句关键信息)、会议记录总结(将长时间的会议记录转化为主要讨论点)等。大语言模型能够理解和提炼信息,提供简明、准确的总结。
改写任务:指将信息或内容在保持原意的情况下重新表述。包括文本改写(例如,将复杂的语句转化为易懂的语言)、语义等价句生成(例如,用一种新方式表达同一思想)、语言翻译等。大语言模型能够理解语义,从而在改写时保持原始信息的准确性与合理性。
那目前为止,什么样的参数量才能被称为大呢?一般来说参数量大指的是 7b~100b+(b 指的是 billion,单位为十亿),也就是 70 亿~1000亿 参数量。
简单来说,参数其实就是一个浮点数,例如 3.1415,而在计算机内,使用 2 字节或者 4 字节来存储浮点数类型的数据,70 亿个参数的大小也仅仅为 28G。
那么一坨 28G 的数据为什么能和我们进行流畅对话呢?
02. 大语言模型中的 Token、词表与预测
在大语言模型中,计算长度的依据并不是字符,而是 Token,Token 其实就是文本片段,可以是字、词、甚至是半个字或者三分之一个字。
比如 GPT-3.5-16K 模型的上下文长度是 16K,意思就是单次对话的最多可以包含 16,000 个 Token(文本片段)。
不同模型的 Token 是不一样的, 对于一个仅支持英语的模型,它的 Token 可能非常少,仅包含 a-z 26 个字母、逗号、句号、空格等标点符号。
而汉字字词更多,语义会更复杂,所以包含的 Token 会更多,在一些支持多语言的模型中,Token 会包含各种符号、单词、单词片段等,所以往往会有几十万个 Token 甚至更多(GPT 模型的 Token 数更是达到了 30+ 亿,所以大模型会有各种可能的输出)。
将 Token 按顺序排列组成的表叫词表,在词表中每个 Token 都有其对应的 id,一般从 0 开始,如下
"vocab": {
# 开头是一些特殊符号
"": 0,
"<|startoftext|>": 1,
"<|endoftext|>": 2,
"<|Human|>": 3,
"<|Assistant|>": 4,
...
# 这是字节token,如果出现不在词表中的特殊符号会回退到字节表示
"<0x00>": 305,
"<0x01>": 306,
"<0x02>": 307,
"<0x03>": 308,
"<0x04>": 309,
...
# 下面是正常的英文token,有_的表示是单词的开头,没有的是单词中间
"ct": 611,
"▁re": 612,
"ve": 613,
"am": 614,
"▁e": 615,
...
# 有中文token出现
"安徽省": 28560,
"▁aliens": 28561,
"▁imagery": 28562,
"▁squeeze": 28563,
"子和": 28564,
...
}
有了 Token + 词表,我们就可以来看下大语言模型的工作流程:
接下来我们从非机器学习的角度来讲讲大语言模型的 Token 预测机制,一种最简单的办法就是基于统计,通过大量数据的统计,找到下一个 Token。例如:采集大量文本进行扫描计算,并记录所有片段的输入以及下一个文本出现的次数,得到一张巨大的分布表。
然后将将输入的文本对照分布表查询,找到所有 token 的出现次数或概率,找到出现次数最大的 token 即为预测结果。
但是基于统计的情况对于没有统计到的片段就无能为力了,比如“唱跳Rap”这个片段并没有在统计中,基于统计的算法会将所有的 Token 出现次数都设置为 0,如下
资料可在线预览或下载;视频上传后自动可播。