1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        【NLP】向量檢索模型落地:瓶頸及解法!

        共 3206字,需瀏覽 7分鐘

         ·

        2022-02-17 05:54

        作者?|?Maple小七?

        整理?|?NewBeeNLP

        稠密向量檢索巨大的內(nèi)存占用一直是限制其落地的一大瓶頸。實(shí)際上,DPR生成的768維稠密向量存在大量冗余信息,我們可以通過某種壓縮方法以少量的精度損失換取內(nèi)存占用的大幅下降。

        今天分享一篇來自EMNLP 2021的論文,討論了三種簡單有效的壓縮方法:

        • 無監(jiān)督PCA降維
        • 有監(jiān)督微調(diào)降維
        • 乘積量化

        實(shí)驗(yàn)結(jié)果表明簡單的PCA降維有著很高的性價(jià)比,能夠以少于3%的top-100準(zhǔn)確度損失換取48倍的壓縮比,以少于4%的top-100準(zhǔn)確度損失換取96倍的壓縮比。

        • Simple and Effective Unsupervised Redundancy Elimination to Compress Dense Vectors for Passage Retrieval

        Introduction

        近兩年來,以DPR為代表的稠密向量檢索模型在開放域問答等領(lǐng)域得到了廣泛的應(yīng)用。雖然DPR能夠提供更準(zhǔn)確的檢索結(jié)果,但DPR所生成的向量索引的內(nèi)存占用是很大的。

        比如當(dāng)我們對(duì)維基百科建立索引時(shí),基于倒排索引的BM25僅占用2.4GB的內(nèi)存,而DPR生成的768維稠密向量則需要占用61GB的內(nèi)存,這比BM25足足多出了24倍,而這多出的24倍的內(nèi)存在多個(gè)數(shù)據(jù)集上僅換取了平均2.5%的指標(biāo)提升(Top-100 Accuracy)。

        可以猜測的是,DPR生成的768維稠密向量或許太大了,可能是存在大量冗余的,我們可以嘗試用少量的精度損失換取內(nèi)存占用的大幅下降。針對(duì)這個(gè)問題,本文探索了三種簡單有效的稠密向量壓縮方法,包括主成分分析(Principal Component Analysis, PCA)、乘積量化(Product Quantization, PQ)和有監(jiān)督降維(Supervised Dimensionality Reduction)。

        Quantifying Redundancy

        首先,我們先確認(rèn)DPR稠密向量是否存在冗余,作者給出了兩個(gè)常用指標(biāo):PCA的「解釋方差比」(explained variance ratio),以及「互信息」(mutual information)。

        PCA利用特征分解將一組可能存在相關(guān)性的向量變換到線性無關(guān)的特征向量構(gòu)成的的坐標(biāo)系下,并保留方差較大的方向,丟棄方差較小的方向,而解釋方差比則是度量PCA降維效果的指標(biāo):

        其中是從大到小第個(gè)的特征值對(duì)應(yīng)的方差,分別表示PCA降維前和降維后的維度。該比值說明了保留前個(gè)特征向量能保留原始稠密向量方差的比例。

        另一種衡量向量冗余度的方法是計(jì)算的互信息,互信息可以根據(jù)公式得到:

        其中可以利用DPR的優(yōu)化目標(biāo)近似計(jì)算:

        互信息的上界是,為了和PCA對(duì)比,我們可以對(duì)互信息做標(biāo)準(zhǔn)化。

        經(jīng)過不同程度的PCA降維,解釋方差比和標(biāo)準(zhǔn)互信息隨向量維度的變化趨勢如下圖所示。我們可以發(fā)現(xiàn),200維左右是一個(gè)甜區(qū),「將768維的向量降維到200維,降維后的向量能夠保留90%的方差和99%的互信息,而進(jìn)一步降維會(huì)導(dǎo)致信息量的急速下降?!?/strong>

        Dense Vector Compression

        接下來,我們嘗試三種簡單的方法來壓縮稠密向量:

        • 「Supervised Approach:」 我們可以簡單地在雙塔編碼器的頂部分別增加兩個(gè)線性層

          來降維,在訓(xùn)練時(shí)可以凍結(jié)下層參數(shù),僅微調(diào)線性層,同時(shí)我們還可以增加一個(gè)正交規(guī)范化損失鼓勵(lì)互相正交,這能使得降維后的點(diǎn)積相似度和降維前的scale是一致的。


        • 「Unsupervised Approach:」 我們可以將混在一起,然后對(duì)這一向量集擬合一個(gè)線性PCA變換,在推理階段,使用擬合到的PCA變換對(duì)DPR生成的向量進(jìn)行降維。

        • 「Product Quantization:」 我們還可以使用乘積量化來進(jìn)一步壓縮向量大小,其基本原理是將維的向量分解成個(gè)子向量,每個(gè)子向量采用-means量化,并使用比特存儲(chǔ)。比如,一個(gè)維的向量占用了比特,通過將其分解為個(gè)比特的子向量,該向量的大小便壓縮到了比特,即原始大小的,平均來說,每個(gè)維度所占用的比特?cái)?shù)從降低到了。

        Experiment & Results

        作者在NQ、TriviaQA、WQ、CuratedTREC、SQuAD上測試了DPR的top-準(zhǔn)確率(前個(gè)召回結(jié)果中至少有一個(gè)正確的比例),實(shí)驗(yàn)細(xì)節(jié)可參見原文。

        Dimensionality Reduction

        我們首先對(duì)比有監(jiān)督降維和無監(jiān)督降維的表現(xiàn),其中PCA-*Linear-*分別是無監(jiān)督PCA降維和有監(jiān)督微調(diào)降維(僅微調(diào)線性層)的結(jié)果,而DPR-*表示不凍結(jié)下層參數(shù),與線性層聯(lián)合微調(diào)的結(jié)果。可以發(fā)現(xiàn),在向量維度較大的時(shí)候(、),無監(jiān)督PCA的表現(xiàn)更好,當(dāng)向量維度較小的時(shí)候(),有監(jiān)督微調(diào)的表現(xiàn)會(huì)更好,然而這時(shí)候模型性能下降得也非常明顯,因此總體來說無監(jiān)督PCA更有實(shí)用價(jià)值。

        雖然理論上Linear-*可以學(xué)習(xí)到PCA-*擬合的線性映射,但想要讓參數(shù)收斂到一個(gè)好的解并不簡單。另外,凍結(jié)下層參數(shù)(Linear-*)比不凍結(jié)(DPR-*)的結(jié)果都要好,這同樣是訓(xùn)練不充分所導(dǎo)致的。綜上,在大多數(shù)情況下,我們僅需要做簡單的線性PCA變換,就能獲取很不錯(cuò)的壓縮比了。

        Product Quantization

        乘積量化是一種非常有效的壓縮方法,作者在上述實(shí)驗(yàn)結(jié)果的基礎(chǔ)上進(jìn)一步加入了乘積量化,實(shí)驗(yàn)結(jié)果如下表所示,其中PQ-2表示經(jīng)過量化之后每個(gè)維度所占用的比特?cái)?shù)為。從下表可以看出,PQ-1壓縮過于激進(jìn)了,雖然其壓縮比是PQ-2的兩倍,但指標(biāo)下降卻不止兩倍,這是很不劃算的。

        綜上,我們認(rèn)為PCA降維加乘積量化是最好的壓縮方式,如果我們將指標(biāo)下降幅度限制在平均4%以內(nèi),我們可以使用PCA-128+PQ2將稠密向量壓縮96倍,將維基百科的向量索引的內(nèi)存占用從61GB降低到642MB,同時(shí)將推理時(shí)間從7570ms降低到416ms。

        Hybrid Search

        大量研究已表明結(jié)合稀疏向量檢索(BM25)和稠密向量檢索能夠提升性能,其中最簡單有效的方法是對(duì)分?jǐn)?shù)做線性加權(quán)求和:

        這里我們簡單地設(shè)定,即稠密檢索和稀疏檢索等權(quán)。

        加入混合檢索可以進(jìn)一步提升性能,下圖展示了不同壓縮方法的檢索準(zhǔn)確率和索引大小的關(guān)系,其中每條曲線從左到右依次為PQ1、PQ2w/o PQ,圖中的黑色虛線為帕累托邊界,原始的768維DPR向量并沒有落在帕累托邊界上,表明其的確有改進(jìn)的空間。具體來說,「PCA-256+PQ2+Hybrid Search的壓縮策略將61GB的索引大小降低到了3.7GB,其Top-100準(zhǔn)確率甚至比原始DPR更好(+0.2%)?!?/strong>

        Discussion

        限制稠密向量檢索模型落地的一大瓶頸就是推理時(shí)延和內(nèi)存消耗的問題,這篇論文通過實(shí)驗(yàn)證明了簡單的主成分分析加上乘積量化,在輔以稀疏向量檢索,就能在保證準(zhǔn)確度的前提下大幅減少內(nèi)存占用,提升檢索速度,頗具實(shí)用價(jià)值。

        一起交流

        想和你一起學(xué)習(xí)進(jìn)步!『NewBeeNLP』目前已經(jīng)建立了多個(gè)不同方向交流群(機(jī)器學(xué)習(xí) / 深度學(xué)習(xí) / 自然語言處理 / 搜索推薦 / 圖網(wǎng)絡(luò) / 面試交流 /?等),名額有限,趕緊添加下方微信加入一起討論交流吧?。ㄗ⒁庖欢╫要備注信息才能通過)

        -?END?-




        萬物皆可Graph | 當(dāng)推薦系統(tǒng)遇上圖神經(jīng)網(wǎng)絡(luò)(四)

        2022-02-07

        業(yè)界分享 | 美團(tuán)搜索排序?qū)嵺`

        2022-01-28

        硬核!一文梳理經(jīng)典圖網(wǎng)絡(luò)模型

        2022-01-25

        從 Google 離職了!

        2022-01-16




        瀏覽 72
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

          <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产亲子乱婬一级A片借种 | 欧美精品影院 | 国产精彩无码视频 | 尻屄视频大全 | 深夜福利欧美 | www.天天日 | 99爱精品免费 | 欧美久久久久久久 | 小舞被各种性器折磨哭求饶的视频 | 丁香五月婷婷激情中文 |