精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

優化文本嵌入,大幅提升RAG檢索速度

發布于 2024-10-9 14:23
瀏覽
0收藏

1 簡介

文本嵌入技術能夠將文字信息轉換成高維向量表示的數字,提供了一種理解和處理文本數據的新方式,幫助我們更好地理解和處理文本數據。

這些向量,也就是數字數組,能夠捕捉文本的深層特征,進而支持多種應用。比如理解語義、進行文本分類、聚類、信息檢索,甚至優化搜索結果排序等。

傳統上,嵌入向量的維度是固定的,通常取2的冪次方,大小介于64到4096之間。

現在,有了套娃嵌入技術,我們可以根據不同的應用需求,靈活調整嵌入向量的維度。這樣做的好處是顯而易見的:不僅能夠減少存儲需求,降低成本,還能大幅提升檢索效率。

2 文本嵌入

優化文本嵌入,大幅提升RAG檢索速度-AI.x社區

從輸入字符串到句子嵌入

我們先定義一個詞匯表,這個表把所有可能輸入的字符,包括字母、特殊符號、短詞和子詞,都映射到整數值。比如:

{
  "a": 1,
  "b": 2,
  "c": 3,
  ...
  "z": 26,
  "the": 27,
  " ": 28
}

經過標記化處理后,我們可以將令牌(token)列表輸入到編碼器模型中。這個模型經過大量數據的訓練,能夠將每個令牌轉換為高維數值向量嵌入。

例如,OpenAI的text-embedding-3-large模型的嵌入向量輸出維度為3072。

如果想要獲得單個句子嵌入,我們需要從多個令牌嵌入中提取信息。常見的做法是,對所有令牌嵌入求平均值。

3 套娃嵌入(Matryoshka Representation Learning)

套娃嵌入(Matryoshka Representation Learning)是一種先進的文本表示技術,由華盛頓大學、谷歌研究院和哈佛大學的學者們在2022年發表的論文《Matryoshka Representation Learning》中首次提出。

套娃嵌入技術能夠在單一的嵌入向量中嵌入多個層次的信息。

打個比方,它不是只訓練一個單一維度為1024的嵌入向量,而是同時優化一組不同大小的維度,如1024、512、256、128、64等。

優化文本嵌入,大幅提升RAG檢索速度-AI.x社區

這樣的設計讓嵌入向量像套娃一樣,外層包含著較為概括的信息,而內層則逐漸包含更細致的信息。這種結構讓我們能夠在幾乎不影響性能的情況下,根據實際需求來調整嵌入向量的長度,從而更好地適應各種不同的應用環境。

4 套娃嵌入的重要性

假設我們要在向量數據庫中存儲一大批文本嵌入向量。每個嵌入有 d 個維度。每個維度都是一個32位的浮點數。這樣算下來,存儲空間就需要n * d * 4 個字節。

如果我們想要計算這些向量的相似性,如點積或余弦相似性(只是歸一化的點積),維度 d 越高,需要做的數學計算量就越多。

優化文本嵌入,大幅提升RAG檢索速度-AI.x社區

點積公式

有了MRL技術,如果我們更看重節省內存和提高處理速度,從而減少成本,那我們可能只取前64個維度來用。如果我們追求最佳的性能,那就用上所有的維度。當然,也可以選擇一個折中的維度數。

總的來說,MRL技術讓LLM用戶能夠在嵌入向量的存儲成本和性能之間找到一個平衡點。

5 Nomic AI的MRL應用

Nomic的套娃文本嵌入模型nomic-embed-text-v1.5?是使用 matryoshka_dims = [768,512,256,128,64] 訓練的。該模型在Hugging Face上公開可用。

這個編碼器模型還支持多種前綴,比如[search_query, search_document, classification, clustering],這意味著它能針對搜索查詢、搜索文檔、文本分類和聚類等特定任務,提供更為精準的嵌入結果。

以下是nomic-embed-text-v1.5在大規模文本嵌入基準(MTEB)上的表現:

優化文本嵌入,大幅提升RAG檢索速度-AI.x社區

讓我們使用PyTorch和Sentence Transformers庫在Python中實現該模型:

!pip install torch sentence_transformers einops

import torch
from sentence_transformers import SentenceTransformer

model = SentenceTransformer(
    "nomic-ai/nomic-embed-text-v1.5",
    device=device,
    trust_remote_code=True,
    prompts={
        "search_query": "search_query: ",
        "search_document": "search_document: ",
        "classification": "classification: ",
        "clustering": "clustering: ",
    },
)


