精品欧美一区二区三区在线观看 _久久久久国色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科技論談

收藏
回復
舉報
回復
相關推薦
久久国产精品 国产精品| 色偷偷偷综合中文字幕;dd| 日本一本中文字幕| 婷婷av一区二区三区| 视频在线观看91| 久久久999国产精品| 久久精品无码专区| 91在线成人| 亚洲一区在线免费观看| 久久综合九色99| 国产手机精品视频| 久久亚洲视频| 久久久女人电视剧免费播放下载| 国产高清一区二区三区四区| 中文字幕日韩高清在线| 在线日韩一区二区| 91黄色在线看| 麻豆影视国产在线观看| 久久久久久久久99精品| 91久久在线视频| 人妻丰满熟妇av无码区| 狠狠干综合网| 日韩在线欧美在线| 少妇久久久久久久久久| av成人app永久免费| 欧美网站一区二区| 国产日韩一区二区在线| 伊人电影在线观看| 中文字幕一区二区三区色视频| 精品日韩电影| 亚洲精品成人区在线观看| 久久99精品国产麻豆婷婷洗澡| 欧美自拍视频在线观看| 精品无码m3u8在线观看| 综合色一区二区| 中文字幕欧美精品在线| 成人精品999| 任你弄精品视频免费观看| 日韩欧美色综合| 三级av免费看| 国产成人久久精品一区二区三区| 欧美这里有精品| 午夜视频在线瓜伦| 外国成人直播| 在线视频亚洲一区| 日本新janpanese乱熟| 欧美成人影院| 色哟哟日韩精品| 成年人观看网站| 在线免费看h| 欧美性色19p| 国产三区在线视频| 裤袜国产欧美精品一区| 色999日韩国产欧美一区二区| 狠狠干 狠狠操| av最新在线| 亚洲国产aⅴ天堂久久| www污在线观看| 三级资源在线| 亚洲地区一二三色| 国产乱子伦农村叉叉叉| 日本在线高清| 91搞黄在线观看| 欧美日韩在线观看不卡| 日本电影久久久| 欧美一区二区三区四区五区| 亚洲免费观看在线| 精品久久97| 亚洲美女视频网| 亚洲ⅴ国产v天堂a无码二区| 成人一区二区| 免费99精品国产自在在线| 2021亚洲天堂| 亚洲精品社区| 国产成人综合精品在线| 亚洲视频中文字幕在线观看| 国产一区二区伦理| 国产九区一区在线| 你懂得网站在线| 国产精品女同一区二区三区| 50度灰在线观看| sm在线播放| 在线一区二区三区| 91网址在线观看精品| 成人福利一区| 亚洲色图35p| 亚洲综合视频网站| 99精品视频免费| 国产精品成人一区二区三区吃奶| 国产视频在线免费观看| 99国产精品久久久久久久久久久 | 99热精品一区二区| 欧美日韩一区二区视频在线观看 | 国产免费高清av| av网站免费线看精品| 欧美资源一区| 欧美bbbxxxxx| 欧美亚洲动漫另类| 性活交片大全免费看| 欧美男gay| 欧美精品免费看| 6080午夜伦理| 国产成人亚洲综合a∨婷婷图片| 麻豆av一区| 性欧美video高清bbw| 色综合久久综合网97色综合| 欧美高清精品一区二区| 久草在线成人| 久久久久久69| 国产又大又长又粗| 成人激情校园春色| 一道本在线观看视频| 欧美黄色网页| 精品国产免费久久| 情侣偷拍对白清晰饥渴难耐| 99热在线精品观看| 97免费资源站| 日本在线观看网站| 色噜噜狠狠成人网p站| 95视频在线观看| 一区二区三区午夜视频| 国产成人免费av| 免费观看黄色av| 亚洲人成电影网站色mp4| 手机看片福利盒子久久| 久久99精品久久久久久欧洲站| 欧美成人精品激情在线观看| 在线观看黄色国产| 久久精品亚洲一区二区三区浴池| 久久久久久久中文| 盗摄牛牛av影视一区二区| 久久综合色影院| 亚洲一区 中文字幕| 国产视频视频一区| 人妻有码中文字幕| 日韩欧美在线精品| 97视频在线观看播放| 国精品人妻无码一区二区三区喝尿 | 日韩亚洲精品在线| 99国产高清| 91cn在线观看| 日韩午夜小视频| 视频这里只有精品| 国产一区二区伦理| 中国女人做爰视频| 日韩有吗在线观看| 欧美另类老女人| www.桃色av嫩草.com| 1024精品合集| 韩国一区二区在线播放| 亚洲成人国产| 91亚洲精品视频| 在线观看三级视频| 日韩精品一区二区三区四区 | 亚洲精品欧美| 国内精品**久久毛片app| 久草在线中文最新视频| 日韩精品中文字幕视频在线| 久久久久久少妇| 久久久久久97三级| 国产主播中文字幕| 99九九热只有国产精品| 92看片淫黄大片看国产片| av中文字幕在线观看| 精品少妇一区二区三区视频免付费| 久青草视频在线观看| 99视频热这里只有精品免费| 37pao成人国产永久免费视频| 久久99国内| 国产色婷婷国产综合在线理论片a| 黄页视频在线播放| 亚洲国产精久久久久久| 青青青国产在线 | 亚洲精品久久久久久久久久久久久| 国产精品a成v人在线播放| 91性感美女视频| 在线观看的毛片| 亚洲精品一区二区在线看| 99九九视频| 亚洲妇女成熟| 久久精品久久久久久国产 免费| 亚洲国产www| 欧美日韩在线影院| 天海翼在线视频| av激情综合网| 国产三级国产精品国产专区50| 欧美福利网址| 日韩精品一线二线三线| 久久精品九色| 国产精品∨欧美精品v日韩精品| 成人免费高清| 亚洲美女精品久久| 国产成人三级一区二区在线观看一 | 国产成人精品亚洲男人的天堂| 久久女同性恋中文字幕| 不用播放器的免费av| 一区二区三区成人精品| 中文字幕中文字幕在线中一区高清| 第一区第二区在线| 成人免费xxxxx在线观看| 99riav视频在线观看| 久久精品国产91精品亚洲| 天堂av中文字幕| 欧美一区二区久久| 国产美女www爽爽爽| 亚洲宅男天堂在线观看无病毒| 中国女人特级毛片| 波多野结衣亚洲一区| 天天看片天天操| 国产精品尤物| 男人添女人下部视频免费| 精品国产视频| 亚洲最大福利视频| 69堂免费精品视频在线播放| 午夜精品久久久久久久99热| av官网在线播放| 中文字幕精品av| 欧美女优在线观看| 亚洲电影成人av99爱色| av中文字幕第一页| 911精品产国品一二三产区| 男人的天堂av网站| 一本色道久久综合精品竹菊| 欧美一级高潮片| 亚洲精品v日韩精品| 我要看一级黄色录像| 久久久久国色av免费看影院| 久久人人爽人人人人片| 成人高清免费观看| 师生出轨h灌满了1v1| 国产乱国产乱300精品| 色噜噜狠狠一区二区| 日本欧美一区二区三区乱码| 可以在线看的黄色网址| 亚洲尤物精选| 欧美黑人经典片免费观看| 亚洲小说欧美另类婷婷| 成人毛片100部免费看| 欧美一区二区| 91成人在线视频观看| 亚洲情侣在线| 免费观看国产视频在线| 亚洲精品国产成人影院| a级网站在线观看| 伊人青青综合网| 国产精品12p| 中文字幕免费一区二区| 中文字幕乱码免费| 欧美天堂亚洲电影院在线观看| 神马午夜伦理影院| 欧美日韩综合| 给我免费播放片在线观看| 日韩午夜高潮| 日韩激情免费视频| 日日夜夜精品视频天天综合网| 欧美aⅴ在线观看| 三级影片在线观看欧美日韩一区二区| 波多野结衣50连登视频| 日日骚欧美日韩| 亚洲精品自拍网| 国产传媒欧美日韩成人| 扒开伸进免费视频| 久久先锋影音av鲁色资源| 色婷婷在线影院| 国产精品久久毛片| 欧美日韩三级在线观看| 亚洲国产欧美日韩另类综合| 黄色大片网站在线观看| 在线观看一区二区精品视频| 一二三区在线播放| 精品奇米国产一区二区三区| 午夜黄色小视频| 一道本无吗dⅴd在线播放一区| 日本在线免费| 久久免费国产视频| 韩国成人在线| 99国产在线| 久久99久久人婷婷精品综合| 日本女人高潮视频| 日韩香蕉视频| 五月天开心婷婷| www.色精品| 欧美日韩国产黄色| 亚洲国产美女搞黄色| 香蕉污视频在线观看| 欧美大片日本大片免费观看| 青青草观看免费视频在线| 久久久成人av| 97久久香蕉国产线看观看| 91亚洲精品久久久| 自拍亚洲一区| 日韩不卡视频一区二区| 美女久久网站| 免费黄视频在线观看| 国产女人18毛片水真多成人如厕| 日韩a级片在线观看| 在线视频欧美精品| 欧美 日韩 国产 在线| 中文字幕久久亚洲| 欧美gv在线观看| 亚洲a一级视频| 热久久天天拍国产| 欧美一区二区三区爽大粗免费| 久久电影网电视剧免费观看| 香蕉网在线播放| 亚洲自拍偷拍网站| 一区二区日韩在线观看| 日韩久久精品电影| 日本中文字幕中出在线| 国产精品免费看久久久香蕉| 久久99精品国产自在现线| 老司机午夜网站| 久久成人综合网| 国产又粗又猛又爽视频| 午夜精品视频一区| 国产成人精品一区二三区四区五区 | 怡红院av在线| 成人妇女淫片aaaa视频| 国产亚洲精品美女久久久久久久久久| 男人添女人荫蒂免费视频| 精品一区二区三区香蕉蜜桃| 久久国产精品影院| 天天操天天色综合| 国产成人精品免费看视频| 俺也去精品视频在线观看| 91成人抖音| 日日夜夜精品网站| 久久亚洲图片| 欧洲女同同性吃奶| 欧美日韩亚洲国产一区| 动漫av一区二区三区| 九九热精品视频国产| 日韩精品免费视频一区二区三区 | 在线成人欧美| 又大又长粗又爽又黄少妇视频| 亚洲视频每日更新| 国产乱码精品一区二区| 日韩色av导航| 91精品亚洲一区在线观看| 亚洲视频小说| 精品影视av免费| 91麻豆精品成人一区二区| 555夜色666亚洲国产免| 国产精品刘玥久久一区| 亚洲xxx大片| 禁久久精品乱码| 久久久久亚洲AV成人网人人小说| 亚洲一级片在线观看| 亚洲欧美激情国产综合久久久| 欧美丰满片xxx777| 一区二区三区四区视频免费观看| 精品国产一区二区三区无码| 成人午夜电影久久影院| 国产精品.www| 日韩精品久久久久| 欧美亚洲大片| 宅男一区二区三区| 国产一区二区三区四| 国产午夜精品无码| 亚洲精品视频中文字幕| 粉嫩91精品久久久久久久99蜜桃| 一区二区三区在线视频111| 国产综合色视频| 国产亚洲欧美精品久久久www| 亚洲成人网久久久| 日韩av福利| 一区二区三区三区在线| 国产69精品久久99不卡| 800av免费在线观看| 国产亚洲欧美日韩美女| 色综合视频一区二区三区日韩| 男同互操gay射视频在线看| 成人av动漫在线| 91丨九色丨海角社区| 久久精品一区中文字幕| 精品亚洲自拍| 99re精彩视频| 午夜视频在线观看一区二区 | 女人另类性混交zo| 中文字幕制服丝袜成人av| 亚洲精品久久久狠狠狠爱| 日本成熟性欧美| 亚洲欧洲美洲一区二区三区| 精品黑人一区二区三区观看时间| 欧美色大人视频| 第四色日韩影片| 日韩成人av网站| 高清shemale亚洲人妖| 日韩精选在线观看| 欧美肥老妇视频| 日韩片欧美片| 精品中文字幕在线播放| 日韩毛片免费观看| 国产精品日韩欧美一区二区三区| 久热精品在线| 黄色一级视频在线观看| 国产亚洲福利一区| 最新国产精品精品视频| 四季av一区二区| 狠狠色狠狠色综合日日五|