Transformer | 一文带你了解Embedding(从传统嵌入方法到大模型Embedding)

神经网络算法 - 一文搞懂Embedding(嵌入) 本文将从**Embedding的本质、Embedding的原理、Embedding的应用**三个方面,带您一文搞懂Embedding(嵌入)。 阅读详情

引言

Embedding是 LLM 的语义支柱,它可以将原始文本转换为向量形式来方便模型理解。当你在使用 LLM 帮助您调试代码时,你的输入文本、代码会被转换为高维向量,从而将其中的语义转化成数学关系。

本文主要介绍Embedding的基础知识,带你一文了解Embedding。介绍什么是Embedding,它们是如何从统计方法演变成为当前Embedding技术的,了解它们在实践中的实现方式,并介绍总结一些最重要的Embedding技术,以及 LLM (DS-Qwen1.5B) 的Embedding在图表示中的样子。文章结构安排:

  • 何为Embedding?
  • 理想Embedding
  • 传统Embedding
  • 静态Embedding
  • 上下文Embeding
  • 大模型Embedding
  • DS-Qwen1.5B Embedding
  • Embedding的图理解
  • 结论

何为Embedding

在自然语言处理 (NLP) 任务中,处理文本需要将每个单词转换成对应的数字表示。大多数Embedding方法都归结为将单词或标记转换为向量。各种嵌入技术之间的区别在于它们如何处理这种“单词→向量”的转换。

Embedding不仅适用于文本,还可以应用于图像、音频甚至图数据。「广义上讲,Embedding是将(任何类型的)数据转换为向量的过程」。当然,每种模态的Embedding方法都各不相同且独一无二。在本文介绍的“Embedding”,主要指的是文本Embedding。(另外嵌入技术就是Embedding技术的翻译,后面可能会出现嵌入和Embedding两种描述,其实是一个意思。)

或许你在大型语言模型的语境中听说过Embedding,但实际上Embedding的历史要悠久得多。以下是各种Embedding技术的概述:

在阅读有关Embedding的内容时,会遇到**「静态Embedding与动态(或上下文化)Embedding」。区分标记Embedding(即在 LLM 一开始就分配给输入标记的固定向量)和模型更深层生成的上下文表示至关重要。虽然从技术上讲,两者都是嵌入,「但标记Embedding是静态的,而中间隐藏状态会随着穿过模型的每一层而变化,从而捕获输入的完整上下文」**。在某些研究文献中,这些上下文输出也被称为“嵌入”,这可能会造成混淆。以下是对Embedding的技术分类图示及相关代表技术/模型,本文后面将各挑一项代表技术做详细的介绍。

理想Embedding

对于 LLM 来说,Embedding可以被视为其语言的词典。好的Embedding可以让模型能够更好的理解人类语言。但是,什么才是理想的嵌入技术呢?以下是嵌入技术的两个主要特性:

  • 「语义表示」 某些类型的Embedding可以捕捉单词之间的语义关系。这意味着,含义更接近的单词在向量空间中更接近。例如,“猫”和“狗”的向量肯定比“狗”和“草莓”的向量更相似。
  • 「维度」 嵌入向量的大小应该是多少?15、50 还是 300?找到合适的平衡点是关键。较小的向量(较低维度)在内存中保存或处理效率更高,而较大的向量(较高维度)可以捕捉复杂的关系,但容易出现过拟合。作为参考,GPT-2 模型系列的嵌入大小至少为 768。

传统Embedding

几乎所有词向量嵌入技术都依赖于海量文本数据来提取词语之间的关系。此前,词向量嵌入方法依赖于基于文本中词语出现频率的统计方法。这种方法基于这样的假设:如果一对词语经常同时出现,那么它们之间的关系必然更密切。这些方法简单易行,计算量也不大。其中一种比较有代表性方法是TF-IDF。

TF-IDF(词频-逆文档频率)

TF-IDF 的理念是通过考虑两个因素来计算单词在文档中的重要性:

  • 「词频 (TF)」 词语在文档中出现的频率。TF 值越高,表示词语对文档越重要。
  • 「逆文档频率 (IDF)」 词语在文档中的稀缺性。这种方法是基于这样的假设:出现在多篇文档中的词语的重要性低于仅出现在少数文档中的词语。

