PaddleNLP 是兼具科研學(xué)習(xí)和產(chǎn)業(yè)實(shí)踐能力的 Python NLP 工具包,提供中文領(lǐng)域豐富的預(yù)訓(xùn)練模型和部署工具,被高校、企業(yè)開發(fā)者廣泛應(yīng)用。近日,PaddleNLP v2.1正式發(fā)布,為開發(fā)者帶來三項(xiàng)重要更新:
- 開箱即用的產(chǎn)業(yè)級(jí)NLP預(yù)置任務(wù)能力Taskflow:八大經(jīng)典場(chǎng)景一鍵預(yù)測(cè)。
- 預(yù)訓(xùn)練時(shí)代的微調(diào)新范式應(yīng)用:三行代碼顯著提升小樣本學(xué)習(xí)效果。
- 高性能預(yù)測(cè)加速:文本生成任務(wù)28倍加速效果。
https://github.com/PaddlePaddle/PaddleNLPPaddleNLP是飛槳生態(tài)的自然語(yǔ)言處理開發(fā)庫(kù),旨在提升文本領(lǐng)域的開發(fā)效率,為開發(fā)者帶來模型構(gòu)建、訓(xùn)練及預(yù)測(cè)部署的全流程優(yōu)質(zhì)體驗(yàn)。

PaddleNLP項(xiàng)目自發(fā)布以來,就受到廣大NLPer的關(guān)注。在2021年6月PaddleNLP官方直播打卡課中,有7000+ 用戶參加PaddleNLP的項(xiàng)目學(xué)習(xí)和實(shí)踐,加速了自身科研和業(yè)務(wù)實(shí)踐進(jìn)程,同時(shí)也帶動(dòng)PaddleNLP多次登上GitHub Trending榜單。

