允中 發自 凹非寺
量子位 編輯 | 公眾號 QbitAI
廣大的鋼鐵直男們,七夕節快要到了,給女朋友的禮物下單了麼?玫瑰鮮花預訂好了麼?燭光晚餐籌備了麼?
什麼?!還有沒女朋友的或者還沒有向女神表白的?
要想贏得女神芳心,文(甜)藝(言)情(蜜)話(語)也是不能少的!
但是,禮物的小賀卡上準備好要寫什麼了嗎?打電話或者見面後準備說啥?還在說「XX,我愛你」,「XX,我們白頭到老」麼?還是一直撓頭不知道怎麼表達?
沒關係,AI來拯救你!
AI情話、AI藏頭詩、AI情詩大禮包開源上線啦!
為了在8月25日這天給鋼鐵直男們助攻一個浪漫優雅的七夕節,飛槳的研發人員也是蠻拼的!為了給開發者謀福利,加班加點在PaddleHub上線了AI情話和情詩模型!
話不多說,咱們直接看效果!
AI情話實測效果展示
輸入:
你問我多喜歡你
生成:
你問我多喜歡你,
我也說不出來,
我心裡明白,
我寧願跟你吵架也不願意去愛別人。
哎媽呀,淚奔了,哭的不要不要的!
再試試,輸入:
你有打火機麼?
生成:
你有打火機麼? 沒有啊!那你怎麼點燃我的心的?
效果炸裂,這還只是一個AI情話功能。
要是再整首詩寫在小卡片上,女神的心能瞬間化成一江春水向東流。。。
AI藏頭詩實測效果展示
輸入:
吾愛秋香
生成:
吾慕斯人不以官,
愛閒能有幾人閒。
秋來莫作功名看,
香滿南山雪滿山。
一戰深藏功與名!
目前演示頁限制是七言絕句,如果是需要其它的七言律詩、五言絕句和五言律詩,可以通過代碼調用,效果也是妥妥的!
是不是著急了?我仿佛看到一群大老爺們兒向我殺來。
我這就把連結交出來,大家快來我們PaddleHub官網上體驗吧:
https://www.paddlepaddle.org.cn/hub/scene/aiwriting
這是怎麼做到的?
這樣炸裂效果的背後,離不開頂尖的ERNIE-GEN 算法加持,什麼?不知道ERNIE-GEN?ERNIE聽說過吧,NLP領域模型中的帶頭大哥,曾經斬獲多項大獎!後來經過不斷研發,ERNIE又衍生出了很多其它模型或組件,形成了ERNIE家族!ERNIE-GEN就是其中優秀一員。
熱心的說明:下面是講技術的環節,想了解怎麼用的小夥伴可以快速往下滑
ERNIE-GEN是面向生成任務的預訓練-微調框架,首次在預訓練階段加入span-by-span 生成任務,讓模型每次能夠生成一個語義完整的片段。在預訓練和微調中通過填充式生成機制和噪聲感知機制來緩解曝光偏差問題。此外, ERNIE-GEN 採用多片段-多粒度目標文本採樣策略, 增強源文本和目標文本的關聯性,加強了編碼器和解碼器的交互。
更多詳情參考論文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)等模型在微調時首先通過加載ERNIE 1.0中文模型參數完成熱啟動,然後採用開發者在網絡上搜集到的情詩、情話數據,基於ERNIE-GEN框架進行微調。與傳統的Seq2Seq做法相比,該模型實際使用效果具備更強的泛化能力,即使是微調使用的數據集中沒見過的詞彙或句子,模型也能夠理解。
例如輸入「小編帶大家了解一下程式設計師情人節」,將會輸出:
實際上「程式設計師」「資料庫」這些詞是從未出現在情話數據集中的,但是得益於知識增強的語義表示模型ERNIE帶來的泛化能力,使模型仍然能夠領悟到二者之間的關係。同時ERNIE-GEN獨特的填充生成機制和噪聲感知生成的策略,使得微調後模型文本生成效果更加自然流暢,相比傳統的基於RNN結合Seq2Seq的生成做法,所需的訓練數據量更小,而且文本生成效果更有內涵。
正如模型輸出所言,希望在七夕這一天,我們的程序都能夠正常的工作,大家可以放心地過個愉快的情人節。
想知道怎麼用嗎?
整個預訓練模型只要求安裝PaddlePaddle 與 PaddleHub,諸位兄弟只需要了解基礎 Python 就能跑得動。
飛槳PaddleHub的開發者提供了AI情話、AI藏頭詩、AI對聯、AI寫詩四種文本生成的示例代碼,通過 Notebook 文件,我們能更形象地了解模型使用的完整過程。AI Studio項目地址如下:
https://aistudio.baidu.com/aistudio/projectdetail/746002
以下為調用AI情話預訓練模型的代碼:
import paddlehub as hub
#導入預訓練模型
module = hub.Module(name="ernie_gen_lover_words")
#準備輸入開頭數據
test_texts = ['情人節']
#執行文本生成
results = module.generate(texts=test_texts, use_gpu=True, beam_width=5)
#列印輸出結果
for result in results:
print(result)
運行這個腳本後,我們就可以收貨了。
哎呀,甜度太高了,有點上頭。
[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
['情人節,我願做一條魚,任你紅燒、白煮、清蒸,然後躺在你溫柔的胃裡。', '情人節,對你的思念太重,壓斷了電話線,燒壞了手機卡,掏盡了錢包袋,吃光了安眠藥,哎!可我還是思念你。', '情人節,對你的思念太重,壓斷了電話線,燒壞了手機卡,掏盡了錢包袋,吃光了安眠藥,哎!可我還是思念你,祝你情人節快樂!', '情人節,對你的思念太重,壓斷了電話線,燒壞了手機卡,掏盡了錢包袋,吃光了安眠藥,唉!可我還是思念你,祝你情人節快樂!', '情人節,對你的思念太重,壓斷了電話線,燒壞了手機卡,掏盡了錢包袋,吃光了安眠藥,哎!可是我還是思念你。']
如果有服務化部署的需求,藉助 PaddleHub,伺服器端的部署也非常簡單,直接用一條命令行在伺服器啟動模型就行了:
!hub serving start -m ernie_gen_lover_words -p 8866
是的,就是這麼簡單,一行搞定伺服器端!相比手動配置各種參數或者調用各種框架,PaddleHub的伺服器端部署實在是太好用了。
只要在伺服器端完成部署,剩下在客戶端調用就問題不大了。如下為客戶端向伺服器端發送請求做推理的示例腳本,包括制定要推理的輸入文本、發送推理請求、返回並保存推理結果幾個部分。
import requests
import json
# 發送HTTP請求
data = {'texts':['情人節'],
'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))
# 保存結果
results = r.json()["results"]
for result in results:
print(result)
如下所示,運行腳本後就可以從伺服器端拿到推理結果了。
飛槳的PaddleHub已經幫我們做好了各種處理過程。相信只要有一些 Python 基礎,在本地預測、以及部署到伺服器端都是沒問題的。
更多預訓練模型,馬上了解PaddleHub
大家看到的AI情話,包括之前疫情期間開源的口罩人臉檢測模型,都只是飛槳模型生態的冰山一角,更多的高質量的預訓練模型,歡迎登錄飛槳官網了解。
地址:https://www.paddlepaddle.org.cn/hublist
歡迎加入社群
飛槳模型生態的發展,離不開每一位開發者的貢獻,值得一提的是,我們本次的AI情話模型,也是開發者在AI Studio平臺基於ERNIE-GEN的代碼訓練並貢獻到PaddleHub上的,我們也歡迎更多的開發者可以加入進來,一起把深度學習模型玩起來用起來,看看通過豐富的預訓練模型還能構造出哪些有趣的任務滿足七夕的需求吧。
同時我們相信還有很多技術達人想了解更多模型微調的技術細節,為了滿足大家的需求,我們將於8月27日開一場直播課為大家進行講解。
歡迎大家掃碼加入我們的微信群,第一時間獲取直播連結,與更多深度學習開發者交流,並有機會參與七夕晚上群內的抽獎活動!
如掃碼失敗,請添加微信15711058002,並備註「Hub」,飛槳小哥哥會拉你入群。
如果您想詳細了解更多飛槳的相關內容,請參閱以下文檔。
官網地址:https://www.paddlepaddle.org.cn
飛槳開源框架項目地址:
GitHub: https://github.com/PaddlePaddle/Paddle
Gitee: https://gitee.com/paddlepaddle/Paddle
飛槳PaddleHub項目地址:
GitHub: https://github.com/PaddlePaddle/PaddleHub
Gitee: https://gitee.com/paddlepaddle/PaddleHub
— 完 —
量子位 QbitAI · 頭條號籤約作者
վ'ᴗ' ի 追蹤AI技術和產品新動態
原標題:《七夕節脫單「神助攻」!AI教你寫情話》
閱讀原文