TF-IDF 公式由两部分组成,分别为词频 (TF) 、逆文档频率 (IDF),总体的计算公式如下:

其中: 表示一个单词, 表示一个文档, 表示单词 在文档 中出现的次数, 表示文档 中所有单词的总次数, 表示语料库中总文档数, 表示包含单词 的文档数。

为了方便理解,这里举个实际计算的示例:

假设我们有一个包含 10 篇文档的语料库,而“cat”一词只出现在其中 2 篇文档中。 “cat” 的 IDF 为:

如果在某个文档中,“cat”在总共 100 个单词中出现了 5 次,则其 TF=5/100 为 0.05。因此,该文档中“cat”的最终 TF-IDF 得分为:

该得分告诉我们“cat”一词对于该特定文档相对于整个语料库的重要程度。得分越高,表示该词在该文档中出现的频率越高,并且在所有文档中相对较少出现,因此其在表征文档内容方面可能更有意义。

这里我们在 TinyShakespeare 数据集上使用 TF-IDF。为了模拟多文档,我们将文档分成十个块,相关代码如下:

# load the datasetwith open("tinyshakespeare.txt", "r") as file:    corpus = file.read()print(f"Text corpus includes {len(corpus.split())} words.")# to simulate multiple documents, we chunk up the corpus into 10 piecesN = len(corpus) // 10documents = [corpus[i:i+N] for i in range(0, len(corpus), N)]documents = documents[:-1] #last document is residue# now we have N documents from the corpus# Text corpus includes 202651 words.from sklearn.feature_extraction.text import TfidfVectorizer# 默认会将文本中的单词转换为小写,并去除停用词(如the, is等)。在这个例子中,我们没有指定停用词,因此它会处理所有单词。vectorizer = TfidfVectorizer()#首先会计算每个单词在文档中的TF-IDF值。它会生成一个稀疏矩阵,每一行代表一个文档,每一列代表一个单词。稀疏矩阵中的值是该单词在对应文档中的TF-IDF值。embeddings = vectorizer.fit_transform(documents)words = vectorizer.get_feature_names_out()print(f"Word count: {len(words)} e.g.: {words[:10]}")print(f"Embedding shape: {embeddings.shape}")### OUTPUT #### Word count: 11446 e.g.: ['abandon' 'abase' 'abate' 'abated' 'abbey' 'abbot' 'abed' 'abel' 'abet' 'abhor']# Embedding shape: (10, 11446)

这为我们提供了一个 10 维的嵌入向量,每个向量对应一个文档(这里的文档可以理解为一句话)。现在,为了更好地理解 TF-IDF 嵌入向量,我们使用 PCA 将 10 维空间映射到 2 维空间,以便更好地进行可视化。

关于这个嵌入向量空间,有两点值得注意:

  • 1.大多数单词都集中在一个特定的区域。这意味着在这种方法中,大多数单词的嵌入向量都很相似。这表明这些嵌入向量缺乏表达力和独特性。
  • 2.这些嵌入向量之间没有语义联系。单词之间的距离与它们的含义无关。

由于 TF-IDF 基于文档中单词的出现频率,因此语义上接近的单词(例如数字)在向量空间中没有关联。TF-IDF 和类似统计方法的简单性使得它们在信息检索、关键词提取和基本文本分析等应用中非常有用。

静态Embedding

word2vec

word2vec是一种比TF-IDF更先进的技术。顾名思义,它是一个旨在将单词转换为嵌入向量的网络。它通过定义一个辅助目标来实现这一点,即优化网络的目标。

例如,「在CBOW(连续词袋)中,word2vec网络被训练成在给定一个单词的相邻词作为输入时预测该单词」。其直观理解是,你可以根据该单词周围的单词推断出该单词的嵌入。除了 CBOW 之外,另一种变体是 Skipgram,其工作原理完全相反:它旨在通过给定特定单词作为输入来预测其邻近单词。

word2vec的架构非常简单:首先通过一个隐藏层从中提取嵌入,然后外加一个输出层,预测词汇表中所有单词的概率。表面上,该网络被训练成根据相邻词预测正确的缺失词,但实际上,这是训练网络隐藏层并为每个单词找到正确嵌入向量。网络训练完成后,最后一层可以被抛弃,因为找出Embedding向量才是真正的目标。

