大模型的训练数据通常是大规模的文本语料库,这些语料库包含了大量的文本数据,用于训练大型语言模型,如OpenAI的GPT-3和谷歌的PaLM。
一、大模型训练数据的特点
这些训练数据通常具有以下特点:
1. 大规模:训练数据的大小通常在数十亿到数千亿个 tokens(单词、标点符号或其他语言单位)之间。例如,GPT-3的训练数据包含了约1750亿个tokens。
2. 多样性:训练数据通常来自各种不同的来源,包括书籍、文章、网页、对话等,以确保模型能够学习到各种不同的语言用法和知识。
3. 质量控制:由于训练数据规模巨大,其中可能包含大量的错误和不相关的信息,因此需要对数据进行质量控制,例如去除重复、过滤低质量内容等。
4. 平衡性:训练数据通常需要保持一定的平衡性,以避免模型学习到偏见或偏向。例如,需要对数据进行去重和筛选,以避免某些观点或信息的过度表示。
5. 时效性:训练数据通常需要保持一定的时效性,以反映最新的语言用法和知识。因此,训练数据可能需要定期更新,以包含最新的信息。
二、大模型训练数据的组成
下面通过一个具体的例子来解释大模型训练数据的组成。
以GPT-3为例,它的训练数据主要来自Common Crawl,这是一个非盈利项目,旨在爬取互联网上的公开网页,目前已经积累了大量的网页数据。GPT-3的训练数据还包括了其他来源,比如书籍、维基百科、新闻报道、文章、论坛帖子等。
这些文本数据在用于训练之前,会经过一系列的预处理步骤,比如:
-
清洗:去除HTML标签、元数据和其他非文本信息。
-
分词:将文本分割成单词或更小的语言单位(tokens)。
-
编码:将每个单词或token转换为其在模型词汇表中的对应索引。
-
过滤:移除重复的文本、低质量的或无关的内容。
-
采样:可能会对数据进行采样,以确保数据集的多样性,避免某些类型的内容过度表示。
最终,这些处理过的文本数据会被用来训练模型,让模型学习如何生成和理解自然语言。例如,GPT-3的训练数据中可能包含这样的句子:
-
来自书籍的文本:“在一片寂静中,他听到了远处的钟声。”
-
来自新闻报道的文本:“股市今日收盘上涨,投资者对经济前景持乐观态度。”
-
来自维基百科的文本:“大熊猫是一种以竹子为食的哺乳动物,主要分布在中国的四川、陕西和甘肃省。”
-
来自论坛帖子的文本:“我最近尝试了这个食谱,味道真的很不错!推荐给大家。”
这些文本数据会以序列的形式输入到模型中,模型会学习预测下一个token,直到整个语料库被遍历完毕。通过这种方式,模型逐渐学会了语言的结构和用法,从而能够在给定的上下文中生成连贯的文本。
三、理解token
上面我们提到语言单元tokens,什么是token,下面进一步讲解
在大型语言模型中,"token"是一个技术术语,它指的是模型在处理文本时将其切分的最小语言单位。一个token可以是单词、字符、子词(subword),或者任何模型被训练来识别的文本单元。在处理自然语言时,模型使用token作为其理解和生成文本的基本构件。
例如,一个单词级别的语言模型会将每个单词视为一个token。而在一个子词级别的模型中,例如使用Byte Pair Encoding (BPE)算法进行训练的模型,较长的单词可能会被分解为更小的单元。这些单元允许模型处理极其庞大的词汇表,包括它未曾见过的词汇,因为模型可以通过组合子词单元来构建或理解新的词汇。
下面以英语为例,我们可以看看如何将一个句子分解成不同的token。这取决于使用的分词方法。以下将展示三种常见的分词方法:单词级别、字符级别和子词级别。
1. 单词级别(Word-Level):
在单词级别的分词中,每个单词都是一个token。标点符号和空格通常也被视为单独的token。
示例句子:`The quick brown fox jumps over the lazy dog.`
分解为token:`[‘The’, ‘quick’, ‘brown’, ‘fox’, ‘jumps’, ‘over’, ‘the’, ‘lazy’, ‘dog’, ‘.’]`
2. 字符级别(Character-Level):
在字符级别的分词中,每个字符(包括字母、数字、标点符号和空格)都是一个token。
示例句子:`The quick brown fox jumps over the lazy dog.`
分解为token:`[‘T’, ‘h’, ‘e’, ’ ', ‘q’, ‘u’, ‘i’, ‘c’, ‘k’, ’ ', ‘b’, ‘r’, ‘o’, ‘w’, ‘n’, ’ ', ‘f’, ‘o’, ‘x’, ’ ', ‘j’, ‘u’, ‘m’, ‘p’, ‘s’, ’ ', ‘o’, ‘v’, ‘e’, ‘r’, ’ ', ‘t’, ‘h’, ‘e’, ’ ', ‘l’, ‘a’, ‘z’, ‘y’, ’ ', ‘d’, ‘o’, ‘g’, ‘.’]`
3. 子词级别(Subword-Level):
子词级别的分词方法,如Byte Pair Encoding (BPE),会将单词分解为更小的单元。这些单元可以是完整的单词、词根、词缀或者常见的字符组合。
示例句子:`The quick brown fox jumps over the lazy dog.`
分解为token(简化示例,非真实BPE输出):`[‘The’, ‘quick’, ‘brown’, ‘fox’, ‘jump’, ‘##s’, ‘over’, ‘the’, ‘lazy’, ‘dog’, ‘.’]`
在这个例子中,“jumps"被分解为"jump"和”##s",其中"##s"表示"jump"的后缀。注意,"##"前缀用于表示子词token是连接到前一个token的。
实际的子词分词会更复杂,因为它取决于模型训练时学习到的分词规则。这些规则是根据大量文本数据统计得出的,旨在找到最频繁出现的字符组合作为子词token。
在机器翻译、文本摘要、问答系统等应用中,了解模型如何处理token对于理解其能力和限制非常重要。此外,许多模型根据token的数量来衡量处理文本所需的计算资源,因此这也是成本和效率方面的考量因素。
如何学习大模型 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 的正确特征了。