ITBear旗下自媒體矩陣:

助攻七夕脫單!百度飛槳發(fā)布“AI情話”模型

   時(shí)間:2020-08-24 16:35:35 來源:互聯(lián)網(wǎng)編輯:星輝 發(fā)表評(píng)論無障礙通道

為了在8月25日這天給鋼鐵直男們助攻一個(gè)浪漫優(yōu)雅的七夕節(jié),飛槳的研發(fā)人員也是蠻拼的!為了給開發(fā)者謀福利,加班加點(diǎn)在PaddleHub上線了AI情話和情詩模型!

話不多說,咱們直接看效果!

AI情話實(shí)測(cè)效果展示

輸入:

你問我多喜歡你

生成

你問我多喜歡你,

我也說不出來,

我心里明白,

我寧愿跟你吵架也不愿意去愛別人。

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

再試試,輸入:

你有打火機(jī)么?

生成:

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

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

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

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

輸入:

吾愛秋香

生成:

吾慕斯人不以官,

愛閑能有幾人閑。

秋來莫作功名看,

香滿南山雪滿山。

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

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

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

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

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

這是怎么做到的?

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

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

ERNIE-GEN是面向生成任務(wù)的預(yù)訓(xùn)練-微調(diào)框架,首次在預(yù)訓(xùn)練階段加入span-by-span 生成任務(wù),讓模型每次能夠生成一個(gè)語義完整的片段。在預(yù)訓(xùn)練和微調(diào)中通過填充式生成機(jī)制和噪聲感知機(jī)制來緩解曝光偏差問題。此外, 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藏頭詩(ernie_gen_acrostic_poetry)等模型在微調(diào)時(shí)首先通過加載ERNIE 1.0中文模型參數(shù)完成熱啟動(dòng),然后采用開發(fā)者在網(wǎng)絡(luò)上搜集到的情詩、情話數(shù)據(jù),基于ERNIE-GEN框架進(jìn)行微調(diào)。與傳統(tǒng)的Seq2Seq做法相比,該模型實(shí)際使用效果具備更強(qiáng)的泛化能力,即使是微調(diào)使用的數(shù)據(jù)集中沒見過的詞匯或句子,模型也能夠理解。例如輸入“小編帶大家了解一下程序員情人節(jié)”,將會(huì)輸出:

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

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

想知道怎么用嗎?

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

飛槳PaddleHub的開發(fā)者提供了AI情話、AI藏頭詩、AI對(duì)聯(lián)、AI寫詩四種文本生成的示例代碼,通過 Notebook 文件,我們能更形象地了解模型使用的完整過程。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ù)器端發(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)幫我們做好了各種處理過程。相信只要有一些 Python 基礎(chǔ),在本地預(yù)測(cè)、以及部署到服務(wù)器端都是沒問題的。

更多預(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)來,一起把深度學(xué)習(xí)模型玩起來用起來,看看通過豐富的預(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)注~

舉報(bào) 0 收藏 0 打賞 0評(píng)論 0
 
 
更多>同類資訊
全站最新
熱門內(nèi)容
網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系方式  |  版權(quán)聲明  |  網(wǎng)站留言  |  RSS訂閱  |  違規(guī)舉報(bào)  |  開放轉(zhuǎn)載  |  滾動(dòng)資訊  |  English Version