CBOW word2vec 的工作原理如下:

  • 选择一个上下文窗口(例如上图上下文窗口为4)。
  • 将特定单词前后两个单词作为输入。
  • 将这四个上下文单词编码为one-hot向量。
  • 将编码后的向量传入隐藏层,该层具有线性激活函数。
  • 聚合隐藏层的输出(例如,使用 lambda 均值函数)。
  • 将聚合后的输出输入到最后一层,该层使用 Softmax 预测每个可能单词的概率。
  • 选择概率最高的 token 作为网络的最终输出。

隐藏层是存储Embedding的地方。当我们将一个单词的one-hot向量(一个除了一个元素设置为 1 之外全为 0 的向量)传入网络时,这个特定的 1 会触发该单词的嵌入传递到下一层。下面是一个简洁 word2vec 网络实现。

由于该网络依赖于上下文中词语之间的关系,而不是像 TF-IDF 那样依赖于单词出现的频率,因此它能够捕捉词语之间的语义关系。如果你比较感兴趣,可以去Google官网下载训练好的模型版本(下载链接:https://code.google.com/archive/p/word2vec/)。以下是实际使用 word2vec 的代码:

# 下载预训练的embedding向量模型,看看它是如何使用的。import gensimmodel = gensim.models.KeyedVectors.load_word2vec_format('GoogleNews-vectors-negative300.bin.gz', binary=True)print(f"The embedding size: {model.vector_size}")print(f"The vocabulary size: {len(model)}")# italy - rome + london = englandmodel.most_similar(positive=['london', 'italy'], negative=['rome'])### OUTPUT ###[('england', 0.5743448734283447), ('europe', 0.537047266960144), ('liverpool', 0.5141493678092957), ('chelsea', 0.5138063430786133), ('barcelona', 0.5128480792045593)]model.most_similar(positive=['woman', 'doctor'], negative=['man'])### OUTPUT ###[('gynecologist', 0.7093892097473145), ('nurse', 0.6477287411689758), ('doctors', 0.6471460461616516), ('physician', 0.6438996195793152), ('pediatrician', 0.6249487996101379)]

为了高效地训练 word2vec,尤其是在词汇量较大的情况下,可以使用了一种称为负采样的优化技术。负采样不是在整个词汇表上计算完整的 softmax(这计算成本很高),而是通过只更新少量负样本(即随机选择的与上下文无关的词语)和正样本来简化任务。这可以让训练速度更快,可扩展性更强。

更多精彩内容->专注大模型、Agent、RAG等前沿分享!

上下文Embedding

BERT

BERT 全称为Bidirectional encoder representations from transformers,在自然语言处理 (NLP) 领域,BERT 无处不在。当前大模型的一些理念方法都会有BERT的影子,彻底了解 BERT有利于提高你对大模型的理解。

BERT 源自“Attention is all you need”一文中介绍的 Transformer 架构,仅使用Transformer编码器,通过预训练使其能够生成语义表征并理解语言。BERT可以解决QA问答、文本摘要、分类等任务。

BERT 是一个仅使用编码器的 Transformer 模型,由四个主要部分组成,如上图所示:

  • 分词器 (Tokenizer):将文本切分为整数序列。
  • 嵌入 (Embedding):将离散标记转换为向量的模块。
  • 编码器 (Encoder):一堆带有自注意力机制的 Transformer 模块。
  • 任务头 (Task Head):当编码器完成表征后,这个特定于任务的头会处理这些表征,以完成标记生成或分类任务。

在预训练阶段,BERT需要同时学习两个任务:

「掩码语言模型」(Masked Language Model,MLM):预测句子中被掩码的单词(我之前 [MASKED] 过这本书 -> 阅读过)

「下一句预测」(Next Sentence Prediction,NSP):给定两个句子,预测 A 是否在 B 之前。两句之间添加特殊 [SEP] 标记将两个句子分开,这个任务类似于二分类。

注意另一个特殊标记 [CLS]。这个特殊标记有助于分类任务。随着模型逐层处理输入,[CLS] 成为所有输入标记的集合,稍后可用于分类目的。

BERT模型之所这么重要是因为它是基于Transformer的语境化动态嵌入的首批应用实例之一。当输入一个句子时,BERT 模型的各层会利用自注意力机制和前馈机制来更新并整合句子中所有其它 token 的语境。每个 Transformer 层的最终输出是该单词的语境化表示。

大模型Embedding

当前Embedding仍然是大型语言模型的基础组件,也是一个广义的术语。这里我们重点介绍“嵌入”,即把词条转换为向量表征的模块,而不是隐藏层中的潜在空间。

嵌入在 LLM 中扮演什么角色?其实大模型的Embedding属于上下文Embedding的一种。简单来说,在基于 Transformer 的模型中,“嵌入”一词可以指静态嵌入和动态上下文表征:

**「静态Embedding」**往往是在第一层生成,并将词条嵌入(表示词条的向量)与位置嵌入(编码词条在序列中位置的向量)相结合,比如BERT模型就是属于静态嵌入。

动态上下文Embedding。当输入词条经过自注意力层和前馈层时,它们的嵌入会被更新,使其与上下文相关。这些动态表征根据词条周围的上下文来捕捉其含义。例如,“Bank”一词既可以出现在“river bank”短语中,也可以在“bank robbery”短语中。尽管“bank”这个词的标记嵌入在这两种情况下是相同的,但它在网络各层中进行转换时就会考虑到“bank”出现的具体上下文。

LLM的Embedding时在训练过程中进行优化的。虽然我们也可以使用 Word2Vec 等预训练模型为机器学习模型生成嵌入,但 LLM 通常会生成自己的Embedding,这些嵌入是输入层的一部分,并在训练过程中进行更新。将嵌入优化作为 LLM 训练的一部分,而不是使用 Word2Vec,其优势在于,这些嵌入会根据特定任务和数据进行优化。

「LLM 中的嵌入层相当于一个向量索引表」。给定一个索引列表(token id),它会返回相应的嵌入,参考样例如下图所示:

PyTorch 中大模型嵌入层的代码实现是使用 torch.nn.Embedding 完成的,它充当一个简单的查找表。它无需进行one-hot编码,而是直接使用索引作为输入,其实该层与简单的线性层相比没有什么特别之处。嵌入层只是一个使用索引的线性层。

上面介绍说无需one-hot编码,其主要原因时如果采用one-hot编码,其实原理时一样的,直接采用索引会更方便。下面是采用one-hot编码获取嵌入向量的示例:

DS-Qwen1.5B的Embedding

实际大模型Embedding层是怎么样的呢?让我们剖析一下 Qwen 模型中 DeepSeek-R1 精简版的Embedding。首先,从 Hugging Face 加载 deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B 模型并保存嵌入。

import torchfrom transformers import AutoTokenizer, AutoModeltokenizer_name = "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B"model_name = tokenizer_name# Load the tokenizertokenizer = AutoTokenizer.from_pretrained(tokenizer_name)tokenizer.add_special_tokens({'pad_token': '[PAD]'})# Load the pre-trained modelmodel = AutoModel.from_pretrained(model_name)# Extract the embeddings layerembeddings = model.get_input_embeddings()# Print out the embeddingsprint(f"Extracted Embeddings Layer for {model_name}: {embeddings}")# Save the embeddings layertorch.save(embeddings.state_dict(), "embeddings_qwen.pth")

然后加载使用Qwen1.5B模型的嵌入层。将嵌入与模型的其它部分分离、保存和加载的目的是为了更快、更高效地获取输入的嵌入,而不是对模型进行完整的前向传递。

class EmbeddingModel(nn.Module):    def __init__(self, vocab_size, embedding_dim):        super(EmbeddingModel, self).__init__()        self.embedding = nn.Embedding(num_embeddings=vocab_size, embedding_dim=embedding_dim)    def forward(self, input_ids):        return self.embedding(input_ids)vocab_size = 151936dimensions = 1536embeddings_filename = r"embeddings_qwen.pth"tokenizer_name = "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B"tokenizer = AutoTokenizer.from_pretrained(tokenizer_name)# Initialize the custom embedding modelmodel = EmbeddingModel(vocab_size, dimensions)# Load the saved embeddings from the filesaved_embeddings = torch.load(embeddings_filename)# Ensure the 'weight' key exists in the saved embeddings dictionaryif'weight'notin saved_embeddings:    raise KeyError("The saved embeddings file does not contain 'weight' key.")embeddings_tensor = saved_embeddings['weight']# Check if the dimensions matchif embeddings_tensor.size() != (vocab_size, dimensions):    raise ValueError(f"The dimensions of the loaded embeddings do not match the model's expected dimensions ({vocab_size}, {dimensions}).")# Assign the extracted embeddings tensor to the model's embedding layermodel.embedding.weight.data = embeddings_tensor# put the model in eval modemodel.eval()

接着,看一看如何将一个句子分词,然后进行向量化

def prompt_to_embeddings(prompt:str):    # tokenize the input text    tokens = tokenizer(prompt, return_tensors="pt")    input_ids = tokens['input_ids']    # make a forward pass    outputs = model(input_ids)    # directly use the embeddings layer to get embeddings for the input_ids    embeddings = outputs    # print each token    token_id_list = tokenizer.encode(prompt, add_special_tokens=True)    token_str = [tokenizer.decode(t_id, skip_special_tokens=True) for t_id in token_id_list]    return token_id_list, embeddings, token_strprint_tokens_and_embeddings("HTML coders are not considered programmers")

在上面的代码中,我们对句子进行了分词,并打印了分词的嵌入。这些嵌入是 1536 维向量。这里有一个简单的示例,以“HTML coders are not considered programmers”这句话为例。

最后,让我们看看如何找到与特定单词最相似的嵌入。由于嵌入是向量,我们可以使用余弦相似度来找到与特定单词最相似的嵌入。然后,我们可以使用 torch.topk 函数来找到前 k 个最相似的嵌入。

def find_similar_embeddings(target_embedding, n=10):    """    Find the n most similar embeddings to the target embedding using cosine similarity        Args:        target_embedding: The embedding vector to compare against        n: Number of similar embeddings to return (default 3)        Returns:        List of tuples containing (word, similarity_score) sorted by similarity    """    # Convert target to tensor if not already    ifnot isinstance(target_embedding, torch.Tensor):        target_embedding = torch.tensor(target_embedding)            # Get all embeddings from the model    all_embeddings = model.embedding.weight        # Compute cosine similarity between target and all embeddings    similarities = torch.nn.functional.cosine_similarity(        target_embedding.unsqueeze(0),         all_embeddings    )        # Get top n similar embeddings    top_n_similarities, top_n_indices = torch.topk(similarities, n)        # Convert to word-similarity pairs    results = []    for idx, score in zip(top_n_indices, top_n_similarities):        word = tokenizer.decode(idx)        results.append((word, score.item()))            return resultstoken_id_list, prompt_embeddings, prompt_token_str = prompt_to_embeddings("USA and China are the most prominent countries in AI.")tokens_and_neighbors = {}for i in range(1, len(prompt_embeddings[0])):    token_results = find_similar_embeddings(prompt_embeddings[0][i], n=6)    similar_embs = []    for word, score in token_results:        similar_embs.append(word.replace(" ", "#"))    tokens_and_neighbors[prompt_token_str[i]] = similar_embsall_token_embeddings = {}# Process each token and its neighborsfor token, neighbors in tokens_and_neighbors.items():    # Get embedding for the original token    token_id, token_emb, _ = prompt_to_embeddings(token)    all_token_embeddings[token] = token_emb[0][1]        # Get embeddings for each neighbor token    for neighbor in neighbors:        # Replace # with space        neighbor = neighbor.replace("#", " ")        # Get embedding        neighbor_id, neighbor_emb, _ = prompt_to_embeddings(neighbor)        all_token_embeddings[neighbor] = neighbor_emb[0][1]

Embeddings as Graphs

我们如何看待嵌入?一种方法是将嵌入层视为一个网络,每个Token是一个节点;如果两个Token的向量距离较近,那么我们假设它们的节点可以通过边连接。

例如,我们将“*AI agents will be the most hot topic of artificial intelligence in 2025.*”这句话,进行Token化,将Token转换为Embedding向量,然后找到与已有的每个嵌入最相似的20个嵌入,则嵌入图如下:

实际上,您可以在文章开头看到一个更全面的示例,其中映射了50个标记及其最接近的标记。

在上述图示例中,我们忽略了“Token变体”。一个标记或单词可能有许多不同的变体,每个变体都有各自的嵌入向量。例如,标记“list”可能有许多不同的变体,每个变体都有各自的嵌入,例如“_list”、“List”等等。这些变体通常具有与原始标记非常相似的嵌入。下图是标记“列表”及其近邻(包括其变体)的图表。

结论

Embedding仍然是自然语言处理和现代大语言模型的基础部分之一。虽然在LLM 领域的研究每天都在探索新的方法和技术,但Embedding在大型语言模型中却没有太大变化。尽管如此,它们都是至关重要的,「因为它是将文本、图像、语音等内容转换至大模型可理解维度的必经之路」。

总之,本文主要介绍了关于Embedding的基础知识,以及它们从传统统计方法演变为当今大语言模型 (LLM) 用例的过程。通过本文希望能够帮助你对Embedding有一个全面的了解。

想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2025 年 AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享!

👇👇扫码免费领取全部内容👇👇

​

一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势

想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI:

1. 100+本大模型方向电子书

在这里插入图片描述

2. 26 份行业研究报告:覆盖多领域实践与趋势

报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:

  • 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
  • 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
  • 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
  • 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。

3. 600+套技术大会 PPT:听行业大咖讲实战

PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:

在这里插入图片描述

  • 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
  • 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
  • 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
  • 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。

二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走

想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!

1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位

面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析:

2. 102 道 AI 大模型真题:直击大模型核心考点

针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:

3. 97 道 LLMs 真题:聚焦大型语言模型高频问题

专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:


三、路线必明: AI 大模型学习路线图,1 张图理清核心内容

刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!

在这里插入图片描述

路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。

img

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

img

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

img

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

img

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

img

L5阶段:专题集丨特训篇 【录播课】

img
四、资料领取:全套内容免费抱走,学 AI 不用再找第二份

不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:

👇👇扫码免费领取全部内容👇👇

​

2025 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!Transformer | 一文带你了解Embedding(从传统嵌入方法到大模型Embedding)

深度学习embedding方法,降维,以及pytorch中使用embedding 形式上讲,Embedding就是用。 阅读详情

相关推荐

Embedding模型到底是什么?看完这篇就懂啦!

2024年1月1日,​​正式推出V1.0版本,其核心亮点之一便是对​​的深度支持。作为AI数智化开发平台,JBoltAI通过集成Embedding技术,实现了从文本、图像到结构化数据的语义向量化处理能力,为开发者提供了一套完整的AI应用开发解决方案。这一版本不仅支持多模型配置(如大语言模型、Embedding模型、向量数据库),还创新性地推出AI智能大搜、Text2Sql等工具,迅速获得央国企、事业单位及高校的广泛合作。那么,Embedding模型到底是什么?有什么用?下面就来给大家逐一解答。

Luo_Daimeng的博客 2120

大模型入门:Embedding模型概念、源码分析和使用示例

本篇对嵌入模型的概念、Spring AI 框架对支持嵌入模型的设计,并对其源码进行分析,最后对API接口进行使用。

2301_81940605的博客 2万+

Labview执行adbshell操作

一、目录 1、实现思路 2、adbshell工具配置 3、Labview执行命令窗口 1、实现思路 使用Labview的优点: 1、可以配合电源系统或者调用其他接口工具实现更高程度的自动化测试; 2、直接执行Linux相关命令,编写相关执行顺序或者逻辑更简易; --------可以用adbpush命令将.sh的脚本文件推入控制器内部执行; 3、Ubuntu系统比较大,如果只是日常执行脚本测试还是比较占用磁盘空间; 2、adbshell工具配置 1)下载adbshell工具; adbshell工具下载链

