要啥給啥的寫作AI:新聞評論小說能編,題材風格隨便選,真假難辨
AI編故事,一模更比一模秀。
這裡“一模”,自然是OpenAI橫空出世的GPT-2。但今日更秀的另一模型,來自Salesforce——全球最大的SaaS提供商,雖然之前AI能力展露不多,但這一次,絕對一鳴驚人。
作家知道會沉默,評論水軍看了要流淚。因為定向化編故事、生成文案評論的能力,實在太強了!
話不多說,直接看“作品”。
定向化編故事,真假難辨
給它一把刀,它編出了這樣的“恐怖故事”:
刀柄從洞裡拔了出來。當刀擊中我時,我嚇了一跳,驚恐地睜大了眼睛。除了嗚咽聲,我只聽到她的尖叫聲。
蜘蛛準備挖她上面的拱頂時,碰到了她的腳,小傢伙的眼淚開始流下來。蜘蛛抬頭看著她,回望著我,眼裡充滿了熱淚。我的心開始狂跳……
有情景、有邏輯、有細節,還有故事性,寫作功力簡直職業作家水平。
還能編出“買家好評”:
刀是一種工具,這個很好用。這是我買給我丈夫的。他拿到它們之後就一直用它們來切肉。
他說它們很鋒利,所以使用時要小心,但這似乎不是什麼大問題。從雞胸肉到牛裡脊肉,他都切過……
相比無腦好評的水軍,AI給出的結果很難想象是機器寫的,核心資訊點、細節,全都有了。
但寫得好、寫得真假難辨,還不是重點!
更關鍵的是,這個模型的獨特之處——只需要給出條件, 它就能“定向”編故事,寫命題作文,指哪打哪,想寫什麼風格就寫什麼風格。
與腦洞過於天馬行空的GPT-2相比,它更能夠被人馴服利用。
於是模型放出後,很快就引起了業內人士的關注。也有人給出評價:
這太酷了!能夠以更結構化的方式控制文字生成非常有價值。
而且,這個NLP模型具有16億引數,比之前最大的GPT-2還要多一個億。
雖然同樣擔心模型被濫用,但在研究人員看來,開放可能會更好,能讓更多的人蔘與進來,一起抵抗。
所以,他們直接在GitHub上放出了多個全尺寸的、經過訓練的 CTRL 版本。而不是像GPT-2一樣,擠牙膏開源。
而且,它還是個全能選手,不僅能編故事,比如在Reddit論壇健身、理 財板塊發表不同的評論。
它還有很多正經用途:編寫維基百科詞條、回答各類常識問題、翻譯文字等等。
那麼這是一個怎樣的NLP模型?
16億引數的語言模型
這個模型,有一個非常有“靈性”的名字: CTRL,全稱為Conditional Transformer Language,基於條件的Transformer語言模型。
自從有了Transformer,文字生成領域的大前輩就一個接著一個,這廂BERT開創先河,那廂GPT-2都能寫論文了。
但是,與人類的創作方法不同,生成的文字再以假亂真,語言模型前輩們也不能按照特定的主題來寫作內容。
於是,CTRL誕生了。
這是一個擁有多達 16億引數的條件Transformer語言模型(GPT-2模型引數15億),採用無監督學習,並且正如其名,能夠對文字生成的內容進行更精準的控制。
比如給出一個商品評分:1.0。
GPT-2生成的內容是這樣的:
而CTRL,會生成這樣的結果:
我為我兒子買了這個,他是這個節目的忠實粉絲。在拿到它之前,他非常期待。但當他開啟它時,我們都非常失望。產品質量太差了。它看起來就像是一元店裡的東西。
這玩意兒狀況很差。前蓋上有幾處劃痕以及其他一些輕微磨損……
實現的關鍵,在於 控制程式碼(control codes)。
CTRL以控制程式碼c為條件,學習分佈 p ( x | c )。這一分佈可以用概率鏈規則分解,並通過考慮控制程式碼的損失來進行訓練。
控制程式碼能使使用者意圖為語言模型所理解。
通過標註訓練資料集的特定標籤,CTRL模型中大部分控制程式碼能指定生成文字的整體樣式。
即使給出的提示(prompt)相同,控制程式碼也允許生成多樣化的內容。並且,就算不給提示,CTRL一樣能生成特定風格的文字。
△在有控制程式碼的情況下,開頭也不用給
而將控制程式碼新增到標籤程式碼中,可以進一步限制生成。
比如在OpenWebText版本中,在每一個文件後面加入URL地址,作為輸入序列的開頭。
這樣,CTRL在訓練過程中,就會學習這些URL的結構和文字之間的關係。在推理過程中,URL可以指定各種功能,包括域,子域,實體,實體關係,乃至日期。
除此之外,還有一小部分控制程式碼是與問答、翻譯這樣的特定任務相關的。這些控制程式碼相對複雜。
好玩的是,混合控制程式碼會產生一些有意思的文字。
比如把翻譯控制程式碼混合到飲食這個標籤中,生成的文字就擁有了兩種不同語言的版本:
再比如說把政治和法語提示混到一起:
這些組合,在此前的訓練中都 沒有出現過。
值得一提的是,CTRL的訓練文字資料多達140GB,包括維基百科,Gutenberg上的書籍,OpenWebText2資料集(GPT-2網頁文字資料集克隆版),大量新聞資料集,亞馬遜評價,來自ELI5的問答,以及包括史丹佛問答資料集在內的MRQA共享任務等等等等。
資料集雖然沒有開源,但Salesforce表示,他們會發布與資料收集相關的程式碼。
以及,由於控制程式碼和用於訓練模型的文字之間存在直接關係,CTRL能判斷出新文字生成時對其影響最大的資料來源是哪一個。
全球最大的SaaS服務提供商出品
這篇論文來自 Salesforce——全球最大的SaaS服務提供商。
最近最為人關注的是一次大規模商業併購:豪擲157億美元收購大資料公司Tableau。
Salesforce Research是其內部的研究部門,核心目標是用AI來解決業務中的問題,已經在NLP領域頗有建樹。
目前,這一部門由Salesforce的首席科學家Richard Socher領導。
他博士畢業於史丹佛大學計算機系。2016年,自己創辦的公司被Salesforce收購後,加入Salesforce。
根據他個人網站資訊,僅在2019年他就釋出了11篇頂會論文,其中ACL 2019 3篇;ICLR 2019 6篇;CVPR 2019 1篇;ICML 2019 3篇。
他也是這篇論文的作者之一。這篇論文的其他作者,都是Salesforce Research的研究員。第一作者有兩位,分別是Nitish Shirish Keskar和Bryan McCann。
其中,Nitish Shirish Keskar是Salesforce的高階研究員,博士畢業於西北大學,研究方向為深度學習及其在自然語言處理和計算機視覺方面的應用。他的個人頁面顯示,已經發表了14篇論文,其中不乏ICLR等頂會。
Bryan McCann也是Salesforce高階研究員,畢業於史丹佛大學,曾經擔任過吳恩達機器學習課程的助理,研究方向是深度學習及其在自然語言處理方面的應用。個人網站顯示,他發表過7篇論文,不乏ACL、NeurIPS、EMNLP等AI頂會。
引發引數熱議
這一研究成果,也引起了大家對模型引數的討論。
有人說,15億引數也好,16億引數也罷,要是英偉達的Megatron放出來,80億引數肯定都通通碾壓。
但也有人給出冷思考,表示引數很多並不是優點,而是一個弱點。阿姆斯特丹大學的助理教授Willem Zuidema說:
為什麼規模大是一個賣點?我理解人們為建立了一個非常好的模型而自豪,甚至為找到了在有限的計算資源上訓練大型模型的方法而自豪。
但在我看來,16億引數本身似乎是一個弱點,而不是優勢。
對此,Richard Socher也給出了回應:
確實,假設效能相同,較小的模型更好。但事實證明,只要你在大量的訓練資料上訓練它,語言模型的效能和記憶事實的能力與大小是密切相關的。
Jelle Zuidema再度回應,給出了進一步的解釋:
令我驚訝的是,“最大”是宣告中的第一個形容詞,而“高質量”只是最後一點。
我認為有必要提醒人們,理想的方法仍然是更少的引數、更少的培訓和更好的效能。
你怎麼看?
傳送門
最後,如果你對這個研究感興趣,請收好傳送門:
專案地址:
https://github.com/salesforce/ctrl
論文地址:
https://einstein.ai/presentations/ctrl.pdf
部落格文章:
https://blog.einstein.ai/introducing-a-conditional-transformer-language-model-for-controllable-generation/
— 完 —
https://www.toutiao.com/a6735641978853130763/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2656963/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- BA都在忙些啥 - 寫給新人的BA工作說明書
- 把「中國風」交給老外,能折騰出啥遊戲?遊戲
- 釣魚郵件真假難辨?幾招教你如何辨別
- 公司要給大家更改交社保的公司,這個是啥情況,過來人來說說
- 隨便寫
- AI在用 | 用ChatGPT、Kimi克隆自己的寫作風格AIChatGPT
- mysql索引為啥要選擇B+樹 (下)MySql索引
- mysql索引為啥要選擇B+樹 (上)MySql索引
- Ubuntu linux 為啥要開始選擇ubuntu LINUXUbuntuLinux
- Nginx的mirror指令能幹啥?Nginx
- 自己動手,豐衣足食:從零開始寫個 IDEA 外掛,要啥功能就做啥Idea
- 啥 啥 啥,服務治理是個啥
- 面試 (MySQL 索引為啥要選擇 B+ 樹)面試MySql索引
- 瞭解這幾招 耗材真假您也能輕鬆辨別!
- 智慧寫作新體驗:AI寫作小助手助力內容創作AI
- 我們正在被 DDoS 攻擊,但是我們啥也不幹,隨便攻擊...
- 軟體編寫風格
- 新媒體編輯要做啥工作?新媒體初學
- 想學Java要啥基礎?Java
- 部落格園小編,請給我一個說法 20210315
- 給女朋友講ActiveMQ是啥?MQ
- 高難度畫素風格動作遊戲引薦與評價遊戲
- AIGC能幫DBA做點啥AIGC
- 我在京東做研發丨“真假難辨”的數字人是如何合成的?
- 你說寫程式碼,最常用的3個設計模式是啥?設計模式
- 中文寫作排版風格指南
- 「譯」懂點那啥編譯編譯
- JS 編譯器都做了啥?JS編譯
- 【Spring淺析】一、 BeanFactory 有啥可說的?SpringBean
- 久違的更新,隨便寫一點
- 給ITPub部落格小編的幾句話
- ES 不香嗎,為啥還要 ClickHouse?
- 實體類為啥要序列化
- 為啥要繼承一個空介面繼承
- 讀阿里人如何寫週報一文後,想說點啥阿里
- Linux作業系統好學嗎?Linux運維要先學些啥?Linux作業系統運維
- Python是啥呢?能拿來幹嘛?Python
- 新客為啥留不住?只因你沒有掌握復購分析的方法論