日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

妙笔生花:一个易用、高效的文本生成开源库

發(fā)布時(shí)間:2024/10/8 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 妙笔生花:一个易用、高效的文本生成开源库 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文本生成作為近年來自然語言處理中的熱門領(lǐng)域,受到了學(xué)界和工業(yè)界的廣泛關(guān)注。隨著研究的不斷深入,文本生成領(lǐng)域下的子任務(wù)和相應(yīng)的模型越來越豐富,一些優(yōu)秀的開源框架也紛紛涌現(xiàn)。

現(xiàn)有的開源文本生成庫大致可分為兩類,一類傾向于模塊化驅(qū)動(dòng),提供各個(gè)組件供研究者搭建不同的模型,但缺點(diǎn)在于許多特殊的baseline無法通過模塊完成;另一類傾向于baseline驅(qū)動(dòng),方便用戶快速調(diào)用baseline,但缺點(diǎn)在于整體結(jié)構(gòu)不夠統(tǒng)一,可擴(kuò)展性有限。

因此,為了兼顧兩者的優(yōu)勢,我們(中國人民大學(xué)AI BOX團(tuán)隊(duì))推出了新的開源文本生成庫TextBox妙筆),在保證組件模塊化的同時(shí),提供了許多較新baseline的接口,使得研究者一方面可以基于模塊搭建自己的模型,另一方面也可以快速調(diào)用已有的baseline完成實(shí)驗(yàn)。目前相關(guān)代碼和相應(yīng)論文都已上線。

下面讓我們來看看到底有什么厲害的功能吧!

  • 16種模型:覆蓋無條件生成和有條件生成兩個(gè)主流任務(wù),后者主要包括機(jī)器翻譯和自動(dòng)摘要任務(wù)。

  • 6個(gè)數(shù)據(jù)集:提供已處理好的數(shù)據(jù)集,也可以使用我們的庫來處理原始數(shù)據(jù)。

  • 多種評(píng)測方式:支持主流的自動(dòng)評(píng)測指標(biāo),包括通用指標(biāo)和特定任務(wù)指標(biāo)。

  • 易上手、易擴(kuò)展:新手也可快速上手,一鍵復(fù)現(xiàn),搭積木式的靈活開發(fā),想要的模型統(tǒng)統(tǒng)安排!

論文地址:https://arxiv.org/pdf/2101.02046.pdf

項(xiàng)目GitHub地址:https://github.com/RUCAIBox/TextBox

核心特色

TextBox框架具有三大核心特色。

基于PyTorch的統(tǒng)一模塊化框架

TextBox是基于深度學(xué)習(xí)框架PyTorch開發(fā)的文本生成庫。為了統(tǒng)一開發(fā)多種文本生成模型并簡化其開發(fā)難度,TextBox的設(shè)計(jì)是高度模塊化的。它將不同的模型解耦成了一組可高度復(fù)用的模塊,如數(shù)據(jù)模塊、模型模塊、評(píng)估模塊和公共功能模塊。因此,在本框架中,通過簡單而靈活的配置,就可以根據(jù)內(nèi)置的評(píng)估方法來比較不同的文本生成模型。同時(shí),還可以像搭積木一樣插入或者交換模塊,在高度概念化的層面上開發(fā)新的文本生成模型。

全面的基準(zhǔn)模型、數(shù)據(jù)集和評(píng)估。

除了模塊化的設(shè)計(jì)之外,TextBox還包含了廣泛的基準(zhǔn)文本生成模型,其涵蓋了變分自編碼器(VAE)、生成式對抗網(wǎng)絡(luò)(GAN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),基于Transformer的模型,以及預(yù)訓(xùn)練語言模型(PLM)等類別。TextBox通過配置文件或命令行提供靈活的參數(shù)指定來運(yùn)行、比較和測試這些傳統(tǒng)的基準(zhǔn)模型和目前最先進(jìn)的模型。為了構(gòu)建一個(gè)可重用的基準(zhǔn),TextBox整合了許多常用的數(shù)據(jù)集,可以針對不同的文本生成任務(wù)進(jìn)行評(píng)估。例如,我們采用在GigaWord數(shù)據(jù)集上執(zhí)行文本摘要任務(wù),以及在WMT 2014 English to German數(shù)據(jù)集上執(zhí)行機(jī)器翻譯任務(wù)。TextBox支持一系列廣泛使用的評(píng)估算法,用于測試和比較各類文本生成模型,例如評(píng)估語言模型的perplexity和neg-likelihood,評(píng)估翻譯模型的BLEU,以及評(píng)估摘要生成模型的ROUGE。