zataji的博客 2053

什么是embedding?

本文转自:https://www.jianshu.com/p/6c977a9a53de    简单来说,embedding就是用一个低维的向量表示一个物体,可以是一个词,或是一个商品,或是一个电影等等。这个embedding向量的性质是能使距离相近的向量对应的物体有相近的含义,比如 Embedding(复仇者联盟)和Embedding(钢铁侠)之间的距离就会很接近,但 Embedding(复仇者联...

weixin_44493841的博客 10万+

下水管道损坏检测数据集总结

下水管道损坏检测数据集包含 6708 张图像,为下水管道损坏情况的检测提供了丰富的数据基础。该数据集提供了 YOLO 和 VOC 两种常见的标注方式,方便不同需求的使用者进行模型训练和研究。

crz1336768325的博客 870

spring-ai学习(四)-MCP

创建一个springai项目1.依赖。

zql1455890112的博客 1384

Transformer | 一文带你了解Embedding(从传统嵌入方法到大模型Embedding),收藏就对了!!

Embedding是 LLM 的语义支柱,它可以将原始文本转换为向量形式来方便模型理解。 当你在使用 LLM 帮助您调试代码时,你的输入文本、代码会被转换为高维向量,从而将其中的语义转化成数学关系。 本文主要介绍Embedding的基础知识,带你一文了解Embedding。介绍什么是Embedding,它们是如何从统计方法演变成为当前Embedding技术的,了解它们在实践中的实现方式,并介绍总结一些最重要的Embedding技术,以及 LLM (DS-Qwen1.5B) 的Embedding在图表示中的

