展會信息港展會大全

擊敗OpenAI,權(quán)重、數(shù)據(jù)、代碼全開源,能完美復(fù)現(xiàn)的嵌入模型Nomic Embed來了
來源:互聯(lián)網(wǎng)   發(fā)布日期:2024-02-03 18:33:15   瀏覽:10824次  

導(dǎo)讀:機(jī)器之心報道 編輯:陳萍、小舟 模型參數(shù)量只有 137M,5 天就能訓(xùn)練好。 一周前,OpenAI 給廣大用戶發(fā)放福利,在下場修復(fù) GPT-4 變懶的問題后,還順道上新了 5 個新模型,其中就包括更小且高效的 text-embedding-3-small 嵌入模型。 我們知道,嵌入是表示自...

機(jī)器之心報道

編輯:陳萍、小舟

模型參數(shù)量只有 137M,5 天就能訓(xùn)練好。

一周前,OpenAI 給廣大用戶發(fā)放福利,在下場修復(fù) GPT-4 變懶的問題后,還順道上新了 5 個新模型,其中就包括更小且高效的 text-embedding-3-small 嵌入模型。

我們知道,嵌入是表示自然語言或代碼等內(nèi)容中概念的數(shù)字序列。嵌入使得機(jī)器學(xué)習(xí)模型和其他算法更容易理解內(nèi)容之間的關(guān)聯(lián),也更容易執(zhí)行聚類或檢索等任務(wù)。可見,嵌入在 NLP 領(lǐng)域是非常重要的。

不過,OpenAI 的嵌入模型并不是免費給大家使用的,比如 text-embedding-3-small 的收費價格是每 1k tokens 0.00002 美元。

現(xiàn)在,比 text-embedding-3-small 更好的嵌入模型來了,并且還不收費。

AI 初創(chuàng)公司 Nomic AI 宣布推出 Nomic Embed,這是首個開源、開放數(shù)據(jù)、開放權(quán)重、開放訓(xùn)練代碼、完全可復(fù)現(xiàn)和可審核的嵌入模型,上下文長度為 8192,在短上下文和長上下文基準(zhǔn)測試中擊敗 OpenAI text-embeding-3-small 和 text-embedding-ada-002。

文本嵌入是現(xiàn)代 NLP 應(yīng)用程序的一個組成部分,為 LLM 和語義搜索提供了檢索增強(qiáng)生成 (RAG)。該技術(shù)將有關(guān)句子或文檔的語義信息編碼為低維向量,然后用于下游應(yīng)用程序,例如用于數(shù)據(jù)可視化、分類和信息檢索的聚類。目前,最流行的長上下文文本嵌入模型是 OpenAI 的 text-embedding-ada-002,它支持 8192 的上下文長度。不幸的是,Ada 是閉源的,并且訓(xùn)練數(shù)據(jù)不可審計。

不僅如此,性能最佳的開源長上下文文本嵌入模型(例如 E5-Mistral 和 jina-embeddings-v2-base-en)要么由于模型大小而不適合通用用途,要么無法超越其 OpenAI 對應(yīng)模型的性能。

Nomic-embed 的發(fā)布改變了這一點。該模型的參數(shù)量只有 137M ,非常便于部署,5 天就訓(xùn)練好了。

論文地址:https://static.nomic.ai/reports/2024_Nomic_Embed_Text_Technical_Report.pdf

論文題目:Nomic Embed: Training a Reproducible Long Context Text Embedder

項目地址:https://github.com/nomic-ai/contrastors

如何構(gòu)建 nomic-embed

現(xiàn)有文本編碼器的主要缺點之一是受到序列長度限制,僅限于 512 個 token。為了訓(xùn)練更長序列的模型,首先要做的就是調(diào)整 BERT,使其能夠適應(yīng)長序列長度,該研究的目標(biāo)序列長度為 8192。

訓(xùn)練上下文長度為 2048 的 BERT

該研究遵循多階段對比學(xué)習(xí) pipeline 來訓(xùn)練 nomic-embed。首先該研究進(jìn)行 BERT 初始化,由于 bert-base 只能處理最多 512 個 token 的上下文長度,因此該研究決定訓(xùn)練自己的 2048 個 token 上下文長度的 BERTnomic-bert-2048。

