有效而快速的文本嵌入方法将文本输入转换为数字形式,这使得GPT-4等模型能够处理大量数据,并显示出非凡的自然语言理解水平。
1、使用LM Studio的嵌入服务器完全在本地生成 Text Embeddings 。在 Embedding Model Settings
LM Studio从0.2.19版本开始,LM Studio包含一个text embedding endpoint ,允许您生成嵌入。
- Head to the Local Server tab (<-> on the left) and start the server.
- Load a text embedding model by choosing it from Embedding Model Settings dropdown.
- Utilize the
POST /v1/embeddings
endpoint to get embeddings for your text.
Featured models:
- nomic-embed-text-v1.5
- bge-large-en-v1.5
2、文本嵌入Text embeddings是LLM的关键,可以将文本转换为矢量坐标。用于检索增强生成Retrieval Augmented Generation(RAG)应用中。
- 根据数学定律,将一大块文本转化为向量的能力是自然语言处理的基础。掌握好文本嵌入将大大提高直观推理NLP(以及许多其他ML模型)应如何最好地适合您的产品的能力。文本嵌入是将一段文本投影到高维潜在空间中。我们的文本在这个空间中的位置是一个向量,一个长的数字序列。
3、输入要么是像Word2vec这样的一个单词,要么是所有单词的稀疏向量,如果不能捕捉到文本的顺序性质,我们就不会在捕捉它的意义方面走得很远。“狗咬人”和“人咬狗”是两个截然不同的标题! 有一系列越来越复杂的sequential models序列模型: attention model and transformers,,这是当今LLM的核心。
- Fully-recurrent neural network
递归神经网络(RNN)的基本概念是,我们序列中的每个标记(通常是单词或单词片段)都会前馈到下一个标记的表示中。我们从我们的第一个令牌t0的嵌入开始。对于下一个令牌,t1,我们取t0和t1的嵌入的一些函数(由我们的神经网络学习的权重定义),如f(t0,t1)。每个新的令牌都与序列中的前一个令牌相结合,直到我们到达最后一个令牌,该令牌的嵌入用于表示整个序列。这个架构的简单版本是一个完全递归神经网络(FRNN)。这种架构存在梯度消失 vanishing gradients 的问题,这限制了神经网络的训练过程。
长短期存储器(LSTM)体系结构解决了这种消失的梯度问题。LSTM使用一个长期存储单元,该单元与RNN平行地稳定地向前传递信息,而一组门将信息传递到存储单元中或从存储单元中传出。 不过,请记住,在机器学习世界中,更大的训练集几乎总是更好的。事实上,LSTM必须依次计算每个令牌的值,然后才能开始下一个令牌,这是一个很大的瓶颈——不可能并行化这些操作。
- Transformer
transformer architecture是当前一代LLM的核心,是LSTM概念的演变。它不仅可以更好地捕捉序列中单词之间的上下文和依赖关系,而且可以通过高度优化的张量运算在GPU上并行运行。Transformer使用注意力机制来权衡序列中的每个令牌对每个其他令牌的影响。除了每个令牌的嵌入值,注意力机制还为每个令牌学习两个向量:查询向量和密钥向量。令牌的查询向量与另一个令牌的密钥向量的接近程度决定了第二个令牌的值有多少被添加到第一个令牌。