1. <tr id="qaac2"></tr>
  2. <samp id="qaac2"></samp>
    <strike id="qaac2"><s id="qaac2"></s></strike>
    • 科技改變生活 · 科技引領未來

      • 首頁
      • 資訊
      • 技術
      • 百科
      • 問答
      • 學習
      • 看看
      • 站長
      • 生活
      • 快訊

      首頁 > 資訊 > 快訊

      谷歌 BERT 在環信 NLP 中的應用

      時間:2019-07-29 01:40 作者:陳陽

      Google 的 BERT 模型一經發布便點燃了 NLP 各界的歡騰,Google Brain 的資深研究科學家 Thang Luong 曾給出其“開啟了 NLP 新時代”的高度定義,國內外許多公司及開發者對其進行了研究及應用,本文作者及其團隊對 BERT 進行了應用探索。

      隨著 Google 推出的 BERT 模型在多種 NLP 任務上取得 SOTA,NLP 技術真正進入了大規模應用階段,環信一直致力于幫助企業應用先進的AI技術提高生產效率,對于 BERT 的探索我們一直走在了行業前列。

      訓練模型

      訓練數據

      訓練其他模型時我們已經標注了大量的訓練數據,主要把相似句對分為三類來標注:

      不相似(0)、相關(0.5)、相似(1)

      所以,訓練 BERT 模型時就可以“拿來主義”了。

      模型修改

      我們的主要應用點是相似度計算,期望模型返回的結果是一個概率(分值)而不是每個類別的概率。當然如果模型給的結果是每一個類別的概率,依然可以通過加權求和輸出一個分值,但這樣是不是又復雜了。

      所以我們在官方代碼上做了點小的修改(將最后的 softmax 改為了 sigmoid)使得模型輸出是一個分值,這個分值也就是我們要的相似度了。

      模型訓練

      我們使用之前標注的數據集在 GeForce GTX 1070 上訓練(Fine-Tune),大概訓練了 8 個小時左右。

      模型導出

      模型訓練完會產生幾個 Checkpoint,這些 Checkpoint 是不能直接在工程中使用的,需要導出成 PB 文件,可以使用 Estimator 的 export_savedmodel 方法導出。

      模型使用

      通過調研,主要有兩種方式:

      Java JNI:基于我們的 GPU 編譯[1]一個合適的 libtensorflow 和libtensorflow_jni_gpu(如果你的配置和官方一致就不需要自己編譯 了,自己編譯太多坑,這里有一份經過驗證的編譯環境配置[2])打成 jar 包并加入到工程依賴,使用 TensorFlow 提供的 Java API 加載 BERT 模型,在你的 Java 工程中使用[3]。

      Docker + Nvidia-docker + Tensorflow Serving:需要一個合適的 Tensorlfow Serving 的 image,這里有一份官方做好的 image 列表[4],當然你也可以自己做一個。

      這兩種方式各有優缺點,我們主要考慮以下幾個方面:

      性能:我們對兩種方案做了實驗,Tensorflow Serving 是 C++ 寫成的服務,對于 batch 做過優化[6],性能優于 Java JNI。

      多模型支持能力:方案 2 是支持多模型的,也就是多個模型共用一個 GPU,方案 1 不支持。

      簡單好部署:兩種方案都不復雜。

      與現有服務開發和運維體系兼容性:方案 1 更有優勢。

      另外,方案 2 不僅支持多模型還支持多版本、模型的冷啟動和熱加載。綜合考慮下,我們使用了方案 2 進行模型部署。

      效果對比

      我們用一些典型客戶的數據構建了測試環境,抽取這些客戶的真實訪客數據,對現有模型和 BERT 模型做了對比實驗,BERT 模型的效果相比于對照模型提高了超過 10%。

      調用圖

      這是我們的調用時序圖:

      FAQ 服務->相似度計算服務:句子 1 和 句子 2 相似度是多少 ?

      相似度計算服務->TensorflowServing: 句子 1 和 句子 2 相似度是多少 ?

      Note right of TensorflowServing: bert 模型預測

      TensorflowServing->相似度計算服務: 句子 1 和 句子 2 相似度是 xx

      相似度計算服務->FAQ 服務: 句子 1 和 句子 2 相似度是 xx

      這里抽象出一個相似度計算服務,是因為我們集成了多種相似度計算方法。

      優化

      后處理

      這種模型的一個主要問題是:模型并不能完美解決所有問題,時不時總會有 bad case 出現。一旦模型上線,如果有問題我們無法及時解決(訓練模型和上線都會消耗大量時間)。為此我們增加了后處理,以便于我們的訓練師能夠及時干預,解決問題。

      預訓練

      BERT 預訓練的模型使用的數據來源于維基百科,與我們的主要應用場景不一致。我們可以猜想如果在 BERT 原有 Pre-Training 模型的基礎上,使用客服里的數據再次進行 Pre-Training 應該會更好,事實上我們也的確這樣做了。結論是影響不大,可能是數據不夠多,新的訓練實驗還在進行中。

      數據標注

      GPT 2.0 的出現再次證明了要想得到好的模型,不僅要有數據量,還要提高數據的品質。我們新的標注也在進行中,相信會對模型效果有所提高。

      其他應用

      我們在產品中還提供了意圖識別的服務,意圖識別服務要求必須能夠在線訓練。如果直接使用 BERT 來做意圖識別,很難滿足在線訓練的要求(BERT 訓練太慢了)。為此我們使用了簡單的模型來支持在線訓練,并把 Fine-tune 模型的倒數第二層作為特征,增強意圖識別的效果。

      BERT 的近鄰

      最近 Google 又攜 XLnet 屠榜了,從實驗效果看對比 BERT 確實有比較大的提升,我們也在關注中,實驗的小手已經蠢蠢欲動了。如果在我們的場景實驗效果好的話,相信我們環信的客戶很快便會體驗到。

      [1]: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/java/README.md

      [2]: https://www.tensorflow.org/install/source#tested_build_configurations

      [3]: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/java/README.md

      [4]: https://hub.docker.com/r/tensorflow/serving/tags

      [5]: https://github.com/tensorflow/serving/blob/master/tensorflow_serving/g3doc/building_with_docker.md

      [6]: https://github.com/tensorflow/serving/tree/master/tensorflow_serving/batching

      [7]: https://www.tensorflow.org/tfx/serving/serving_config

      [8]: https://arxiv.org/abs/1906.08237

      作者簡介:董文濤,環信人工智能研發中心算法工程師,負責環信中文語義分析開放平臺和環信智能機器人的設計與研發。

      相關話題

      • 汽車應急啟動電源價格(冬季開車出行救星)
      • 領克01價格預測(領克01售價17)
      • 黑殼機油價格(選機油只認品牌是不夠的)
      • 谷王tb60價格(多勞多得)
      • 蔬菜價格最新行情(預警)
      • 陸龜價格表(山東男子網購陸龜獲刑3年)
      • 安利兒童維c價格(18款維生素C實測)
      • 神州壁掛爐價格(從4000元到15000元都有)
      • 2017年杜仲價格(各大地產藥材價格行情報道)
      • 一元和平硬幣價格(建國系列紀念幣有品種已漲數百倍)
      • 傳祺自動檔價格表(換上6AT自動擋)
      • 黨參最新價格行情(每日學習一味中藥)
      • 如意葵酒價格(納蘭性德詩詞269首全集)
      • 52度西鳳酒價格表和圖片(2021最后的好詩)
      • 50斤面粉批發價格(今日復合肥)
      • 今年黨參的價格(黨參出現庫存緊張)
      • 大運150摩托車價格(農村拉貨爬坡用)
      • t2手機價格(vivoT2推遲發布)
      • 斯達克價格表(助聽器價格相差太大)
      • 海拉爾白酒價格(轉發集贊有驚喜)

      熱門推薦

      • 沈騰馬麗回應互聯網爸媽
      • 周深貴陽演唱會
      • 中國科學院資深院士張存浩逝世
      • 美俄兩國防長通電話
      • TKL3比1DYG拿到第二輪首勝
      • 多地禁止一線教師暑假值班
      • 多部門駁斥美簽署所謂涉藏法案
      • 裴文宣的愛都藏在行動里
      • 假如我在飛機上遇到明星
      • 官方:北部灣海域有四艘沉船
      • 曾舜晞:我弟是我偶像
      • 王玉雯帶照片讓張新成簽名
      • 亞馬爾17歲生日快樂
      • SNH48王奕周詩雨予你巡演成都站
      • 巧了你也穿了白色入境
      • 杰倫布朗官宣女友
      • 布朗尼三分8中0
      • 原來胡歌也不能笑著離開理發店
      • 銀河系比想象中更大
      • 樊振東全紅嬋再同框

      陳陽

      關注
      免責聲明:本文章由會員“陳陽”發布,如果文章侵權,請聯系我們處理,本站僅提供信息存儲空間服務 如因作品內容、版權和其他問題請于本站聯系

      關注排行榜

      1. 1沈騰馬麗回應互聯網爸媽
      2. 2周深貴陽演唱會
      3. 3中國科學院資深院士張存浩逝世
      4. 4美俄兩國防長通電話
      5. 5TKL3比1DYG拿到第二輪首勝
      6. 6多地禁止一線教師暑假值班
      7. 7多部門駁斥美簽署所謂涉藏法案
      8. 8裴文宣的愛都藏在行動里
      9. 9假如我在飛機上遇到明星
      10. 10官方:北部灣海域有四艘沉船

      編輯精選

      Copyright ?2009-2022 KeJiTian.Com, All Rights Reserved

      版權所有 未經許可不得轉載

      增值電信業務經營許可證備案號:遼ICP備14006349號

      網站介紹 商務合作 免責聲明 - html - txt - xml

      感谢您访问我们的网站,您可能还对以下资源感兴趣:

      经典香港**毛片免费看_91精品一区二区综合在线_欧美人与性动交a欧美精品_国产小视频在线看