高度靈活及拓展性強(qiáng)的框架

TextBox在文本生成模型部分提供了多種常用的函數(shù)與模塊的接口。例如RNN encoder-decoder, Transformer encoder-decoder以及各種預(yù)訓(xùn)練語言模型。具有不同需求和專業(yè)背景的用戶可以很方便地選擇不同的接口來構(gòu)建自己的模型,并且能夠基于框架提供的統(tǒng)一評(píng)估標(biāo)準(zhǔn)來對模型進(jìn)行評(píng)估。更重要的是,TextBox提供的接口可以與PyTorch接口完全兼容,允許無縫集成用戶自定義的模塊,使得用戶能夠根據(jù)需要集成任何外部組件。

快速上手

TextBox提供了較好的封裝,我們將提供簡單的tutorial大致介紹如何快速上手。

安裝

目前TextBox支持源代碼安裝和Pip安裝,用戶可以通過下面的簡單命令進(jìn)行安裝使用:

git?clone?https://github.com/RUCAIBox/TextBox.git?&&?cd?TextBox pip?install?-e?.?--verbose或pip?install?textbox

一鍵運(yùn)行

我們在Github提供了一系列一鍵運(yùn)行的腳本,包括訓(xùn)練、單獨(dú)測試:

python?run_textbox.py?--model=RNN?--dataset=COCO?--task_type=unconditional python?run_textbox.py?--model=RNN?--dataset=COCO?--task_type=unconditional?–-load_experiment=<ckpt_file>?--test_only=true

通過上述命令就可以直接在COCO數(shù)據(jù)集上基于RNN模型進(jìn)行無條件生成任務(wù)的訓(xùn)練和單獨(dú)測試。

如果你想改變參數(shù),比如rnn_type、max_vocab_size等,可以按需在命令行設(shè)置額外的參數(shù):

python?run_textbox.py?--model=RNN?--dataset=COCO?--task_type=unconditional?\--rnn_type=lstm?--max_vocab_size=4000

如果你想運(yùn)行別的數(shù)據(jù)集、模型和任務(wù),可以使用

python?run_textbox.py?--model=<model_name>?--dataset=<dataset_name>?--task_type=<task_type>

如果你使用pip安裝,只需新建一個(gè)py文件,添加以下代碼即可實(shí)現(xiàn)模型的訓(xùn)練和測試

from?textbox.quick_start?import?run_textboxrun_textbox(config_dict={'model':?'RNN','dataset':?'COCO','data_path':?'./dataset','task_type':?'unconditional'})

使用預(yù)訓(xùn)練語言模型

TextBox支持部分預(yù)訓(xùn)練語言模型進(jìn)行文本生成任務(wù),下面以GPT-2為例,展示我們?nèi)绾卫妙A(yù)訓(xùn)練語言模型進(jìn)行fine-tuning。

  • 從huggingface提供的模型源(https://huggingface.co/gpt2/tree/main)中下載GPT-2模型,包括config.json, merges.txt, pytorch_model.bin, tokenizer.json和vocab.json五個(gè)文件,將其放在同一個(gè)文件夾下,路徑為pretrained_model/gpt2,與textbox文件夾同級(jí)。

  • 下載好模型之后,直接通過腳本運(yùn)行:

python?run_textbox.py?--model=GPT2?--dataset=COCO?--task_type=unconditional?\--pretrained_model_path=pretrained_model/gpt2

未來展望

至此,“妙筆”文本生成庫的自我介紹就到此結(jié)束啦。未來我們將繼續(xù)努力,開發(fā)更多新的模型,維護(hù)并保持版本穩(wěn)定。有好的建議或意見也歡迎關(guān)注(點(diǎn)擊右邊鏈接關(guān)注??)AI Box公眾號(hào)后臺(tái)留言或者在Github的issues中提問,期待大家的試用體驗(yàn)和寶貴意見。

????

現(xiàn)在,在「知乎」也能找到我們了

進(jìn)入知乎首頁搜索「PaperWeekly」

點(diǎn)擊「關(guān)注」訂閱我們的專欄吧

關(guān)于PaperWeekly

PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺(tái)。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號(hào)后臺(tái)點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。

總結(jié)

以上是生活随笔為你收集整理的妙笔生花:一个易用、高效的文本生成开源库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。