文本分類任務是NLP領域最常見、最基礎的任務之一,顧名思義,就是對給定的一個句子或一段文本進行分類。文本分類在互聯網、金融、醫療、法律、工業等領域都有廣泛的應用,例如文章主題分類、商品信息分類、對話意圖分類、論文專利分類、郵件自動標簽、評論正負傾向識別、投訴事件分類、廣告檢測以及敏感違法內容檢測等,這些應用場景全部都可以抽象為文本分類任務。但如何進行技術方案選型、如何進行模型調優、如何解決少樣本等問題,使很多開發者望而卻步,遲遲難以上線。
近日,PaddleNLP針對以上工業落地中種種常見問題,開源了一整套文本分類場景方案,接下來我們將詳細解讀其技術特色:
方案全覆蓋:涵蓋文本分類高頻場景,開源微調、提示學習、基于語義索引多種分類技術方案,滿足不同文本分類落地需求;
(資料圖片僅供參考)
模型高效調優:強強結合數據增強能力與可信增強技術,解決臟數據、標注數據欠缺以及數據不平衡等問題,大幅提升模型效果;
產業級全流程:打通數據標注-模型訓練-模型調優-模型壓縮-預測部署全流程,助力開發者簡單高效地完成文本分類任務。
STAR收藏,跟蹤最新功能
項目地址:
https://github.com/PaddlePaddle/PaddleNLP
圖:PaddleNLP文本分類詳細文檔介紹
特色一:方案全覆蓋
圖:三類文本分類場景
如上圖,根據任務類別定義,可以將文本分類劃分為二分類/多分類、多標簽、層次分類三類場景。PaddleNLP基于多分類、多標簽、層次分類等高頻分類場景,提供了預訓練模型微調、提示學習、語義索引三種端到端全流程分類方案:
方案一:預訓練模型微調
預訓練模型微調是目前NLP領域最通用的文本分類方案。預訓練模型與具體的文本分類任務的關系可以直觀地理解為,預訓練模型已經懂得了通用的句法、語義等知識,采用具體下游任務數據微調訓練可以使得模型”更懂”這個任務,在預訓練過程中學到的知識基礎可以使文本分類效果事半功倍。
圖:模型精度-時延圖
在預訓練模型選擇上,ERNIE 系列模型在精度和性能上的綜合表現已全面領先于 UER/RoBERTa、Huawei/TinyBERT、HFL/RBT、RoBERTa-wwm-ext-large等中文模型。PaddleNLP開源了如下多種尺寸的ERNIE系列預訓練模型,滿足多樣化的精度、性能需求:
ERNIE 1.0-Large-zh-CW(24L1024H)
ERNIE 3.0-Xbase-zh(20L1024H)
ERNIE 2.0-Base-zh (12L768H)
ERNIE 3.0-Base (12L768H)
ERNIE 3.0-Medium (6L768H)
ERNIE 3.0-Mini (6L384H)
ERNIE 3.0-Micro (4L384H)
ERNIE 3.0-Nano (4L312H)
… …
除中文模型外,PaddleNLP 也提供ERNIE 2.0英文版、以及基于96種語言(涵蓋法語、日語、韓語、德語、西班牙語等幾乎所有常見語言)預訓練的多語言模型ERNIE-M,滿足不同語言的文本分類任務需求。
方案二:提示學習
提示學習(Prompt Learning)適用于標注成本高、標注樣本較少的文本分類場景。在小樣本場景中,相比于預訓練模型微調學習,提示學習能取得更好的效果。提示學習的主要思想是將文本分類任務轉換為構造提示(Prompt)中掩碼的分類預測任務,使用待預測字的預訓練向量來初始化分類器參數,充分利用預訓練語言模型學習到的特征和標簽文本,從而降低樣本量需求。PaddleNLP集成了R-Drop 和 RGL 等前沿策略,幫助提升模型效果。
圖:預訓練模型微調 vs 提示學習
如下圖,在多分類、多標簽、層次分類任務的小樣本場景下,提示學習比預訓練模型微調方案,效果上有顯著優勢。
方案三:語義索引
基于語義索引的文本分類方案適用于標簽類別不固定、或大規模標簽類別的場景。在新增標簽類別的情況下,無需重新訓練模型。語義索引的目標是從海量候選召回集中快速、準確地召回一批與輸入文本語義相關的文本。基于語義索引的文本分類方法具體來說是將標簽集作為召回目標集,召回與輸入文本語義相似的標簽作為文本的標簽類別,尤其適用于層次分類場景。
對預訓練時代NLP任務入門感興趣的小伙伴,可以掃碼報名進群,獲取PaddleNLP官方近期組織的直播鏈接,進群還可獲得10GB NLP學習大禮包等超多福利~此外,課程中還將介紹數據增強、稀疏數據與臟數據挖掘等數據、模型調優策略,親測好用,這部分是課程精華,非常推薦各位NLPer去學習交流。
接下來,我們來看如何進行數據、模型調優。
特色二:模型高效調優
有這么一句話在業界廣泛流傳,"數據決定了機器學習的上限,而模型和算法只是逼近這個上限",可見數據質量的重要性。PaddleNLP文本分類方案依托TrustAI可信增強能力和數據增強API開源了模型分析模塊,針對標注數據質量不高、訓練數據覆蓋不足、樣本數量少等文本分類常見數據痛點,提供稀疏數據篩選、臟數據清洗、數據增強三種數據優化策略,解決訓練數據缺陷問題,用低成本方式獲得大幅度的效果提升。
集可信分析和增強于一體的可信AI工具集-TrustAI,能夠有效識別和優化NLP領域數據標注的常見問題,如『訓練數據中存在臟數據阻礙模型效果提升』,『數據標注成本太高但又不清楚該標注什么數據』,『數據分布有偏導致模型魯棒性差』等,TrustAI能幫助NLP開發者解決訓練數據缺陷問題,用最小的標注成本獲得最大幅度的效果提升。
可戳項目地址了解詳情:
https://github.com/PaddlePaddle/TrustAI
策略一:稀疏數據篩選
基于TrustAI中可信增強方法挖掘待預測數據中缺乏訓練集數據支持的數據(稀疏數據),然后使用特征相似度方法選擇能夠提供證據支持的訓練數據進行數據增強,或選擇能夠提供證據支持的未標注數據進行數據標注,這兩種稀疏數據篩選策略均能有效提升模型表現。
策略二:臟數據清洗
基于TrustAI的可信增強能力,采用表示點方法(Representer Point)計算訓練數據對模型的影響分數,分數高的訓練數據表明對模型影響大,這些數據有較大概率為臟數據(被錯誤標注的樣本)。臟數據清洗策略通過高效識別訓練集中臟數據,有效降低人力檢查成本。
我們在多分類、多標簽、層次分類場景中評測臟數據清洗策略,實驗表明臟數據清洗策略對文本分類任務有顯著提升效果。
策略三:數據增強
PaddleNLP內置數據增強API,支持詞替換、詞刪除、詞插入、詞置換、基于上下文生成詞(MLM預測)、TF-IDF等多種數據增強策略,只需一行命令即可實現數據集增強擴充。我們在某分類數據集(500條)中測評多種數據增強 策略,實驗表明在數據量較少的情況下,數據增強策略能夠增加數據集多樣性,提升模型效果。
圖:數據增強策略效果
特色三:產業級全流程
文本分類應用提供了簡單易用的數據標注-模型訓練-模型調優-模型壓縮-預測部署全流程方案,方案流程如下圖所示。
開發者僅需輸入指定格式的數據,一行命令即可開啟文本分類訓練。對于訓練結果不理想情況,分析模塊提供了多種模型調優方案,解決文本分類數據難題。
對于模型部署上線要進一步壓縮模型體積的需求,文本分類應用接入PaddleNLP 模型壓縮 API 。采用了DynaBERT 中寬度自適應裁剪策略,對預訓練模型多頭注意力機制中的頭(Head )進行重要性排序,保證更重要的頭(Head )不容易被裁掉,然后用原模型作為蒸餾過程中的教師模型,寬度更小的模型作為學生模型,蒸餾得到的學生模型就是我們裁剪得到的模型。實驗表明模型裁剪能夠有效縮小模型體積、減少內存占用、提升推理速度。此外,模型裁剪去掉了部分冗余參數的擾動,增加了模型的泛化能力,在部分任務中預測精度得到提高。通過模型裁剪,我們得到了更快、更準的模型!
表:模型裁剪效果
完成模型訓練和裁剪后,開發者可以根據需求選擇是否進行低精度(FP16/INT8)加速,快速高效實現模型離線或服務化部署。
責任編輯:侯亞麗
分享到:版權聲明:凡注明來源“流媒體網”的文章,版權均屬流媒體網所有,轉載需注明出處。非本站出處的文章為轉載,觀點供業內參考,不代表本站觀點。文中圖片均來源于網絡收集整理,僅供學習交流,版權歸原作者所有。如涉及侵權,請及時聯系我們刪除!