大模型語義分析之嵌入(Embedding)模型 原創(chuàng)
“ 嵌入是大模型的基礎(chǔ),而嵌入的底層結(jié)構(gòu)就是向量,而表示方式就是矩陣 ”
嵌入——Embedding,可能有些人了解過這個詞,也可能沒了解過這個詞;但不管怎么說,嵌入在大模型技術(shù)中扮演著非常重要的角色;它是很多上層技術(shù)的基礎(chǔ)。
大模型的底層數(shù)學結(jié)構(gòu)是向量,而由于計算機只能進行數(shù)值計算;因此向量在計算機中是通過矩陣結(jié)構(gòu)進行表示的,優(yōu)點就在于計算簡單;并且能進行升維和降維操作。
嵌入就是把數(shù)據(jù)(包括文本,圖像,音視頻等多種模態(tài)的數(shù)據(jù))向量化表示的技術(shù)!!!
大模型之嵌入——Embedding
今天在研究RAG技術(shù)的時候,一直在思考一個問題,嵌入;在RAG的流程中,第一步是文檔加載,第二步就是文檔切片然后調(diào)用嵌入模型把文檔轉(zhuǎn)化為向量模式。
所以,這里就產(chǎn)生了一個問題,那就是這個嵌入過程是什么樣的?簡單來說就是怎么把文本或圖片等多種模態(tài)的數(shù)據(jù),通過嵌入模型轉(zhuǎn)化為向量數(shù)據(jù)?
嵌入模型不僅僅只是把文本或圖片轉(zhuǎn)換成向量模式,還有更重要的一點就是要保證嵌入文本的語義關(guān)系。所以,這個都是怎么實現(xiàn)的?
在文檔分割的過程中,有一個很重要的環(huán)節(jié)就是文檔切分,文檔切分的不同方式直接影響到嵌入向量的語義效果;因此,在RAG中嵌入模型很重要,文檔切分也同樣重要。
在大模型中,比如以Transformer架構(gòu)為例,其使用了自注意力機制來保證文檔語義的連貫性;但文檔數(shù)據(jù)輸入大模型之前,同樣必須轉(zhuǎn)化為向量格式的數(shù)據(jù)才能被大模型所識別,然后進行處理。
但文檔在輸入大模型之前轉(zhuǎn)換的向量是沒有語義關(guān)系的;所以,大家是否發(fā)現(xiàn)大模型訓練和嵌入大模型的區(qū)別?
普通大模型訓練是學習文檔中的語義關(guān)系;而嵌入模型是接受一個文檔作為輸入,然后根據(jù)自己習得的參數(shù)對文檔進行語義轉(zhuǎn)換,然后輸出一段有語義關(guān)系的向量數(shù)據(jù)。
而文檔中語義之間的關(guān)系,經(jīng)過向量化之后是通過向量之間的數(shù)學關(guān)系來表示的;比如歐式距離,余弦值等。
關(guān)于文檔向量化的過程,除了采用嵌入模型之外,還有其它多種方式來實現(xiàn);比如說,One-Hot獨熱編碼和詞袋模型等;只不過熱獨編碼和詞袋模型無法保證文檔的語義關(guān)系,雖然其也構(gòu)建了詞匯表,但每個詞都是獨立的,沒有任何數(shù)學上的關(guān)系體現(xiàn)。
這篇文章說是介紹嵌入,不如說是自己思考問題的記錄;今天看了大半天的嵌入問題,也查了很多資料;但總覺得是在霧里看花,很多問題都不明白,也抓不著重點。
記錄幾個問題:
嵌入是怎么理解語義的?
大模型是怎么理解語義的?
分塊對語義的影響以及原因是什么?
大模型訓練的參數(shù)與語義理解的關(guān)系?
向量 矩陣 embedding transformer架構(gòu)之間的關(guān)系是什么?
本文轉(zhuǎn)載自公眾號AI探索時代 作者:DFires
