编者按:随着人工智能技术的不断发展,大模型(语言、视觉,或多模态模型)已成为当今AI应用的核心组成部分。这些模型具有处理和理解自然语言等模态输入的能力,推动了诸如聊天机器人、智能助手、自动文本生成等各种应用的发展。理解LLMs背后的基本概念对于有效地利用和开发这些模型至关重要。Janakiram & Associates 的首席分析师Janakiram MSV在《The Building Blocks of LLMs: Vectors, Tokens and Embeddings》“LLMs的基本组成:向量、Token和嵌入”一文中详细介绍了LLMs的基本构成要素——向量、Tokens和嵌入,并探讨了它们之间的关系和作用。向量作为数学表示,在LLMs中扮演着将文本数据转换为机器可理解形式的角色;Tokens作为语言单位,是处理和组织文本信息的基本单元;而嵌入则在向量的基础上融入了深层语义信息,使得LLMs能够更加准确地理解和处理语言数据。通过理解这些基本概念,我们可以更好地把握LLMs的工作原理,从而更有效地应用于各种自然语言处理任务中。
了解向量、Tokens和嵌入是理解大语言模型怎样处理语言的基础。
在处理LLMs时,你经常会遇到“向量”、“Tokens”和“嵌入”这些术语。在深入研究构建聊天机器人和人工智能助手之前,彻底理解这些概念非常重要。随着多模态方法日益普及,这些术语不仅仅适用于大型语言模型(LLMs),还可用于解释图像和视频。
本教程的目标是通过简单直接的示例和代码片段向你介绍这些核心概念。
向量:机器的语言
向量在LLMs和生成式人工智能的运作中起着至关重要的作用。要理解它们的重要性,就必须了解向量是什么,以及它们在LLMs中是如何生成和利用的。
在数学和物理学中,向量是一个具有大小和方向的对象。它可以几何地表示为一个有向线段,其中线段的长度表示大小,箭头指向向量的方向。向量在表示不能完全用单个数字描述的量(如力、速度或位移)时起着基础作用,这些量具有大小和方向。
在LLMs领域,向量用于以模型可以理解和处理的数字形式表示文本或数据。这种表示被称为嵌入。嵌入是捕捉单词、句子甚至整个文档的语义含义的高维向量。将文本转换为嵌入的过程使LLMs能够执行各种自然语言处理任务,如文本生成、情感分析等。
简单来说,向量就是一个一维数组。
由于机器只能理解数字,因此诸如文本和图像之类的数据被转换为向量。向量是唯一被神经网络和变换器架构理解的格式。
对向量进行操作,例如点积,有助于我们发现两个向量是否相同或不同。在高层次上,这构成了对存储在内存中或专门的向量数据库中的向量进行相似性搜索的基础。
下面的代码片段介绍了向量的基本概念。如你所见,它是一个简单的一维数组:
虽然上面显示的向量与文本无关,但它传达了这个概念。我们在下一节探讨的Tokens是表示文本的向量的机制。
Tokens:LLMs的基本构建块
Tokens是LLMs处理的基本数据单元。在文本的语境中,一个Token可以是一个单词、一个单词的一部分(子词),甚至是一个字符,这取决于Token化过程。
当文本通过分词器传递时,它根据特定方案对输入进行编码,并发出专门的向量,LLMs可以理解这些向量。编码方案高度依赖于LLMs。分词器可以决定将每个单词和部分单词转换为一个基于编码的向量。当一个Token经过解码器时,它可以轻松地再次转换为文本。
将LLMs的上下文长度称为其中一个关键的区别因素是很常见的。从技术上讲,它映射到LLMs接受特定数量的Tokens作为输入,并生成另一组Token作为输出的能力。分词器负责将提示(输入)编码成Tokens,并将响应(输出)转换回文本。
Tokens****是文本以向量形式的表示。
下面的代码片段解释了如何将文本转换为Tokens,其中一个是针对像Llama 2这样的开放模型,另一个是针对商业模型,如GPT-4。这些代码基于Hugging Face的transformers模块和OpenAI的Tiktoken。
因此,关键要点是Tokens是基于特定分词器的向量。
嵌入:语义空间
如果Tokens是文本的向量表示,那么嵌入就是具有语义上下文的Tokens。它们代表文本的含义和上下文。如果Tokens由分词器编码或解码,那么嵌入模型负责生成以向量形式的文本嵌入。嵌入是使LLMs能够理解单词和短语的上下文、细微差别和微妙含义的基础。它们是模型从大量文本数据中学习的结果,不仅编码了Tokens的身份,还编码了它与其他Tokens的关系。
嵌入是LLMs的基础方面。
通过嵌入,LLMs实现了对语言的深度理解,实现了情感分析、文本摘要和问答等任务,具有细致的理解和生成能力。它们是LLM的入口点,但它们也被用于LLM之外,将文本转换为向量同时保留语义上下文。当文本通过嵌入模型时,将产生一个包含嵌入的向量。以下是来自开源嵌入模型sentence-transformers/all-MiniLM-L6-v2以及OpenAI模型text-embedding-3-small的示例。
比较与互动
Tokens 与向量:Tokens是语言单位,而向量是这些单位的数学表示。在LLMs的处理管道中,每个Token都被映射到一个向量。
向量与嵌入: 所有嵌入都是向量,但并非所有向量都是嵌入。嵌入是经过专门训练以捕捉深层语义关系的向量。
Tokens 和嵌入:**从Tokens到嵌入的过渡代表了从语言的离散表示向细致、连续和具有上下文意识的语义空间的移动。
理解向量、Tokens和嵌入对于把握LLMs如何处理语言至关重要。Tokens作为基本数据单位,向量为机器处理提供了数学框架,而嵌入则带来了深度和理解,使LLMs能够以类似人类的灵活性和准确性执行任务。这些组件共同构成了LLM技术的支柱,推动着当今AI应用的先进语言模型。
如何学习大模型 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 的正确特征了。