用大模型这么久了,你有没有想过,为什么聊天机器人能回答你的问题?为什么搜索引擎能“懂”你在找什么?这背后有一个神奇的“翻译官”——它能把文字变成一串数字,让机器理解人类的语言。这个翻译的过程叫Embedding。
机器如何理解你的问题? 在机器学习中,一般会把要处理的数据转换为向量(Vector),也就是把高维数据映射到低维空间,这个转换过程叫做 Embedding。 把数据转换为向量之后,就可以通过向量的计算来获得数据的相似性。也就是说接近的 Embedding 其 token 的意思也是相近的,也就是机器理解了。 要注意,这个 Embedding 是通过训练获得的参数,存储在数据库中,在使用的时候直接查表得到。在大模型的训练过程中需要耗费大量资源,动辄训练几个月,其中一部分工作就是训练这个 Embedding,开源模型开源的参数也有一部分是这个。 虚一,公众号:的数字化之路浅入浅出——生成式 AI
今天,我们就来揭开这个“文字变数字”的魔法:Embedding(嵌入)。
在展开讲之前,先拉齐几个概念:
什么是非结构化数据?
非结构化数据是指数据结构不规则、没有统一的预定义数据模型、不方便用数据库二维逻辑表来表现的数据,包括图片、视频、音频、自然语言等。非结构化数据可以通过各种人工智能(AI)或机器学习(ML)模型转化为向量数据。
什么是向量?
向量是指在数学中具有一定大小和方向的量,文本、图片、音视频等非结构化数据, 通过机器学习/深度学习模型 Embedding 提取出来的“特征” 用数学中的向量来表示。在大模型中,向量(Vector)通常是由浮点数(Float)组成的数组。两个向量之间的距离衡量它们的相关性。距离小表示相关性高,距离大表示相关性低。嵌入数组的长度称为向量的维度。向量维度,通常维度越高,检索越准确。除非有极高性能要求和超大规模数据量,方可考虑降维。其主要功能是将文本转换为数值向量,通常称为向量化。
什么是特征向量?
特征向量是包含事物重要特征的向量。大家比较熟知的一个特征向量是 RGB(红-绿-蓝)色彩,每种颜色都可以通过对红(R)、绿(G)、蓝(B)三种颜色的比例来得到,这样一个特征向量可以描述为:颜色 = [红,绿,蓝]。对于一个像素点,我们可以用数组 [255, 255, 255] 表示白色,用数组 [0, 0, 0] 表示黑色,这里 [255, 255, 255]、[0, 0, 0] 可以认为是该像素点的特征向量。
什么是Embedding?
通过深度学习神经网络提取非结构化数据里的内容和语义,把图片、视频等变成特征向量,这个过程叫Embedding。
什么是向量相似度检索?
相似度检索是指将目标对象与数据库中数据进行比对,并召回最相似的结果。同理,向量相似度检索是一种基于向量空间模型的检索方法,用于计算和比较两个向量之间的相似度,返回最相似的向量数据。如果两条向量十分相似,意味着他们所代表的源数据(例如图片)也十分相似。
想象一下,每个词语(比如“猫”、“快乐”、“北京”、“上海”、”ai“、”MRO“)都有一个独一无二的“数字身份证”——比如“猫”可能是 [0.3, -1.2, 2.5…]
,而“狗”是 [0.5, -0.8, 2.4…]
。这串数字不是乱编的,而是通过分析海量文本后,按词语的“共同出现规律”生成的。
你可能好奇:为什么要把词语变成数字?直接处理文字不行吗?
所有词语的数字身份证,会放在一个高维的“数字地球仪”上,叫做向量空间。这个地球仪上,词语的“地理位置”决定了它们的含义。
训练过程就像“老师排座位”:
在地球仪上,判断两个词是否“亲密”,常用三种方法:
[2, 3]
和 [1, 4]
,内积就是 2×1 + 3×4 = 14
。一句话总结:
虽然Embedding很强大,但它也不是万能的。精度高低取决于几个关键因素:
甚至能玩“词语加减法”:
Embedding 的魔法,本质是让机器通过数据统计,“感受”到了语言的规律。虽然它还不完美,但正是这些“数字灵魂”,让AI能推荐你喜欢的电影、回答你的问题、甚至写出诗歌。未来,随着模型越来越聪明,或许机器真能像人类一样,理解语言的细腻与温度。