嘴巴吃糖了 1176

记录Nvidia AGX Orin的配置日常(二)设置上电自动开机和远程桌面

因为要拿AGX作为机器人的主控板,所以需要给他设置一下通电后无需按电源键就自动开机,然后再配置一下远程桌面。

AutomaticForever的博客 1361

Transformer | 一文带你了解Embedding(从传统嵌入方法到大模型Embedding)(非常详细)从零基础到精通,收藏这篇就够了!

Embedding是 LLM 的语义支柱,它可以将原始文本转换为向量形式来方便模型理解。当你在使用 LLM 帮助您调试代码时,你的输入文本、代码会被转换为高维向量,从而将其中的语义转化成数学关系。本文主要介绍Embedding的基础知识,带你一文了解Embedding。

Python_0011的博客 1509

Ubuntu22.04+Docker一键部署Autoware Universe避坑指南(附鱼香ROS配置)

本文详细介绍了在Ubuntu22.04系统中使用Docker一键部署Autoware Universe的完整流程,包括鱼香ROS工具链配置、Docker环境优化及VSCode开发环境集成。通过实战指南帮助开发者快速搭建自动驾驶开发环境,解决常见部署问题,提升开发效率。

weixin_29254673的博客 416

Pyrosim进阶指南:从隧道火灾模拟到复杂通风策略分析

