如何0代碼、快速定製企業級NLP模型?百度工程師詳解技術選型與模型...

2020-11-24 澎湃新聞

主講人 | 龍心塵 百度NLP資深研發工程師

量子位編輯 | 公眾號 QbitAI

近幾年以預訓練為代表的NLP技術取得了爆發式發展,新技術新模型層出不窮。企業與開發者如何將最先進的NLP領域科研成果,高效地應用到業務場景中並解決實際問題?

「百度EasyDL AI開發公開課」中,百度資深研發工程師、文心語義理解平臺技術負責人龍心塵結合世界領先的文心(ERNIE)語義理解技術,通過產業實踐案例,深入解析技術選型和模型調優的方法,分享了工程實踐中的經驗。

講解分為5個部分:

NLP常見任務

NLP典型應用場景

EasyDL-NLP與文心(ERNIE)簡介

文心核心技術解析

NLP定製化實踐與經驗分享

直播回放見連結:https://www.bilibili.com/video/BV1Zi4y157jd

以下為分享內容整理:

NLP常見任務

自然語言處理(NLP)大致分為4大經典任務:文本分類,文本匹配,序列標註,文本生成。

文本分類

假設輸入文本為x,輸出標籤為y,如果y 表示x屬於某一個類別的概率,或者一組類別的概率分布,則可抽象為文本分類問題。

典型的文本分類包含情感分析、新聞主題分類、文本蘊含。

情感分析一般需要判斷某句話是積極的或消極的,屬於單標籤分類。

新聞主題分類相對複雜,一個新聞可能同時具有多個互相獨立的屬性,可以同時出現,屬於多標籤分類。

文本蘊含任務輸入的是兩段文本,需要判斷兩段文本之間的關係(包含關係、對立關係、中立關係等),屬於句對分類。

文本匹配

假設輸入文本為x,輸出標籤為y,如果x是兩段文本(x1、x2),Y表示二者的相似度,則可抽象為文本匹配問題。

如圖,x1與x2的意思是非常相似的,所以標籤y是1。如果x1與x2的含義不相似,那麼輸出的y就是0。如果需要判斷兩者相似的概率,標籤y在0-1之間。

文本匹配任務在搜尋引擎、推薦、FAQ等判斷兩句話相似的場景中應用非常廣泛。

除此之外,文本聚類問題也可以通過文本相似度問題進行處理。機器學習的聚類算法的核心步驟是計算兩個樣本之間的距離,而相似度就是兩個文本之間距離的度量,可以很好地判斷文本間語義層面上的距離。

序列標註

假設輸入文本為x,輸出標籤為y,如果x是一段文本,y是一段與x等長的文本,且x與y的每個字符一一對應,則可抽象為序列標註問題。

如上圖是一個命名實體識別任務,需要要判斷一句話裡的一些關鍵詞語,是否屬於地址、人名等實體。這句話裡面,「廈門」和「金門」是兩個地址實體。

同時,這個句子中的每一個字,我們都會給出判斷,將不需要關注的字標記為O,因此輸出的判斷標籤Y與X是等長的。

除此之外,分詞、詞性標註、組塊分析、語義角色標註、詞槽挖掘等,都是典型的序列標註任務。某些人將閱讀理解也理解成一種特殊的序列標註,X是2段文本,分別表示正文篇章和問題,Y是篇章中的一小段文本,表示對應問題的答案。

文本生成

假設輸入文本為x,輸出標籤為y,如果x是一段文本,y是一段不定長的文本,則可抽象為文本生成問題。

最典型的文本生成問題是機器翻譯,比如輸入一段英文,輸出一段其他語言的文字。這兩段文字的字、詞的順序不一定一一對應,因此輸出的是一個不定長的文本。

另外,文本摘要、標題生成、閒聊等都是典型的文本生成任務。

NLP典型應用場景

上述介紹了四大經典NLP任務,核心是希望大家注意不同任務的輸出X與輸出Y。這樣就可以在真實的NLP應用場景中,能把不同任務拆分成簡單的典型任務。

