<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          用 PaddleNLP 打造一款「論文檢索」神器,萬方數(shù)據(jù)再放大招!

          共 3240字,需瀏覽 7分鐘

           ·

          2021-09-13 23:00

          公眾號關(guān)注 “機器學習初學者”

          設(shè)為 “星標”,每天精彩內(nèi)容推送!

          又是一年開學季,看著大批莘莘學子步入高校,同時又有大批學生即將面臨畢業(yè),這一年要飽受論文的洗禮。在學術(shù)論文領(lǐng)域,幾乎每一位大學生都避不開論文檢索、查重環(huán)節(jié)。想寫出一篇高質(zhì)量論文,前期大量的信息儲備必不可少,而文獻檢索成為我們獲取信息的重要途徑。
          萬方數(shù)據(jù)知識服務(wù)平臺以客戶需求為導(dǎo)向,整合了數(shù)億條全球優(yōu)質(zhì)知識資源,依托強大的數(shù)據(jù)采集能力,應(yīng)用先進的信息處理技術(shù)和檢索技術(shù),為決策主體、科研主體、創(chuàng)新主體提供高質(zhì)量的信息資源產(chǎn)品。
          今天就來聊聊,我們?nèi)绾问褂冒俣蕊w槳 PaddleNLP 升級論文檢索系統(tǒng)。

          業(yè)務(wù)背景

          萬方論文檢索系統(tǒng)的核心問題是文本匹配任務(wù),這個系統(tǒng)需要在數(shù)億條知識資源中,基于檢索匹配算法,根據(jù)用戶的檢索詞快速地在海量文獻中查找相似文獻。
          在系統(tǒng)任務(wù)執(zhí)行過程中,檢索詞和文獻的相關(guān)性會直接反映到結(jié)果頁面的排序上面,而排序準確率直接影響著用戶的搜索決策效率和搜索體驗。因此,快速且準確地刻畫檢索詞和文檔之間的深度語義相關(guān)性至關(guān)重要。
          然而,面對海量數(shù)據(jù)和頻繁的用戶搜索請求,同時解決高速和高效問題,給萬方文獻檢索系統(tǒng)帶來了諸多挑戰(zhàn):
          難點 1— 標注數(shù)據(jù)少:由于人力資源緊張無法對系統(tǒng)中海量的數(shù)據(jù)資源進行標注,如何利用海量無監(jiān)督數(shù)據(jù),自動生成弱監(jiān)督數(shù)據(jù)?
          難點 2— 很難精準計算語義相似度:如何準確計算用戶檢索詞和文獻之間的相似度?
          難點 3— 檢索時效性差:面對海量資源和不斷增長的用戶需求,如何快速、高效得找到相關(guān)文獻也是一大挑戰(zhàn)。
          除了檢索場景外,論文查重、相似論文推薦的核心方法也是文本相似度計算。在這些業(yè)務(wù)上,我們經(jīng)歷了長期的探索,最終使用飛槳。得益于 PaddleNLP 豐富的中文預(yù)訓練模型,面向工業(yè)級場景的模型選型與部署能力,使得我們非常高效的搭建了端到端工業(yè)級的文本向量學習和計算環(huán)境,實現(xiàn)了學術(shù)檢索系統(tǒng)的多方面升級。

          技術(shù)選型和項目實踐

          飛槳在產(chǎn)業(yè)實踐方面提供了強悍的產(chǎn)品功能和技術(shù)支持,我們基于 PaddleNLP 中豐富前沿的預(yù)訓練模型、使用 Paddle Serving 實現(xiàn)了服務(wù)端的快速部署,解決了實際業(yè)務(wù)落地中的痛點。
          我們通過 PaddleNLP 提供的高質(zhì)量中文預(yù)訓練 Word Embedding 構(gòu)造訓練數(shù)據(jù)標簽,結(jié)合 SimCSE 以及飛槳深度優(yōu)化過的文本匹配預(yù)訓練模型 Sentence-BERT,大幅提升了算法精度。
          在模型性能方面,我們采用了多線程數(shù)據(jù)預(yù)處理、模型降層、TensorRT 部署。成熟開發(fā)工具的選用,極大地降低了應(yīng)用深度學習技術(shù)進行產(chǎn)業(yè)落地的難度。
                                  技術(shù)方案整體架構(gòu)圖
          我們的技術(shù)方案整體架構(gòu)圖如上所示。概括來說,主要包括三部分:構(gòu)造數(shù)據(jù)、模型選擇和產(chǎn)業(yè)部署。
          1. 構(gòu)造數(shù)據(jù)
          萬方業(yè)務(wù)積累了海量的無監(jiān)督數(shù)據(jù),但是標注數(shù)據(jù)極少。我們使用 PaddleNLP 開源的高質(zhì)量中文預(yù)訓練詞向量,快速構(gòu)建了弱監(jiān)督的相似文本匹配數(shù)據(jù),節(jié)省了大量的人力標注成本。
          為了數(shù)據(jù)指標的進一步提升,我們還采用了無監(jiān)督語義匹配模型 SimCSE。
          此外,萬方搜索系統(tǒng)積累了大量用戶行為日志數(shù)據(jù)(如瀏覽、點擊、閱讀、下載等),我們也從業(yè)務(wù)角度篩選出了大量監(jiān)督數(shù)據(jù)。
          SimCSE 參考:https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/text_matching/simcse
          2. 模型選擇
          關(guān)于文本相似度計算,我們使用過字面匹配、word2vec、FastText 等方法,都無法學到足夠精度的文本語義表示。我們知道百度在搜索場景有豐富的技術(shù)積累,也關(guān)注到 PaddleNLP 里集成了 ERNIE、BERT 等一系列預(yù)訓練語義模型,并且針對檢索場景給出了系統(tǒng)化方案。
          近年來,以 BERT、ERNIE 為代表的預(yù)訓練語言模型成為 NLP 任務(wù)的主流模型。
          Sentence-BERT 使用孿生網(wǎng)絡(luò)結(jié)構(gòu),在 BERT 模型的基礎(chǔ)上進行 Fine-Tune,引入(DSSM)雙塔模型,符合我們的業(yè)務(wù)場景,因此我們選擇該模型作為我們的基準模型。
          較 FastText 模型,Sentence-BERT 的匹配效果提升了 70%,用戶的整體體驗大幅度提高。
          我們將數(shù)據(jù)庫中的文獻預(yù)先通過 Sentence-BERT 計算得到文獻向量后,通過開源向量數(shù)據(jù)庫 Milvus 建立索引庫,快速召回相似向量,減少了檢索系統(tǒng)的響應(yīng)時間。
          Sentence-BERT 參考:https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/text_matching/sentence_transformers
          語義索引策略參考:https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/semantic_indexing
          3. 產(chǎn)業(yè)部署
          線上檢索系統(tǒng)尤其需要考慮快速響應(yīng)需求。Sentence-BERT 12 層 Transfomer 結(jié)構(gòu),具有龐大的參數(shù)量和計算量,在部署上線時面臨響應(yīng)實時性的巨大挑戰(zhàn)。
          為了滿足線上業(yè)務(wù)對于性能上的要求,我們通過飛槳原生推理庫 Paddle Inference 結(jié)合飛槳服務(wù)化部署框架 Paddle Serving 進行推理預(yù)測。
          在不損失精度的前提下,我們將 Sentence-BERT 從 12 層壓縮至 6 層,并結(jié)合了 TensorRT 加速等優(yōu)化手段,使得 QPS 達到 2600,超預(yù)期完成了目標。

          延伸 – 檢索場景整體方案

          以上我們參考了 PaddleNLP 檢索場景整體方案,其主要包括領(lǐng)域預(yù)訓練 (Post-Training)、語義匹配和語義索引三大部分。
          • 領(lǐng)域預(yù)訓練是在通用預(yù)訓練模型基礎(chǔ)上,在領(lǐng)域數(shù)據(jù)上繼續(xù)預(yù)訓練,讓預(yù)訓練模型學習更多的領(lǐng)域知識。

          • 語義匹配模塊針對存在高質(zhì)量監(jiān)督數(shù)據(jù)的場景,給出了檢索系統(tǒng)中排序模型方案。此外,針對高質(zhì)量標注數(shù)據(jù)獲取成本高,數(shù)據(jù)量少的問題,語義匹配模塊還內(nèi)置了 R-Drop 數(shù)據(jù)增強策略,進一步提升小數(shù)據(jù)量場景下排序模型效果,從而幫助檢索系統(tǒng)達到更優(yōu)的效果。

          • 語義索引模塊針對無監(jiān)督和有監(jiān)督數(shù)據(jù)場景,分別給出了無監(jiān)督語義索引 (SimCSE) 和監(jiān)督語義索引的方案,即使沒有監(jiān)督數(shù)據(jù),也能利用無監(jiān)督語義索引方案提升檢索系統(tǒng)的召回效果。

          針對工業(yè)應(yīng)用落地部署的高性能需求,預(yù)測部署環(huán)節(jié)還提供了基于 FasterTransformer 的高性能預(yù)測能力以及簡單易用的 Python API,便于我們將模型快速落地到實際業(yè)務(wù)中。
          后續(xù)在萬方業(yè)務(wù)中,我們將使用 R-Drop 數(shù)據(jù)增強策略、FasterTransformer 進一步應(yīng)對持續(xù)新增的用戶需求。
          如果您想了解詳細方案,可關(guān)注 PaddleNLP,??Star??收藏,跟進其最新功能,也可在直播中與我交流哦:
          GitHub Repo: https://github.com/PaddlePaddle/PaddleNLP

          直播預(yù)告

          萬方數(shù)據(jù)的技術(shù)負責人將為大家直播講解,如果你也有相同的業(yè)務(wù)痛點,或者想進一步了解 PaddleNLP 在產(chǎn)業(yè)實踐中的具體實現(xiàn),歡迎大家掃碼上車!
          9 月 14 日晚 19:00-20:00,直播間不見不散~
          掃碼報名課程,立即加入交流群
          精彩內(nèi)容搶先看
          瀏覽 53
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久AV免费观看 | 精品熟妇视频一区二区三区 | 色色色欧美 | 日韩激情视频青青草 | av毛片网 |