使用这些基本 REST API 最佳实践构建出色的 API
大模型开发 - 一文搞懂Embedding工作原理
一、Text Embedding工作原理
文本向量化(Text Embedding):将文本数据(词、句子、文档)表示成向量的方法。
词向量化将词转为二进制或高维实数向量,句子和文档向量化则将句子或文档转为数值向量,通过平均、神经网络或主题模型实现。
- 词向量化:将单个词转换为数值向量。
- 独热编码(One-Hot Encoding):为每个词分配一个唯一的二进制向量,其中只有一个位置是1,其余位置是0。
- 词嵌入(Word Embeddings):如Word2Vec, GloVe, FastText等,将每个词映射到一个高维实数向量,这些向量在语义上是相关的。
- 句子向量化:将整个句子转换为一个数值向量。
- 简单平均/加权平均:对句子中的词向量进行平均或根据词频进行加权平均。
- 递归神经网络(RNN):通过递归地处理句子中的每个词来生成句子表示。
- 卷积神经网络(CNN):使用卷积层来捕捉句子中的局部特征,然后生成句子表示。
- 自注意力机制(如Transformer):如BERT模型,通过对句子中的每个词进行自注意力计算来生成句子表示。
- 文档向量化:将整个文档(如一篇文章或一组句子)转换为一个数值向量。
- 简单平均/加权平均:对文档中的句子向量进行平均或加权平均。
统计方法用TF-IDF和N-gram统计生成文本向量,而神经网络方法如Word2Vec、GloVe等通过深度学习学习文本向量。
- 基于统计的方法
- TF-IDF:通过统计词频和逆文档频率来生成词向量或文档向量。
- N-gram:基于统计的n个连续词的频率来生成向量。
基于神经网络的方法
词嵌入:
Word2Vec:通过预测词的上下文来学习词向量。
GloVe:通过全局词共现统计来学习词向量。
FastText:考虑词的n-gram特征来学习词向量。
句子嵌入:
RNN:包括LSTM和GRU,可以处理变长句子并生成句子向量。
Transformer:使用自注意力机制和位置编码来处理句子,生成句子向量。
文档嵌入:
Doc2Vec:扩展了Word2Vec,可以生成整个文档的向量表示。
BERT:基于Transformer的预训练模型,可以生成句子或短文档的向量表示。
工作原理:将离散的文字信息(如单词)转换成连续的向量数据。这样,语义相似的词在向量空间中位置相近,并通过高维度捕捉语言的复杂性。
- 将离散信息(如单词、符号)转换为分布式连续值数据(向量)。
- 相似的项目(如语义上相近的单词)在向量空间中被映射到相近的位置。
- 提供了更多的维度(如1536个维度)来表示人类语言的复杂度。
举例来讲,这里有三句话:
- “The cat chases the mouse” 猫追逐老鼠。
- “The kitten hunts rodents” 小猫捕猎老鼠。
- “I like ham sandwiches” 我喜欢火腿三明治。
人类能理解句子1和句子2含义相近,尽管它们只有“The”这个单词相同。但计算机需要Embedding技术来理解这种关系。Embedding将单词转换为向量,使得语义相似的句子在向量空间中位置相近。这样,即使句子1和句子2没有很多共同词汇,计算机也能理解它们的相关性。
如果是人类来理解,句子 1 和句子 2 几乎是同样的含义,而句子 3 却完全不同。但我们看到句子 1 和句子 2 只有“The”是相同的,没有其他相同词汇。计算机该如何理解前两个句子的相关性?
Embedding将单词转换为向量,使得语义相似的句子在向量空间中位置相近。这样,即使句子1和句子2没有很多共同词汇,计算机也能理解它们的相关性。
二、Image Embedding工作原理
图像向量化(Image Embedding):将图像数据转换为向量的过程。
卷积神经网络和自编码器都是用于图像向量化的有效工具,前者通过训练提取图像特征并转换为向量,后者则学习图像的压缩编码以生成低维向量表示。
- 卷积神经网络(CNN):通过训练卷积神经网络模型,我们可以从原始图像数据中提取特征,并将其表示为向量。例如,使用预训练的模型(如VGG16, ResNet)的特定层作为特征提取器。
- 自编码器(Autoencoders):这是一种无监督的神经网络,用于学习输入数据的有效编码。在图像向量化中,自编码器可以学习从图像到低维向量的映射。
工作原理:通过算法提取图像的关键特征点及其描述符,将这些特征转换为高维向量表示,使得在向量空间中相似的图像具有相近的向量表示,从而便于进行图像检索、分类和识别等任务。
- 特征提取:使用算法(如SIFT、SURF、HOG等)从图像中提取关键特征点及其描述符。
- 高维空间:图像向量通常在高维空间中表示,每个维度对应一个特征或特征描述符。
- 相似度度量:在向量空间中,可以使用距离度量(如欧氏距离、余弦相似度等)来比较不同图像向量的相似度。
三、Vedio Embedding工作原理
视频向量化(Vedio Embedding):OpenAI的Sora将视觉数据转换为图像块(Turning visual data into patches)。
- 视觉块的引入:为了将视觉数据转换成适合生成模型处理的格式,研究者提出了视觉块嵌入编码(visual patches)的概念。这些视觉块是图像或视频的小部分,类似于文本中的词元。
- 处理高维数据:在处理高维视觉数据时(如视频),首先将其压缩到一个低维潜在空间。这样做可以减少数据的复杂性,同时保留足够的信息供模型学习。
工作原理:Sora 用visual patches 代表被压缩后的视频向量进行训练,每个patches相当于GPT中的一个token。使用patches,可以对视频、音频、文字进行统一的向量化表示,和大模型中的 tokens 类似,Sora用 patches 表示视频,把视频压缩到低维空间(latent space)后表示为Spacetime patches。
OpenAI大模型的核心架构:大力出奇迹。Embedding技术实现文本、图像、视频等数据向量化表示,为大型模型提供了丰富的特征输入。只要模型规模足够大,这些向量化数据就能驱动模型生成各种所需的内容,体现了“万物皆可生成”的能力。
文章转自微信公众号@架构师带你玩转AI