在企業實際應用和產業實踐中,業務需求千變萬化,往往需要對NLP模型進行定製化的訓練。

定製過程中,企業要考慮三個要點:效率問題、效果問題、效能問題。

為了幫助中小企業更高效的實現NLP模型訓練、優化、部署應用,百度面向企業提供了的零門檻、一站式AI開發平臺—EasyDL提供全流程服務支持,和業界領先的語義理解技術平臺—文心(ERNIE)為企業降低NLP定製成本,下文為大家詳細介紹其優勢與核心技術。

EasyDL:全流程企業級定製化服務支持

EasyDL為大家提供一站式定製化NLP開發平臺,低門檻、簡單易用。面向企業客戶和開發者提供全流程技術服務配套,包括業務問題分析、技術選型指導、模型優化指導、開發者使用培訓等。

EasyDL不僅為企業客戶提供全流程方案與技術支持,在解決企業業務問題的同時,也讓企業能更好地沉澱自身技術實力,真正做到「授之以漁」。

文心:降低NLP定製成本

文心(ERNIE)是依託百度深度學習平臺飛槳打造的語義理解技術與平臺,集先進的預訓練模型、全面的NLP算法集、端到端開發套件和平臺化服務於一體,為企業和開發者提供一整套NLP定製與應用能力。

文心基於最新一代預訓練範式的技術優勢,能夠大幅降低NLP定製成本。

對於企業來說,文心的低成本定製能力意味著什麼呢?更少的標註數據、更少的算力投入、更短的開發周期。

文心核心技術:ERNIE 2.0(持續學習語義理解框架)

文心開創性地將大數據預訓練與多源豐富知識相結合,持續學習海量數據中的知識,避免災難性遺忘,將機器語義理解水平提升到一個新的高度。

以中文模型為例,目前ERNIE已經學習了1500萬篇百科語料和詞語、實體知識,700萬個人類對話,3億的文章的因果結構關係,以及10億次的搜索查詢與結果的對應關係,以及2000萬的語言邏輯關係知識。

模型還在持續不斷地建模新的海量數據與知識,不斷地提升下遊的應用效果。ERNIE在中英文的16個任務上已經超越了業界最好模型,全面適用於各類NLP應用場景。

文心的技術創新:ERNIE-GEN

為了解決文本生成任務中的問題,ERNIE提出了ERNIE-GEN技術範式。

首先,ERNIE-GEN主要關注文本生成任務中的「曝光偏置」問題。ERNIE-GEN採用了填充式生成技術,在訓練和解碼中,插入人工符號(ATTN)和位置編碼來匯聚上文向量表示,用於每一步的預測。

即將模型的注意力從上一個生成字符轉移到更全局的上文表示,以緩解上一個字符預測錯誤對後續生成的負面影響,緩解曝光偏置問題,增強生成魯棒性。

其次,ERNIE-GEN採取了多流注意力機制,能夠同時實現逐詞生成任務和逐片段生成任務。

文心的技術創新:ERNIE-ViL

我們知道,人類的認知不僅通過閱讀文字產生,還通過觀察大量的事物、查看大量圖片、動畫片、圖文相結合等方式,是多模態的形式。

那麼,如何讓模型學習文本、圖像、語音等不同形式的信息,從而在認知理解層面取得更好的效果?

在多模態領域,我們的ERNIE-ViL(知識增強的視覺語言表示學習)更加強調的是在引入圖像信息的同時,融合了更多知識。即細粒度語義信息抽取,區分普通詞與語義次,構建了物體預測、屬性預測、關係預測三個預訓練任務,聚焦細粒度的語義對齊知識。

正是因為結合了多模態與知識,ERNIE-ViL在視覺問答、視覺常識推理、引用表達式理解、圖像檢索、標題檢索等5項多模態任務集合上取得世界最好的效果。並且在視覺常識推理任務榜單中取得第一名。

