最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

使用預訓練模型自動續(xù)寫文本的四種方法

2022-07-01 18:15 作者:深度之眼官方賬號  | 我要投稿

作者:皮皮雷 來源:投稿

編輯:學姐

這篇文章以中文通用領域文本生成為例,介紹四種常用的模型調用方法。在中文文本生成領域,huggingface上主要有以下比較熱門的pytorch-based預訓練模型:

本文用到了其中的uer/gpt2-chinese-cluecorpussmall和hfl/chinese-xlnet-base,它們都是在通用領域文本上訓練的。

但是要注意有些模型(如CPM-Generate共有26億參數(shù))模型文件較大,GPU有限的情況下可能會OOM。

依賴包:transformers 4

本文使用的例句來源于豆瓣爬下的部分書評。


方法1:transformers.pipline


簡介:

直接調用transformers里面的pipline。

源碼及參數(shù)選擇參考:

https://huggingface.co/docs/transformers/v4.17.0/en/main_classes/pipelines#transformers.pipeline

缺點:不能以batch形式生成句子,不能并行,大規(guī)模調用的時候時間復雜度較高。

方法2:transformers中的TextGenerationPipeline類

源碼及參數(shù)選擇參考:

https://huggingface.co/docs/transformers/v4.17.0/en/main_classes/pipelines#transformers.TextGenerationPipeline

優(yōu)點:相較方法1,可以設置batch size。

方法3:transformers通用方法,直接加載模型

源碼及參數(shù)選擇參考:

https://github.com/huggingface/transformers/blob/c4d4e8bdbd25d9463d41de6398940329c89b7fb6/src/transformers/generation_utils.py#L101

缺點:封裝度較差,代碼較為冗長。

優(yōu)點:由于是transformers調用模型的通用寫法,和其他模型(如bert)的調用方式相似,(如tokenizer的使用),可以舉一反三。

方法4:Simple Transformers

簡介:Simple Transformers基于HuggingFace的Transformers,對特定的NLP經(jīng)典任務做了高度的封裝。在參數(shù)的設置上也較為靈活,可以通過詞典傳入?yún)?shù)。模型的定義和訓練過程非常直觀,方便理解整個AI模型的流程,很適合NLP新手使用。

simple transformers 指南:

https://simpletransformers.ai/docs/language-generation-model/


優(yōu)點:這個包集成了微調的代碼,不僅可以直接做生成,進一步微調也非常方便。

缺點:有些中文模型不能直接輸入huggingface上的模型名稱進行自動下載,會報錯找不到tokenizer文件,需要手動下載到本地。

$ pip install simpletransformers

下載中文生成模型到本地文件夾?models/chinese-xlnet-base

觀察:用gpt2-chinese-cluecorpussmall生成的文本

參數(shù)設置:


注:每一段文字的開頭(標藍)是預先給定的prompt


PS:乍一看生成語句的流利度和自然度都較好,還挺像人話的;而且有些句子能夠按照“書評”的方向寫。但仔細看就會發(fā)現(xiàn)噪音較多,而且容易“自由發(fā)揮”而跑題。這就是自由文本生成的常見問題:因為過于自由而不可控。

那么如何將生成的文本限定在想要的格式或領域中呢?這就是可控文本生成的研究范圍了。一個較為常見的做法是對GPT-2作增量訓練,讓模型熟悉當前的語境。


總結


本文列舉和比較了四種使用pytorch調用生成式模型做文本生成的方式。分別是:

① transformers自帶的pipline

② transformers中的TextGenerationPipeline類

③ transformers通用方法,直接加載模型

④ Simple Transformers


這些方法各有優(yōu)缺點。如果需要后續(xù)微調,建議使用③或④。如果只是簡單地體驗生成效果,建議使用①和②,但是方法①不能以batch形式輸入,速度較慢。


關注【學姐帶你玩AI】公眾號,參與活動贏獎勵~


10個贊學姐的午飯就可以有個雞腿??


使用預訓練模型自動續(xù)寫文本的四種方法的評論 (共 條)

分享到微博請遵守國家法律
南召县| 闵行区| 镇安县| 黄浦区| 南陵县| 昭通市| 宝坻区| 阳西县| 静安区| 新闻| 罗定市| 康保县| 武山县| 固阳县| 宜昌市| 聊城市| 小金县| 安龙县| 丘北县| 桦南县| 普洱| 雷州市| 年辖:市辖区| 兴化市| 怀远县| 淳化县| 色达县| 嘉鱼县| 扬州市| 沂水县| 五大连池市| 五寨县| 上高县| 汝南县| 永和县| 金山区| 孝感市| 高密市| 诸暨市| 项城市| 宁阳县|