本文深入探讨Pyrosim在隧道火灾模拟与通风策略分析中的高级应用。从精确几何建模到火源参数设置,再到通风系统的量化分析,详细介绍了如何利用Pyrosim优化隧道安全设计。特别强调了临界风速验证、横向通风配置及结果可视化技巧,为工程师提供实用的进阶指南。

weixin_30644369的博客 138

AI大模型| 一文带你了解Embedding(从传统嵌入方法到大模型Embedding)

本文主要介绍了关于Embedding的基础知识,以及它们从传统统计方法演变为当今大语言模型 (LLM) 用例的过程。通过本文希望能够帮助你对Embedding有一个全面的了解。

2301_81888214的博客 484

Xilinx ISE系列教程(2):LED点灯工程、仿真、bit下载和mcs固化

bit流生成配置选项很多,支持生成bit/bin/ascii格式的bin文件,是否压缩,配置速度,配置管脚的上下拉,用户ID,数据加载速度,SPI总线宽度,是否支持Readback,程序加密等等。,在之后的文章,我们会以Xilinx Spartan-6系列FPGA XC6SLX16为例,不涉及FPGA开发知识,仅仅是工具的使用,介绍Xilinx ISE开发环境的使用教程和使用技巧。bit文件下载之后,可以看到LED按照我们设计的1s周期闪烁起来了,但是此时如果断电,重新上电程序就丢失了。...