受 MosaicBERT 的啟發(fā),研究團(tuán)隊對 BERT 的訓(xùn)練流程進(jìn)行了一些修改,包括:

使用旋轉(zhuǎn)位置嵌入來允許上下文長度外推;

使用 SwiGLU 激活,因為它已被證明可以提高模型性能;

將 dropout 設(shè)置為 0。

并進(jìn)行了以下訓(xùn)練優(yōu)化:

使用 Deepspeed 和 FlashAttention 進(jìn)行訓(xùn)練;

以 BF16 精度進(jìn)行訓(xùn)練;

將詞表(vocab)大小增加到 64 的倍數(shù);

訓(xùn)練的批大小為 4096;

在掩碼語言建模過程中,掩碼率為 30%,而不是 15%;

不使用下一句預(yù)測目標(biāo)。

訓(xùn)練時,該研究以最大序列長度 2048 來訓(xùn)練所有階段,并在推理時采用動態(tài) NTK 插值來擴(kuò)展到 8192 序列長度。

實驗

該研究在標(biāo)準(zhǔn) GLUE 基準(zhǔn)上評估了 nomic-bert-2048 的質(zhì)量,發(fā)現(xiàn)它的性能與其他 BERT 模型相當(dāng),但具有顯著更長的上下文長度優(yōu)勢。

nomic-embed 的對比訓(xùn)練

該研究使用 nomic-bert-2048 初始化 nomic-embed 的訓(xùn)練。對比數(shù)據(jù)集由約 2.35 億文本對組成,并在收集過程中使用 Nomic Atlas 廣泛驗證了其質(zhì)量。

在 MTEB 基準(zhǔn)上,nomic-embed 的性能優(yōu)于 text-embedding-ada-002 和 jina-embeddings-v2-base-en。

然而,MTEB 不能評估長上下文任務(wù)。因此,該研究在最近發(fā)布的 LoCo 基準(zhǔn)以及 Jina Long Context 基準(zhǔn)上評估了 nomic-embed。

對于 LoCo 基準(zhǔn),該研究按照參數(shù)類別以及評估是在監(jiān)督或無監(jiān)督設(shè)置中執(zhí)行的分別進(jìn)行評估。

如下表所示,Nomic Embed 是性能最佳的 100M 參數(shù)無監(jiān)督模型。值得注意的是,Nomic Embed 可與 7B 參數(shù)類別中表現(xiàn)最好的模型以及專門針對 LoCo 基準(zhǔn)在監(jiān)督環(huán)境中訓(xùn)練的模型媲美:

在 Jina Long Context 基準(zhǔn)上,Nomic Embed 的總體表現(xiàn)也優(yōu)于 jina-embeddings-v2-base-en,但 Nomic Embed 在此基準(zhǔn)測試中的表現(xiàn)并不優(yōu)于 OpenAI ada-002 或 text-embedding-3-small:

總體而言,Nomic Embed 在 2/3 基準(zhǔn)測試中優(yōu)于 OpenAI Ada-002 和 text-embedding-3-small。

該研究表示,使用 Nomic Embed 的最佳選擇是 Nomic Embedding API,獲得 API 的途徑如下所示:

最后是數(shù)據(jù)訪問:為了訪問完整數(shù)據(jù),該研究向用戶提供了 Cloudflare R2 (類似 AWS S3 的對象存儲服務(wù))訪問密鑰。要獲得訪問權(quán)限,用戶需要先創(chuàng)建 Nomic Atlas 帳戶并按照 contrastors 存儲庫中的說明進(jìn)行操作。

contrastors 地址:https://github.com/nomic-ai/contrastors?tab=readme-ov-file#data-access

參考鏈接:

https://blog.nomic.ai/posts/nomic-embed-text-v1

贊助本站

人工智能實驗室
相關(guān)內(nèi)容
AiLab云推薦
推薦內(nèi)容
展開

熱門欄目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能實驗室 版權(quán)所有    關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 公司動態(tài) | 免責(zé)聲明 | 隱私條款 | 工作機(jī)會 | 展會港