那么最近的2021年10月份更新,PaddleNLP又給大家?guī)砟男@喜呢?下文將為您逐一細(xì)細(xì)解讀。??1. 開箱即用的產(chǎn)業(yè)級(jí)NLP預(yù)置任務(wù)能力——Taskflow依托于百度在多年語(yǔ)言與知識(shí)領(lǐng)域的業(yè)務(wù)積淀,PaddleNLP面向NLP八種任務(wù)場(chǎng)景,聚合了眾多百度自研的算法以及社區(qū)開源模型,并憑借飛槳核心框架的能力升級(jí)提供開箱即用、極致優(yōu)化的高性能一鍵預(yù)測(cè)能力——Taskflow。本次Taskflow升級(jí)覆蓋自然語(yǔ)言理解(NLU)和生成(NLG)兩大場(chǎng)景共八大任務(wù),包括中文分詞、詞性標(biāo)注、命名實(shí)體識(shí)別、句法分析、文本糾錯(cuò)、情感分析、生成式問答和智能寫詩(shī)。這些高質(zhì)量模型的背后,一方面聚合了百度在語(yǔ)言與知識(shí)領(lǐng)域多年的業(yè)務(wù)積淀和領(lǐng)先的開源成果:如詞法分析工具LAC、句法分析工具DDParser、情感分析系統(tǒng)Senta、文心ERNIE系列家族模型、開放域?qū)υ掝A(yù)訓(xùn)練模型PLATO、文本知識(shí)關(guān)聯(lián)框架解語(yǔ)等;另一方面也涵蓋了開源社區(qū)優(yōu)秀的中文預(yù)訓(xùn)練模型如CPM等。未來Taskflow會(huì)隨著PaddleNLP的版本迭代不斷擴(kuò)充技能,如開放域?qū)υ挕⑽谋痉g、信息抽取等能力,以滿足更多NLP開發(fā)者的需求。如下圖所示,通過PaddleNLP Taskflow,只需要一行代碼,傳入任務(wù)名稱即可自動(dòng)選擇最優(yōu)的預(yù)置模型,并且以極致優(yōu)化的方式完成推理,開發(fā)者可以方便地集成到下游的應(yīng)用中。https://github.com/PaddlePaddle/PaddleNLP/blob/develop/docs/model_zoo/taskflow.md? 2. 預(yù)訓(xùn)練時(shí)代的微調(diào)新范式應(yīng)用:三行代碼提升小樣本學(xué)習(xí)效果Few-Shot Learning(以下簡(jiǎn)稱FSL)是機(jī)器學(xué)習(xí)的一個(gè)子領(lǐng)域。在僅有少數(shù)監(jiān)督樣本的情況下,訓(xùn)練得到強(qiáng)泛化能力的模型,實(shí)現(xiàn)對(duì)新數(shù)據(jù)的分類。結(jié)合最新的Prompt Tuning的思想,PaddleNLP中集成了三大前沿FSL算法:? (1)EFL(Entailment as Few-Shot Learner)[1],將 NLP Fine-tune任務(wù)統(tǒng)一轉(zhuǎn)換為二分類的文本蘊(yùn)含任務(wù)。? (2)PET(Pattern-Exploiting Training)[2],通過人工構(gòu)建模板,將分類任務(wù)轉(zhuǎn)成完形填空任務(wù)。? (3)P-Tuning[3]:自動(dòng)構(gòu)建模板,將模版的構(gòu)建轉(zhuǎn)化為連續(xù)參數(shù)優(yōu)化問題。使用小樣本學(xué)習(xí)策略,僅僅32條樣本即可在電商評(píng)論分類任務(wù)上取得87%的分類精度[4]。此外,PaddleNLP集成 R-Drop 策略作為 API,只需要增加三行代碼即可在原任務(wù)上快速漲點(diǎn),如圖所示:https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/few_shot? 3. 高性能預(yù)測(cè)加速:文本生成場(chǎng)景高達(dá)28倍加速效果PaddleNLP與NVDIA強(qiáng)強(qiáng)聯(lián)合,以FasterTransformer[5]為基礎(chǔ),提供了Faster系列的推理API,重點(diǎn)拓展了更多主流網(wǎng)絡(luò)結(jié)構(gòu)適配與解碼策略支持。同時(shí)結(jié)合飛槳核心框架2.1版本全新的自定義OP的功能,提供了與飛槳框架無縫銜接的使用體驗(yàn)。FasterTransformer Decoding Workflow在Transformer機(jī)器翻譯、GPT文本生成兩個(gè)任務(wù)中,分別對(duì)比使用動(dòng)態(tài)圖版本的性能和內(nèi)置Faster系列的推理API后,不同batch size下預(yù)測(cè)性能加速比,從對(duì)比數(shù)據(jù)可以看到無論Transformer還是GPT,均可得到高達(dá)28倍推理速度提升!PaddleNLP Transformer翻譯模型加速優(yōu)化前后的Nsight Profling對(duì)比圖PaddleNLP v2.1提供工業(yè)界主流的解碼加速支持,包括經(jīng)典的Beam Search,以及多個(gè)Sampling-based的解碼方式:如Diverse Sibling Search[6]、T2T版本的Beam Search實(shí)現(xiàn)[7]、Top-k/Top-p Sampling等。豐富的加速策略可以滿足對(duì)話、翻譯等工業(yè)場(chǎng)景的實(shí)際應(yīng)用,同時(shí)PaddleNLP的加速實(shí)現(xiàn)也在百度內(nèi)部經(jīng)過了大規(guī)模互聯(lián)網(wǎng)業(yè)務(wù)的真實(shí)考驗(yàn)。表1:PaddleNLP 2.1 支持加速的模型結(jié)構(gòu)與解碼策略
更多PaddleNLP加速使用文檔可以參考:https://github.com/PaddlePaddle/PaddleNLP/blob/develop/docs/advanced_guide/fastertransformer.rst別的不需要多說了,大家訪問GitHub點(diǎn)過star之后自己體驗(yàn)吧:https://github.com/PaddlePaddle/PaddleNLP除了重磅發(fā)版以外呢,我們還為大家精心準(zhǔn)備了配套課程,在10月13-15日,連續(xù)三天PaddleNLP技術(shù)精講課程,百度飛槳的明星講師們歷時(shí)一個(gè)月嘔心瀝血打磨的三日課,小伙伴們速度掃碼報(bào)名,快速get PaddleNLP最新技能點(diǎn)!掃描二維碼報(bào)名,加入技術(shù)交流群官網(wǎng)地址:https://www.paddlepaddle.org.cn
GitHub: https://github.com/PaddlePaddle/PaddleNLPGitee: https://gitee.com/paddlepaddle/PaddleNLP[1]Entailment as Few-Shot Learnerhttps://arxiv.org/pdf/2104.14690.pdf[2] Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inferencehttps://arxiv.org/pdf/2001.07676.pdfhttps://arxiv.org/pdf/2103.10385.pdf[4]FewCLUE: A Chinese Few-shot Learning Evaluation Benchmarkhttps://arxiv.org/pdf/2107.07498.pdf[5] https://github.com/NVIDIA/FasterTransformer[6] A Simple, Fast Diverse Decoding Algorithm for Neural Generationhttps://arxiv.org/pdf/1611.08562.pdf[7] Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation (https://arxiv.org/pdf/1609.08144.pdf)