在大型语言模型 (LLM) 的上下文中,嵌入 (embeddings) 是捕获语义含义的文本的数值表示形式。这些表示形式将单词、短语或整个文档转换为高维空间中的向量(数字数组)。通过将文本转换为数字,LLM 可以通过数学方式处理语言,识别原始文本中不明显的模式和关系。例如,单词“dog”可以表示为像 [0.25, -0.7, 0.3, …] 这样的向量,而“puppy”可以是类似的向量,但略有不同。关键思想是,具有相关含义或使用上下文的单词在此向量空间中彼此更接近,从而使模型能够泛化和推理语言。
LLM 通过对大量文本数据进行训练来生成嵌入。在训练期间,模型学习调整这些向量,以便出现在相似上下文中的单词(例如,“cat”和“kitten”)具有相似的嵌入。此过程通常涉及神经网络,其中嵌入层是处理输入文本的首要步骤之一。例如,在像 GPT 或 BERT 这样的模型中,每个 token(一个单词或子词单元)都会映射到一个嵌入向量,然后再传递到模型的各层。此外,一些模型使用位置嵌入来编码句子中单词的顺序,从而确保模型理解序列关系。这些嵌入不是静态的;它们在训练过程中不断发展,以更好地捕获细微的语义和句法特征。
开发人员使用嵌入来执行语义搜索、文本分类或聚类等任务。例如,在搜索应用程序中,嵌入可以通过测量查询及其文档向量之间的距离来比较查询和文档之间的相似性。像 OpenAI 的 API 或像 Hugging Face Transformers 这样的库等工具提供了预训练的嵌入模型,开发人员可以直接集成。一个使用 PyTorch 的简单代码片段可以加载一个预训练的 BERT 模型,对文本进行标记化,并提取嵌入以进行进一步分析。嵌入还可以通过平均单词向量或使用像 sentence-BERT 这样的专门技术来表示整个句子。通过利用这些数值表示形式,开发人员可以构建理解上下文、检测释义或推荐相关内容的系统,同时依靠向量的数学属性来编码语言含义。