案例實踐分享

實際應用中,NLP定製化訓練任務可拆分成7個步驟,並不斷循環、迭代優化:

因此,提升NLP模型訓練效果,一方面要提升循環迭代的速度和效率,另一方面則需要考慮如何提升優化效果。

1.任務拆分

首先,遇到任何文本場景的任務問題,都可以拆分成上述的典型任務。接下來,明確任務本身的輸入與輸出是什麼,明確子任務的輸入與輸入是什麼,然後把這些子任務組合起來,最終解決問題。

以百度APP的搜索問答場景為例,輸入的是問題,輸出的是答案。

首先進行簡單抽象為一個文本匹配問題。因為我們可以提前把這些答案準備好,用戶提問時只需計算問題與答案的匹配度,問題與答案匹配度高,就把答案推薦出來,若匹配度低則不推薦。

再來進一步拆分。首先,用戶輸入的可能並非是明確的問題,未必有答案。因此我們需要前置一個「文本分類」任務來過濾問題,過濾掉大量的不是明確問題的流量。接下來,再將能夠匹配答案的問題進行問答匹配任務。

2.技術選型

技術選型也可理解為一種廣義的優化問題:在有限的條件下,找到合適的方案,優化出最好的目標。所以問題的核心是先明確現有條件的限制是什麼、目標是什麼。

接下來,基於應用場景、硬體條件,選擇相應的可選技術方案,來達到目標優化效果:

比如對於模型效果的提升的目標,可以借鑑以往經驗:

3.選擇網絡

在文本分類的場景下,以BOW網絡為例,典型網絡結構依次包括:輸入文本的ID序列、 Embedding、BOW結構、全連接層、Softmax層。

其中BOW層可替換為CNN、TextCNN、GRU、LSTM,隨著網絡結構越來越複雜,模型效果一般也會依次提升。

Embedding層可以替換為ERNIE、Transformer,也會提升模型效果。

在文本匹配任務場景下,有4種不同的網絡結構,分別是單塔pointwise、雙塔pointwise、單塔pairwise、雙塔pairwise。

回到百度搜索問答場景下,在任務拆分這一步,我們將搜索問答拆分為文本分類、問答匹配兩部分。文本分類、問答匹配對預測速度的要求都非常高,因此我們選擇BOW網絡。在文本分類時選擇分類BOW,在問答匹配時選擇雙塔或者單塔BOW。

4.預訓練模型

下圖詳細介紹了文心預訓練模型的不同特點:

回到百度搜索問答場景,教師模型就需要選擇預訓練模型了。為提升教師模型的效果,其中的分類任務選擇ERNIE-BASE 2.0,匹配任務選擇ERNIE-SIM。

5.訓練模型

為提升訓練效率,如何選擇GPU或CPU,可結合實際情況參考如下:

那麼如何用好GPU、提升訓練效率?大原則是GPU的利用率越高,訓練速度越快。

首先,先小後大,先單機單卡,再單機多卡,最後多機多卡。一般來說,單機多卡的GPU利用率更高、更快。

其次,訓練數據與batch-size方面的改進。如將大文件拆成多個小文件,設置合理的數據緩衝區以提升數據讀取速度;根據神經網絡中最大矩陣估算顯存佔用,估算batch-size等;多卡模式下多進程訓練,添加混合精度訓練等方法,提升訓練速度。

回到百度搜索問答場景,教師模型選擇GPU訓練,而學生模型是海量數據的淺層網絡,用CPU集群訓練效果更好。

6.提升效率

如何提升迭代效率,不浪費寶貴的開發時間?我的經驗是,要選擇合適的開發平臺和工具:

另外,規範的開發流程也是提升迭代效率的關鍵。首先,需要分析業務背景,明確任務的輸入和輸出,將其抽象成已得到解決的NLP典型任務,並且明確評估指標。

第二步,快速實現NLP模型基線,建議大家準備幾千條、格式規範的訓練數據,進行無代碼訓練。同時選擇好網絡和預訓練模型。