def embed_sentences(
    model: SentenceTransformer,
    sentences: list[str],
    prompt_name: str,
    matryoshka_dim: int,
    device: str,
):
    assert matryoshka_dim <= 768, "maximum dimension for nomic-embed-text-v1.5 is 768"
    embeddings = model.encode(
        sentences, prompt_name=prompt_name, device=device, convert_to_tensor=True
    )
    embeddings = torch.nn.functional.layer_norm(
        embeddings, normalized_shape=(embeddings.shape[1],)
    )
    embeddings = embeddings[:, :matryoshka_dim]
    embeddings = torch.nn.functional.normalize(embeddings, p=2, dim=1)
    return embeddings.cpu()

使用 matryoshka_dim 參數,可以將原本768維的嵌入向量進行截斷,然后歸一化新的嵌入向量。

現在,可以設置我們期望的維度,對維基百科上的一些文本內容以及相關問題進行編碼,以供檢索增強生成(RAG)的應用場景使用:

matryoshka_dim = 64

wikipedia_texts = [
    "The dog (Canis familiaris or Canis lupus familiaris) is a domesticated descendant of the wolf.",
    "Albert Einstein was born in Ulm in the Kingdom of Württemberg in the German Empire, on 14 March 1879.",
    "Einstein excelled at physics and mathematics from an early age, and soon acquired the mathematical expertise normally only found in a child several years his senior.",
    "Werner Karl Heisenberg was a German theoretical physicist, one of the main pioneers of the theory of quantum mechanics, and a principal scientist in the Nazi nuclear weapons program during World War II.",
    "Steven Paul Jobs (February 24, 1955 - October 5, 2011) was an American businessman, inventor, and investor best known for co-founding the technology giant Apple Inc.",
    "The cat (Felis catus), commonly referred to as the domestic cat or house cat, is the only domesticated species in the family Felidae.",
]

question = ["Where was Albert Einstein born?"]

question_embedding = embed_sentences(
    model,
    sentences=question,
    prompt_name="search_query",
    matryoshka_dim=matryoshka_dim,
    device=device,
)


document_embeddings = embed_sentences(
    model,
    sentences=wikipedia_texts,
    prompt_name="search_document",
    matryoshka_dim=matryoshka_dim,
    device=device,
)

print(f"document_embeddings.shape: {document_embeddings.shape}")
print(f"question_embedding.shape:  {question_embedding.shape}")
>> document_embeddings.shape: torch.Size([6, 64])
>> question_embedding.shape:  torch.Size([1, 64])

我們可以用散點圖可視化套娃文本嵌入的前兩個維度。不過,需要注意的是,這個嵌入模型并沒有專門針對二維展示進行優化。

優化文本嵌入,大幅提升RAG檢索速度-AI.x社區

散點圖展示了維基百科文本和相關問題的套娃嵌入結果

接下來,將我們的文檔嵌入存儲在向量數據庫中。這里使用的是Faiss。Faiss是Meta Research的開源庫,用于高效相似性搜索和密集向量的聚類。

!pip install faiss-cpu
import faiss
index = faiss.IndexFlatIP(matryoshka_dim)
index.add(document_embeddings)

通過“精確搜索內積”的方法,我們構建了一個名為IndexFlatIP的向量數據庫,它使用的是點積相似性度量。因為我們使用的嵌入向量已經過歸一化處理,所以點積和余弦相似性在這種情況下是等價的。

index 現在是一個包含六個文本嵌入的向量數據庫:

print(index.ntotal)
>> 6

搜索與我們的問題最相似的嵌入,并檢索前k個結果:

distances, indices = index.search(question_embedding, k=6)
print(indices)
print(distances)
>> [[1 2 3 4 0 5]]
>> [[0.9633528  0.729192   0.63353264 0.62068397 0.512541   0.43155164]]

我們最相似的文本在數據庫中的索引是1,相似性得分為0.96(最高是1.0)。

# results with d=64
print(question)
print(wikipedia_texts[1])
>> ['Where was Albert Einstein born?']
>> 'Albert Einstein was born in Ulm in the Kingdom of Württemberg in the German Empire, on 14 March 1879.'

這里也用matryoshka_dim=768重新運行了代碼,得到了類似的結果。然而,更高的維度需要更多的內存和更多的計算。

# results with d=768
print(indices)
print(distances)
>> [[1 2 4 3 0 5]]
>> [[0.92466116 0.645744   0.54405797 0.54004824 0.39331824 0.37972206]]

6 MRL & 量化

