再談Text Embedding—Matryoshka Representation Learning

2024年2月6日 26点热度 0人点赞

最近OpenAI 推出了第三代Text Embedding 技術,支持可變維度的Embedding向量輸出,在降低嵌入維度的情況下,能保證不丟失較多的檢索精度.

Matryoshka Representation Learning 算法訓練損失圖

其背後用到 MRL(Matryoshka Representation Learning)算法被大傢扒了出來,MRL適用於任何表示學習設置,並通過在O(log(d))個選定表示大小上優化原始損失L(.)來產生 MLR 表示 z。Matryoshka Representation可以有效地用於跨環境和下遊任務的自適應部署。

MRL 算法可以無縫擴展到Web規模的數據集,如視覺(ViT,ResNet),視覺 語言(ALIGN)和語言(BERT)等原本Embedding 模型生態;核心要做的隻是在當前生態模型生態Embedding 輸出上,修改 Loss 函數設計:

MLR 算法loss 函數

具體對上述損失函數解釋如下:

訓練數據:

訓練數據

z 的定義

MRL通過一個深度神經網絡F來學習一個d維的表示向量z, 這裡的d 表示模型的最大表示維度;

M 表示嵌入維度大小的采樣

接下來介紹矩陣W,這裡W 的選取有兩種方式,對應著論文的MLR、MLR-E(參數高校)

MLR 算法:

這裡對每個m,w 獨自初始化不同的參數

L 表示要分類輸出的個數,m 取自上面定義的M

MLR-E 算法:

這裡取自共享的矩陣W

W 為共享矩陣

具體實現論文給出了線性層的實現,損失函數的定義;感興趣的可以自行閱讀相關論文.

在實驗部分,作者給出了M 維度選擇的理由,隨著M表示大小的增加,準確性的提高更多是對數而不是線性的。這表明優化非對數遞增的粒度將在最大性能和預期效率方面都是次優的;作者在滿足均勻分佈的 M 數組上進行實驗,MRL-Uniform的更高嵌套維度並沒有幫助顯著提高嵌入準確性。

另外本文實驗更多是在圖像嵌入數據上MLR 算法表現比其他算法更優,然後再文本算嵌入算法上,在沒有太多參數微調上,BERT-MLR 和BERT-FF 算法有0.5% 的降低;機器學習搬運工相信,OpenAI 應該做出了較大的改進調優在文本嵌入的應用上,因為原本論文在2022年10月發表.今天就講這麼多,謝謝大傢.