whik1194的博客 2279

一文彻底搞懂Transformer - Word Embedding(词嵌入)

词嵌入与早期的文本表示方法,如ASCII相比,词嵌入技术具有显著的优势。ASCII虽然有效地实现了文本的渲染和传输,但它无法传递词汇的深层含义。而词嵌入技术则能够捕捉到单词之间的语义关系,使得计算机能够在语义层面理解和处理语言。**Word Embedding这一创新使得语义搜索成为可能,我们能够更精准地理解和分析不同语言的文档。这一进步正在改变我们在数字时代处理信息的方式,使得我们能够更高效地处理和分析大量的文本数据。**

HUANGXIN9898的博客 1399

智能驾驶辅助系统(ADAS)全解析:功能详解 + 技术原理 + 实战案例

智能驾驶辅助系统(ADAS)是现代汽车技术的重要组成部分,旨在提升驾驶安全性和便利性。本文详细解析了ADAS的多个功能模块,包括自适应巡航控制(ACC)、车道偏离预警/车道保持辅助(LDW/LKA)、前向碰撞预警/自动紧急制动(FCW/AEB)、盲区检测/变道辅助(BSD/BSM)、倒车影像、自动泊车辅助(APA)、交通标志识别(TSR)、自动远光控制(AHB)、后方交叉来车预警(RCTA)和驾驶员疲劳监测。每个功能模块都基于特定的技术原理,如毫米波雷达、摄像头、传感器融合和深度学习算法,以实现对车辆周围环