如果我們想要進一步壓縮我們的嵌入,可以使用MRL和二進制向量量化。二進制量化將嵌入向量中所有大于零的數字轉換為一,其余的轉換為零。

優化文本嵌入,大幅提升RAG檢索速度-AI.x社區

從完整的嵌入向量到小巧的二進制版本

使用二進制量化,一個維度為 d 的嵌入向量只需要 d / 8? 字節的內存,這比32位浮點數的 d * 4 字節減少了32倍。然而,這種減少是以性能為代價的。

7 結語

在訓練過程中,嵌入模型采用了套娃損失函數,以優化多個嵌入維度。

通過套娃表示學習,LLM用戶可以在減少文本嵌入大小和接受輕微性能損失之間進行權衡。

較小的嵌入向量占用的內存更少,計算量也更小,長期來看有助于節省成本。同時,它們的計算速度也更快,因此具有更高的檢索速度,這對于像RAG這樣的應用程序來說尤其重要。

本文轉載自 ??AI科技論談??,作者: AI科技論談

收藏
回復
舉報
回復
相關推薦
在线观看国产小视频| 性欧美精品中出| 日韩成人伦理| av高清久久久| 国产精品久久久久久久久久久久久| 亚洲精品国产熟女久久久| 9999在线精品视频| 精品久久久久久中文字幕| 天天综合色天天综合色hd| 国产精品色综合| 亚洲第一毛片| 伊人亚洲福利一区二区三区| 粗大的内捧猛烈进出视频| 欧洲一区二区三区精品| 一区二区三区自拍| 视频一区二区在线| 日本国产在线观看| 精品在线亚洲视频| 青青草99啪国产免费| 欧美精品久久久久性色| 欧美三级伦理在线| 精品国产区一区| www.com久久久| 色是在线视频| 亚洲一区二区四区蜜桃| 夜夜爽www精品| 欧美日韩在线中文字幕| 国产精品18久久久久久久久| 热门国产精品亚洲第一区在线| caoporn91| 欧美一区二区三区高清视频| 日韩高清中文字幕| 欧美xxxx日本和非洲| 九九热这里有精品| 日韩欧美在线第一页| 国产va亚洲va在线va| v片在线观看| 国产精品久久久久久久久图文区 | 国产精品一区一区三区| 国产精品久久一区| 岛国av中文字幕| 一本色道久久综合亚洲精品不卡| 欧美日本黄视频| 91香蕉视频在线播放| 欧美日韩有码| 亚洲一二在线观看| 亚洲自拍偷拍一区二区| 日韩理论电影中文字幕| 亚洲国产古装精品网站| 国产a级片视频| 伊人久久影院| 日韩欧美国产精品一区| 亚洲五月激情网| 国产亚洲字幕| 欧美日韩亚洲综合一区| 九一国产精品视频| 超级白嫩亚洲国产第一| 天天影视涩香欲综合网| heyzo亚洲| 国产精品蜜芽在线观看| 狠狠久久五月精品中文字幕| 日本精品免费在线观看| 国产精品av一区二区三区 | 97人妻一区二区精品视频| 性欧美长视频| 国产精品免费一区豆花| 亚洲天堂视频网| 男女男精品视频| 成人两性免费视频| 国产视频在线观看视频| 成人一区二区三区中文字幕| 精品高清视频| 黄色av网站在线免费观看| 欧美国产欧美综合| 中文字幕欧美日韩一区二区| 性欧美1819sex性高清大胸| 亚洲一区二区三区四区五区中文| 欧美日韩精品在线一区二区| 午夜日韩成人影院| 欧美日本国产一区| 年下总裁被打光屁股sp | 无遮挡爽大片在线观看视频 | 嫩草国产精品入口| 日韩av在线影院| 日本少妇xxxxx| 欧美在线国产| 欧美一级电影在线| 一起草av在线| www.av亚洲| 亚洲电影免费| 成人av影院在线观看| 色久综合一二码| 先锋资源在线视频| 欧美**vk| 久久99精品视频一区97| 亚洲精品成人在线视频| 国产尤物一区二区在线| 久久精品五月婷婷| 国产淫片在线观看| 欧美性猛交xxxxx水多| www.桃色.com| 国产一区网站| 国内免费精品永久在线视频| 日韩av免费播放| 成人免费不卡视频| 中文字幕免费在线不卡| 欧美日韩美女| 日韩精品中文字幕一区| 国产传媒在线看| 亚洲作爱视频| 亚洲一区二区三区乱码aⅴ| 毛片在线播放网站| 亚洲主播在线播放| 欧美wwwwwww| 国产日产精品一区二区三区四区的观看方式 | a天堂视频在线观看| 久久精品久久久| 国产成人福利网站| 人妻偷人精品一区二区三区| 一区二区中文字幕在线| 欧美日韩一区二区在线免费观看| 婷婷综合国产| 日韩一区二区久久久| 国产精品999在线观看| 国产高清在线精品| 午夜啪啪免费视频| 久久亚洲国产精品尤物| 亚洲欧美日韩一区二区在线| 劲爆欧美第一页| 激情国产一区二区| 亚洲国产精品综合| 免费欧美电影| 亚洲人成啪啪网站| www.com国产| av电影天堂一区二区在线| www.国产亚洲| 国内精品视频| 久久亚洲精品中文字幕冲田杏梨| 成人小视频在线播放| 久久午夜免费电影| 久草资源站在线观看| 国产在线播放精品| 久久久亚洲天堂| 成人久久久精品国产乱码一区二区| 亚洲日本在线视频观看| 亚洲欧美日本一区二区三区| 清纯唯美亚洲综合一区| 国产精品美女久久| 亚洲成a人v欧美综合天堂麻豆| 色噜噜偷拍精品综合在线| 少妇精品一区二区三区| 免费欧美日韩| 欧美精品中文字幕一区二区| 亚洲欧美se| 亚洲人午夜精品免费| 国产99免费视频| 国产欧美一区二区精品婷婷| 一本岛在线视频| 久久综合电影| 亚洲字幕一区二区| 黑人精品视频| 亚洲国产天堂网精品网站| 91午夜视频在线观看| 99re这里只有精品首页| 日韩a在线播放| 红桃视频在线观看一区二区| 国产精品亚洲美女av网站| 欧美日韩欧美| 精品少妇一区二区三区在线播放| www.av视频在线观看| 91一区二区三区在线观看| 99精品视频播放| 久久中文字幕av| 97视频中文字幕| 欧美少妇网站| 视频在线观看一区二区| www.爱爱.com| 欧美日韩美女在线观看| 波多野结衣一二三四区| 激情都市一区二区| 黄色片网址在线观看| 欧洲乱码伦视频免费| 成人久久久久爱| 国产精品高颜值在线观看| 国产一区二区三区欧美| xxxwww在线观看| 日韩欧美成人精品| 亚洲不卡在线播放| 91日韩一区二区三区| 中文字幕 日韩 欧美| 红桃视频国产精品| 日韩av一区二区三区在线| 精品视频一区二区三区| 日本午夜人人精品| 草莓福利社区在线| 国产午夜精品久久久 | 日韩精品国内| 欧美不卡在线观看| 日韩美女免费视频| 色爱综合区网| 在线观看国产欧美| 人妻夜夜爽天天爽| 欧美日本视频在线| 精品久久久久久久久久久久久久久久| 综合久久给合久久狠狠狠97色| 亚洲av成人片无码| 精品一区二区三区视频在线观看| 午夜免费福利小电影| 五月激情综合| 清纯唯美一区二区三区| 51vv免费精品视频一区二区| 国产精品视频一区二区三区四 | 99精品美女| 美日韩免费视频| 成人免费直播在线| 成人免费淫片aa视频免费| 日韩高清中文字幕一区二区| 欧美激情在线一区| sm国产在线调教视频| 中文字幕9999| 欧美人体大胆444www| 亚洲电影第1页| 不卡视频在线播放| 欧美精品九九99久久| 黄色av一区二区| 欧美日韩中文字幕日韩欧美| 久久久久久国产精品视频| 亚洲天堂精品在线观看| 中文字幕av久久爽一区| 久久综合久久综合亚洲| 国产二级一片内射视频播放| 国产精品一区二区你懂的| 欧美美女性视频| 日本亚洲免费观看| 亚洲国产精品毛片av不卡在线| 亚洲三级影院| 免费在线观看视频a| 在线成人av| 免费人成自慰网站| 激情国产一区| 亚洲中文字幕无码一区二区三区| 天天综合一区| 亚洲午夜激情| 99热精品久久| 一级一片免费播放| 欧美激情综合| 免费的av在线| 国产精品99一区二区| 激情五月六月婷婷| 国内精品久久久久久久影视蜜臀 | 狠狠色狠狠色综合人人| 波多野结衣欧美| 国产区二精品视| 精品五月天堂| 蜜桃视频成人| 欧美色图一区| 成人手机视频在线| 欧美日韩天堂| 日本国产在线播放| 久久激情网站| 国产精品视频中文字幕| 国产一区二区三区美女| 国产成人av免费观看| 成人avav在线| 国产特级黄色录像| 国产精品女主播在线观看| 婷婷久久综合网| 亚洲一区精品在线| yjizz国产| 欧美体内she精视频| 国产视频在线一区| 亚洲国产精品国自产拍av秋霞 | 不卡的av电影| 波多野结衣一本| 国产精品私人影院| 极品盗摄国产盗摄合集| 婷婷久久综合九色国产成人| 精品国产乱子伦| 欧美电影一区二区三区| 免费观看国产视频| 亚洲天堂2020| av大全在线| 日av在线播放中文不卡| 婷婷久久免费视频| 国产精品对白刺激久久久| 精品在线观看入口| 只有这里有精品| 亚洲深夜av| 欧美丝袜在线观看| 99精品1区2区| 日本爱爱小视频| 午夜精品久久久| 一级片视频网站| 亚洲国产天堂网精品网站| 天堂中文а√在线| 性欧美xxxx交| 日本一区二区中文字幕| 精品免费一区二区三区蜜桃| 91视频精品| 国产精品一区二区免费在线观看| 久久国产精品露脸对白| 真人bbbbbbbbb毛片| 亚洲人成伊人成综合网小说| 99久久久无码国产精品免费蜜柚| 日韩欧美资源站| 春暖花开成人亚洲区| 国内精品久久久久久| 国产精品久久乐| 欧美日韩亚洲一区二区三区在线观看 | 韩日av一区二区| 亚洲精品成人无码| 亚洲观看高清完整版在线观看 | 日韩av毛片在线观看| 天涯成人国产亚洲精品一区av| 国产精品毛片一区二区在线看舒淇| 精品视频—区二区三区免费| 中文字幕有码在线视频| 国产日韩在线看片| 欧洲福利电影| 国语对白做受xxxxx在线中国 | 少妇av片在线观看| 香蕉乱码成人久久天堂爱免费| 国产精品无码天天爽视频| 中文字幕日韩av综合精品| 欧亚av在线| 粉嫩av一区二区三区免费观看 | 91传媒久久久| 成人免费黄色大片| 久久久久久久国产视频| 日韩一区二区三区在线视频| 暖暖日本在线观看| 国产精品视频色| 欧美理论电影大全| 日韩欧美在线免费观看视频| 久久人人爽爽爽人久久久| 天海翼一区二区| 亚洲精品suv精品一区二区| 国产美女情趣调教h一区二区| 亚洲一区二区久久久久久 | 日日摸日日碰夜夜爽无码| 成人激情黄色小说| 国产真实的和子乱拍在线观看| 日韩午夜电影av| 中文字幕中文字幕在线中高清免费版| 91久久久久久久久久久| 999视频精品| 999在线精品视频| 亚洲欧美日韩久久| 国产喷水吹潮视频www| 久久不射热爱视频精品| 精品国产三区在线| 2021国产视频| 丰满放荡岳乱妇91ww| 91香蕉在线视频| 日韩精品一区二区三区第95| 成人影院入口| 日韩精品欧美一区二区三区| 日韩va欧美va亚洲va久久| 日韩欧美视频免费观看| 91精品在线一区二区| 色呦呦在线免费观看| 国产三级精品在线不卡| 亚洲影音一区| 呻吟揉丰满对白91乃国产区| 91精品欧美久久久久久动漫| 免费黄网站在线| 高清免费日韩| 美女精品一区| 亚洲欧美综合7777色婷婷| 日韩欧美电影在线| 秋霞伦理一区| 亚洲一区bb| 国产成人精品一区二区三区网站观看| 国产无遮挡又黄又爽又色| 亚洲欧美精品在线| 亚瑟国产精品| 欧美精品一区二区三区三州| 国产亚洲精品久| 国产美女无遮挡永久免费| 久久久亚洲影院| 成人在线丰满少妇av| 日本精品一二三| 色婷婷国产精品| 激情影院在线观看| 国产精品伊人日日| 日韩av中文在线观看| 久久久久亚洲AV成人| 亚洲欧美自拍一区| 国产精品视频一区视频二区| 男人和女人啪啪网站| 国产精品视频线看| 黄色福利在线观看| 国产精品都在这里| 精品91视频| 亚洲aaa视频| 日韩大陆毛片av| 91精品一区| 免费裸体美女网站| 亚洲午夜影视影院在线观看| 尤物网在线观看|