最後,不斷優化模型效果。比如結合業務需求、進行更細緻的技術選型,小數據調試,配置參數級訓練、進行自主調參等。

7.優化效果

對於ERNIE系列預訓練模型,模型優化最重要的一點是優化數據質量。即反覆觀察bad case,針對典型case增加正確樣本;同時也可以考慮數據降噪相關策略,提升模型效果。

其次是優化數據數量。通過觀察學習曲線來評估數據數量是否合適,可以考慮數據增強、數據蒸餾等策略。

第三點是增加數據特徵,可以考慮增加非文本特徵,或增加新的文本特徵(如N-gram、subword、分詞邊界、詞性等)。

第四點是優化調參與組網。大原則是通過學習曲線觀察是否過擬合,若過擬合則降低模型複雜度、增加數據量,若欠擬合則增加模型複雜度。

One more thing

為了進一步降低企業應用AI的門檻與成本,EasyDL還重磅推出「萬有引力」計劃,為有AI應用需求的企業提供專項基金,詳情請點擊「閱讀原文」。

— 完 —

量子位 QbitAI · 頭條號籤約作者

վ'ᴗ' ի 追蹤AI技術和產品新動態

原標題:《如何0代碼、快速定製企業級NLP模型?百度工程師詳解技術選型與模型調優策略》

閱讀原文