weixin_43199439的博客 2102

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【Transformer系列】深入浅出理解ViT(Vision Transformer)模型

【Transformer系列】深入浅出理解ViT(Vision Transformer)网络模型

IT菜鸟 6万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

词嵌入方法(Word Embedding)

首先, 如果所有参与训练的token被100%的[MASK], 那么在fine-tunning的时候所有单词都是已知的, 不存在[MASK], 那么模型就只能根据其他token的信息和语序结构来预测当前词, 而无法利用到这个词本身的信息, 因为它们从未出现在训练过程中, 等于模型从未接触到它们的信息, 等于整个语义空间损失了部分信息. 采用80%的概率下应用[MASK], 既可以让模型去学着预测这些单词, 又以20%的概率保留了语义信息展示给模型.:指定上下文窗口的大小为 5。

小森的博客 2546

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Transformer都看晕了?不如先搞懂Embedding,这才是AI理解世界的钥匙!

本文全面剖析了Embedding技术的发展历程及其在AI大模型中的关键作用。从传统的统计方法(如TF-IDF)到静态词向量(Word2Vec),再到上下文感知的动态嵌入(BERT),最后聚焦于现代大语言模型中的Embedding实现。文章详细解析了DS-Qwen1.5B模型的Embedding层结构,展示了如何将文本转换为1536维向量,并通过可视化呈现了词向量之间的语义关系。贯穿全文的核心观点是:Embedding作为连接自然语言与AI模型的桥梁,其技术虽经演变但始终保持着基础性地位。

2401_84494441的博客 1172

一文详解AI大模型14个核心基础概念:Transformer、Token、Embedding、预训练、微调、MoE、RAG、Agent

AI大模型核心概念:Transformer、Token、Embedding、预训练、微调、MoE、RAG、Agent

Edward2022的博客 1221

Transformer中的分词embedding和位置编码embedding

分词嵌入是指将文本中的每个词汇转换为一个固定维度的向量表示。这个过程通过查找表(lookup table)完成,其中每个词汇对应于一个唯一的向量。这些向量通常是在训练过程中学习到的,因此能够捕捉词汇之间的语义关系。由于Transformer模型没有内置的顺序信息处理机制(如RNN中的时间步),位置编码用于为输入序列添加位置信息。位置编码使得模型能够理解词汇的相对或绝对位置,从而有助于处理序列任务。分词嵌入:将文本中的每个词汇转换为固定维度的向量表示,捕捉词汇的语义信息。位置编码。

编码浪子的专栏 1232
上一篇: 使用LangChain构建Agent的简单示例,大模型入门到精通,收藏这篇就足够了!
下一篇: 什么是Embedding(嵌入)?大模型入门到精通,收藏这篇就足够了!
Llama-Turbo
博客等级 码龄4年 9901粉丝 2022原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值