哎媽呀,淚奔了,哭的不要不要的!

  再試試,輸入:

  你有打火機(jī)么?

  生成:

  你有打火機(jī)么? 沒有啊!那你怎么點(diǎn)燃我的心的?

  效果炸裂,這還只是一個(gè)AI情話功能。

  要是再整首詩(shī)寫在小卡片上,女神的心能瞬間化成一江春水向東流。。。

  AI藏頭詩(shī)實(shí)測(cè)效果展示

  輸入:

  吾愛秋香

  生成:

  吾慕斯人不以官,

  愛閑能有幾人閑。

  秋來(lái)莫作功名看,

  香滿南山雪滿山。

一戰(zhàn)深藏功與名!

目前演示頁(yè)限制是七言絕句,如果是需要其它的七言律詩(shī)、五言絕句和五言律詩(shī),可以通過(guò)代碼調(diào)用,效果也是妥妥的!

是不是著急了?我仿佛看到一群大老爺們兒向我殺來(lái)。

我這就把鏈接交出來(lái),大家快來(lái)我們PaddleHub官網(wǎng)上體驗(yàn)吧:

https://www.paddlepaddle.org.cn/hub/scene/aiwriting

  這是怎么做到的?

  這樣炸裂效果的背后,離不開頂尖的ERNIE-GEN 算法加持,什么?不知道ERNIE-GEN?ERNIE聽說(shuō)過(guò)吧,NLP領(lǐng)域模型中的帶頭大哥,曾經(jīng)斬獲多項(xiàng)大獎(jiǎng)!后來(lái)經(jīng)過(guò)不斷研發(fā),ERNIE又衍生出了很多其它模型或組件,形成了ERNIE家族!ERNIE-GEN就是其中優(yōu)秀一員。

  熱心的說(shuō)明:下面是講技術(shù)的環(huán)節(jié),想了解怎么用的小伙伴可以快速往下滑

  ERNIE-GEN是面向生成任務(wù)的預(yù)訓(xùn)練-微調(diào)框架,首次在預(yù)訓(xùn)練階段加入span-by-span 生成任務(wù),讓模型每次能夠生成一個(gè)語(yǔ)義完整的片段。在預(yù)訓(xùn)練和微調(diào)中通過(guò)填充式生成機(jī)制和噪聲感知機(jī)制來(lái)緩解曝光偏差問(wèn)題。此外, ERNIE-GEN 采用多片段-多粒度目標(biāo)文本采樣策略, 增強(qiáng)源文本和目標(biāo)文本的關(guān)聯(lián)性,加強(qiáng)了編碼器和解碼器的交互。

https://paddlehub.bj.bcebos.com/resources/multi-flow-attention.png

更多詳情參考論文ERNIE-GEN:An Enhanced Multi-Flow Pre-training and Fine-tuning Framework for Natural Language Generation

這些由ERNIE-GEN算法衍生出的AI情話(ernie_gen_lover_words)、AI藏頭詩(shī)(ernie_gen_acrostic_poetry)等模型在微調(diào)時(shí)首先通過(guò)加載ERNIE 1.0中文模型參數(shù)完成熱啟動(dòng),然后采用開發(fā)者在網(wǎng)絡(luò)上搜集到的情詩(shī)、情話數(shù)據(jù),基于ERNIE-GEN框架進(jìn)行微調(diào)。與傳統(tǒng)的Seq2Seq做法相比,該模型實(shí)際使用效果具備更強(qiáng)的泛化能力,即使是微調(diào)使用的數(shù)據(jù)集中沒見過(guò)的詞匯或句子,模型也能夠理解。例如輸入“小編帶大家了解一下程序員情人節(jié)”,將會(huì)輸出:

實(shí)際上“程序員”“數(shù)據(jù)庫(kù)”這些詞是從未出現(xiàn)在情話數(shù)據(jù)集中的,但是得益于知識(shí)增強(qiáng)的語(yǔ)義表示模型ERNIE帶來(lái)的泛化能力,使模型仍然能夠領(lǐng)悟到二者之間的關(guān)系。同時(shí)ERNIE-GEN獨(dú)特的填充生成機(jī)制和噪聲感知生成的策略,使得微調(diào)后模型文本生成效果更加自然流暢,相比傳統(tǒng)的基于RNN結(jié)合Seq2Seq的生成做法,所需的訓(xùn)練數(shù)據(jù)量更小,而且文本生成效果更有內(nèi)涵。

正如模型輸出所言,希望在七夕這一天,我們的程序都能夠正常的工作,大家可以放心地過(guò)個(gè)愉快的情人節(jié)。

  想知道怎么用嗎?

  整個(gè)預(yù)訓(xùn)練模型只要求安裝PaddlePaddle 與 PaddleHub,諸位兄弟只需要了解基礎(chǔ) Python 就能跑得動(dòng)。

  飛槳PaddleHub的開發(fā)者提供了AI情話、AI藏頭詩(shī)、AI對(duì)聯(lián)、AI寫詩(shī)四種文本生成的示例代碼,通過(guò) Notebook 文件,我們能更形象地了解模型使用的完整過(guò)程。AI Studio項(xiàng)目地址如下:

https://aistudio.baidu.com/aistudio/projectdetail/746002

  以下為調(diào)用AI情話預(yù)訓(xùn)練模型的代碼,

  import paddlehub as hub

  #導(dǎo)入預(yù)訓(xùn)練模型

  module = hub.Module(name=”ernie_gen_lover_words”)

  #準(zhǔn)備輸入開頭數(shù)據(jù)

  test_texts = [‘情人節(jié)’]

  #執(zhí)行文本生成

  results = module.generate(texts=test_texts, use_gpu=True, beam_width=5)

  #打印輸出結(jié)果

  for result in results:

  print(result)

  運(yùn)行這個(gè)腳本后,我們就可以收貨了。

  哎呀,甜度太高了,有點(diǎn)上頭

C:\Program Files (x86)\Baidu\infoflow\SysFace\d69.png

  [2020-08-21 20:58:08,095] [ INFO] – Installing ernie_gen_lover_words module

  [2020-08-21 20:58:08,097] [ INFO] – Module ernie_gen_lover_words already installed in /home/aistudio/.paddlehub/modules/ernie_gen_lover_words

[‘情人節(jié),我愿做一條魚,任你紅燒、白煮、清蒸,然后躺在你溫柔的胃里。’, ‘情人節(jié),對(duì)你的思念太重,壓斷了電話線,燒壞了手機(jī)卡,掏盡了錢包袋,吃光了安眠藥,哎!可我還是思念你。’, ‘情人節(jié),對(duì)你的思念太重,壓斷了電話線,燒壞了手機(jī)卡,掏盡了錢包袋,吃光了安眠藥,哎!可我還是思念你,祝你情人節(jié)快樂!’, ‘情人節(jié),對(duì)你的思念太重,壓斷了電話線,燒壞了手機(jī)卡,掏盡了錢包袋,吃光了安眠藥,唉!可我還是思念你,祝你情人節(jié)快樂!’, ‘情人節(jié),對(duì)你的思念太重,壓斷了電話線,燒壞了手機(jī)卡,掏盡了錢包袋,吃光了安眠藥,哎!可是我還是思念你。’]

如果有服務(wù)化部署的需求,借助 PaddleHub,服務(wù)器端的部署也非常簡(jiǎn)單,直接用一條命令行在服務(wù)器啟動(dòng)模型就行了:

!hub serving start -m ernie_gen_lover_words -p 8866

是的,就是這么簡(jiǎn)單,一行搞定服務(wù)器端!相比手動(dòng)配置各種參數(shù)或者調(diào)用各種框架,PaddleHub的服務(wù)器端部署實(shí)在是太好用了。

只要在服務(wù)器端完成部署,剩下在客戶端調(diào)用就問(wèn)題不大了。如下為客戶端向服務(wù)器端發(fā)送請(qǐng)求做推理的示例腳本,包括制定要推理的輸入文本、發(fā)送推理請(qǐng)求、返回并保存推理結(jié)果幾個(gè)部分。

  import requests

  import json

  # 發(fā)送HTTP請(qǐng)求

  data = {‘texts’:[‘情人節(jié)’],

  ’use_gpu’:False, ‘beam_width’:5}

  headers = {“Content-type”: “application/json”}

  url = “http://127.0.0.1:8866/predict/ernie_gen_lover_words”

  r = requests.post(url=url, headers=headers, data=json.dumps(data))

  # 保存結(jié)果

  results = r.json()[“results”]

  for result in results:

  print(result)

如下所示,運(yùn)行腳本后就可以從服務(wù)器端拿到推理結(jié)果了。

飛槳的PaddleHub已經(jīng)幫我們做好了各種處理過(guò)程。相信只要有一些 Python 基礎(chǔ),在本地預(yù)測(cè)、以及部署到服務(wù)器端都是沒問(wèn)題的。

更多預(yù)訓(xùn)練模型,馬上了解PaddleHub

大家看到的AI情話,包括之前疫情期間開源的口罩人臉檢測(cè)模型,都只是飛槳模型生態(tài)的冰山一角,更多的高質(zhì)量的預(yù)訓(xùn)練模型,歡迎登錄飛槳官網(wǎng)了解。

  地址:https://www.paddlepaddle.org.cn/hublist

歡迎關(guān)注課程直播

飛槳模型生態(tài)的發(fā)展,離不開每一位開發(fā)者的貢獻(xiàn),值得一提的是,我們本次的AI情話模型,也是開發(fā)者在AI Studio平臺(tái)基于ERNIE-GEN的代碼訓(xùn)練并貢獻(xiàn)到PaddleHub上的,我們也歡迎更多的開發(fā)者可以加入進(jìn)來(lái),一起把深度學(xué)習(xí)模型玩起來(lái)用起來(lái),看看通過(guò)豐富的預(yù)訓(xùn)練模型還能構(gòu)造出哪些有趣的任務(wù)滿足七夕的需求吧。

同時(shí)我們相信還有很多技術(shù)達(dá)人想了解更多模型微調(diào)的技術(shù)細(xì)節(jié),為了滿足大家的需求,我們將于8月27日晚上19:00在【飛槳PaddlePaddle】B站賬號(hào)上開一場(chǎng)直播課為大家進(jìn)行講解,敬請(qǐng)關(guān)注~

分享到

zhangnn

相關(guān)推薦