相關焦點

  • 百度EasyDL全新升級,文心(ERNIE)3項能力助力快速定製企業級NLP模型
    近日,百度文心(ERNIE)重磅發布三項功能,新增定製多標籤文本分類、情感傾向分析模型等功能,同時數據管理能力也進一步增強,更好地滿足自然語言處理(NLP)領域開發者需求,開發者可通過百度AI開發平臺EasyDL進行使用。
  • 百度兌現承諾:手把手教零AI基礎的你,如何訓練高精度NLP...
    ,集先進的預訓練模型、全面的NLP算法集、端到端開發套件和平臺化服務於一體,為企業和開發者提供一整套NLP定製與應用能力。EasyDL是百度大腦面向企業開發者推出的零門檻AI開發平臺,基於百度自主研發的深度學習平臺飛槳,結合業界先進的工程服務技術打造,覆蓋視覺與自然語言處理兩大技術方向,支持一站式智能標註、模型訓練、服務部署等全流程功能。目前EasyDL已經被廣泛應用在零售、網際網路、安全生產、工業質檢、教育、醫療、交通等20多個行業,擁有70多萬用戶。
  • 百度NLP | 神經網絡模型壓縮技術
    更複雜的模型、更強的特徵以及更多的數據對工業級應用提出了更高的要求,如何有效控制內存、減少計算量以及降低功耗是深度神經網絡模型發展面臨的重要問題。壓縮算法的研究不僅提升了模型的擴展潛力,並且使其具有更廣闊的應用場景和巨大的想像空間。在百度,以搜索場景為例,用於相關性排序的神經網絡參數規模達到億級,而線上環境對計算資源要求嚴格,模型難以擴展。
  • 百度開源業內首個口罩人臉檢測及分類模型
    抗擊疫情,眾志成城,人工智慧技術正被應用到疫情防控中來。2月13日,百度宣布免費開源業內首個口罩人臉檢測及分類模型。
  • 密碼學技術如何選型?初探理論能力邊界的安全模型
    這裡,我們將繼續密碼學技術選型的分享,從單個密碼學算法擴展到由多個密碼學算法構成的密碼學協議的安全性,梳理相關的能力邊界,以及選用不同協議對實際業務中隱私保護效果的影響。對於一個密碼學協議,其所需的所有安全假設,及對應假設下的安全性要求的集合,稱之為安全模型。了解安全模型中引入的不同安全假設,有利於企業在進行密碼學相關的隱私保護技術選型時,客觀評估備選技術方案的有效性。
  • 百度EasyDL自研數據增強服務加持AI模型開發
    在 AI 模型開發的過程中,許多開發者被不夠充足的訓練數據擋住了提升模型效果的腳步,一個擁有出色效果的深度學習模型,支撐它的通常是一個龐大的標註數據集。因此,提升模型的效果的通用方法是增加數據的數量和多樣性。但在實踐中,收集數目龐大的高質量數據並不容易,在某些特定領域與應用場景甚至難以獲取大量數據。那麼如何能在有限數據的情況下提升模型的效果呢?
  • 2019 自然語言處理前沿論壇,百度NLP技術全揭秘
    現在,百度的最新研究是提出了知識增強的語義表示模型 ERNIE 並發布了基於 PaddlePaddle 的開原始碼與模型。 框架包括基於海量百科、新聞、對話多源數據訓練,雙向多層 Transformer的 語義建模模型,融合併強化中文詞、實體等先驗語義知識學習,多階段知識學習。
  • 一文讀懂最強中文NLP預訓練模型ERNIE
    基於飛槳開源的持續學習的語義理解框架ERNIE 2.0,及基於此框架的ERNIE 2.0預訓練模型,在共計16個中英文任務上超越了BERT和XLNet, 取得了SOTA效果。本文帶你進一步深入了解ERNIE的技術細節。
  • 六條規則讓你的ML模型部署的更快
    一路上我們學到了什麼在這個過程中,我們學習了一些關於如何安全、快速地構建、測試和部署機器學習模型的重要規則。這些規則改變了我們的工作方式,希望您會發現它們對您和您的組織有用。1.採用自助服務在我們的機器學習平臺存在之前,數據科學家創建的模型將交給IT部門,這樣他們就可以為每個模型創建數據管道和模型部署環境。
  • NLP之文本分類:「Tf-Idf、Word2Vec和BERT」三種模型比較
    我們有多種技術從原始文本數據中提取信息,並用它來訓練分類模型。本教程比較了傳統的詞袋法(與簡單的機器學習算法一起使用)、流行的詞嵌入模型(與深度學習神經網絡一起使用)和最先進的語言模型(和基於attention的transformers模型中的遷移學習一起使用),語言模型徹底改變了NLP的格局。
  • 央視網、國美、縱橫文學齊上陣:百度大腦開放日分享NLP技術應用
    開放日期間,百度自然語言處理部副總監忻舟分享了NLP領域的開放全景,並重點介紹了智能創作平臺2.0的新特性、PaddleNLP(NLP開源工具與預訓練模型集)、ERINE(知識增強的語義理解框架)等最新技術。活動現場,央視網、國美零售、縱橫文學的相關技術負責人也登臺演講,闡述企業如何借力百度大腦開放的NLP技術能力,實現自身業務的智能化演變。
  • PTMs|2020最新NLP預訓練模型綜述
    「nlp領域的發展比cv領域相對緩慢的原因是什麼呢」?相比於cv領域,「nlp領域的劣勢在於有監督數據集大小非常小」(除了機器翻譯),導致深度學習模型容易過擬合,不能很好地泛化。但是相反,nlp領域的優勢在於,存在大量的無監督數據集,如果能夠充分利用這類數據進行訓練,那麼勢必能夠提升模型的能力以及在下遊任務中的表現。nlp中的預訓練模型就是這樣一類能夠在大規模語料上進行無監督訓練,學習得到通用的語言表徵,有助於解決下遊任務的nlp模型。「那麼什麼是好的語言表徵呢」?
  • 2019自然語言處理前沿論壇 五大議題全面解析NLP技術前沿
    學習層面,通過預訓練模型以及知識增強(比如ELMo、BERT、GPT、ERNIE等)提高模型泛化能力,在自然語言任務上獲得了更好的性能。邱錫鵬認為,未來可以進一步探索如何更好地融合先驗知識,構建更靈活、兼容性更強的預訓練框架。百度NLP主任研發架構師、語義計算技術負責人孫宇介紹了百度語義計算技術發展脈絡及研發現狀,並分享了該技術在百度各產品中的應用情況。
  • 百度NLP | 神經網絡語義匹配技術
    而語義層面的匹配,首先面臨語義如何表示、如何計算問題。上世紀 90 年代流行起來的潛在語義分析技術(Latent Semantic Analysis,LSA),開闢了一個新思路,將詞句映射到等長的低維連續空間,可在此隱式的「潛在語義」空間上進行相似度計算。
  • 防疫AI「big bang」,百度撬動技術奇點進行時防疫2.0時期,AI還能夠...
    為了不紙上談兵,我們不妨以中國AI產業技術發展代表百度為錨點,來看一看AI想要在「防疫2.0」中加速,平臺企業都需要扮演好哪些角色?1.技術的布道者。在前一階段,我們看到了AI在核心區域的價值輸出,如何深化AI的賦能場景,發揮更大意義,就需要激活社會各界的AI開發者、研究者、使用者,來共同探尋抗疫需求中的特殊場景,實現AI的價值加乘。
  • 百度大腦十餘項全新AI硬體點燃年初第一把火
    包括主打小型化、低功耗,易於快速集成的X-eye計算卡,以及主打高性能、大規模計算量、需自定製模型的EdgeBoard高性能計算卡&軟體工具包&參考方案。,並支持定製模型的全目標抓拍,通用於更多如工業質檢、城市管理等複雜場景。
  • 百度開源2020年度報告:兩大開源平臺、九個捐贈項目
    目前,飛槳累計開發者265萬,服務企業超過10萬家,基於飛槳開源深度學習平臺產生了34萬+個模型。飛槳助力開發者快速實現AI想法,快速上線AI業務。幫助越來越多的行業完成AI賦能,實現產業智能化升級。合約模板;詳解全面文檔中心;IDE、瀏覽器、可視化管理工具等;7*24H技術客服+繁榮生態支持;2)超高性能:超級節點技術;鏈內並行技術;存儲、計算可水平擴展;合約ACL背書驗籤技術;3)高可擴展:動態內核技術保證架構上高可擴展;多引擎架構技術保證核心流程和技術選型可按場景訂製;超級節點技術保證存儲和計算上高可擴展;4)高可用性:超級鏈開放網絡多節點長期運行驗證
  • NLP入門+實戰必讀:一文教會你最常見的10種自然語言處理技術
    這種技術非常實用,因為電腦無法處理自然語言。詞向量化可以捕捉到自然語言和實數間的本質關係。通過詞向量化,一個詞語或者一段短語可以用一個定維的向量表示,例如向量的長度可以為100。例如:「Man」這個詞語可以用一個五維向量表示。
  • 中文語音合成最高水平,百度語音技術打造全球首款地圖語音定製產品
    那麼百度地圖國民級眾多用戶,大家都可以同時發起語音定製需求嗎?百度語音如何實現在15分鐘這麼短的時間內合成定製語音包?為什麼百度語音能夠實現全球首個地圖語音定製?  現場,百度語音首席架構師賈磊揭秘了這背後的技術:「百度地圖語音定製功能基於百度獨創的風格遷移技術Meitron模型,其特點主要體現在音色轉換、多情感朗讀和韻律遷移三個方面,從而讓語音合成的門檻大大降低,相信百度語音技術在AI時代擁有無限可能。」
  • 融慧金科盛軍:如何快速破解金融模型開發與應用實操難題
    近日,融慧金科聯合創始人兼首席科學家盛軍就模型管理與應用實踐進行了深入分享。盛軍畢業於清華大學,後取得美國密西根州立大學博士學位,並在加州理工學院做過博士後研究。他有著多年研發經歷,在金融風險管理和數據信息挖掘及應用方面有著深厚積累,此前曾擔任美國運通全球風險監督/企業級模型監管部總監、百度金融風控模型總經理,在大數據應用及機器學習建模方面有著專家級認知和實際運用經驗。