
“李太白少时 , 梦所用之笔头上生花后天才赡逸 , 名闻天下。” —— 王仁裕《开元天宝遗事 · 梦笔头生花》
TextBox 2.0: Perpustakaan pembuatan teks dengan model bahasa pra-terlatih
TextBox 2.0 adalah perpustakaan pembuatan teks terkini berdasarkan Python dan Pytorch yang berfokus pada pembangunan pipa yang terpadu dan standar untuk menerapkan model bahasa pra-terlatih untuk pembuatan teks:
Dibandingkan dengan versi TextBox sebelumnya, ekstensi ini terutama berfokus pada pembangunan kerangka kerja yang terpadu, fleksibel, dan standar untuk model pembuatan teks berbasis PLM yang lebih mendukung. Ada tiga keuntungan dari TextBox 2.0:

Kerangka keseluruhan TextBox 2.0
Mempertimbangkan bahwa versi transformer yang dimodifikasi akan diinstal, disarankan untuk membuat lingkungan Conda baru:
conda create -n TextBox python=3.8Kemudian, Anda dapat mengkloning repositori kami dan menginstalnya dengan satu klik.
git clone https://github.com/RUCAIBox/TextBox.git && cd TextBox
bash install.sh Jika Anda menghadapi masalah ROUGE-1.5.5.pl - XML::Parser dependency error Saat Menginstal files2rouge , Anda dapat merujuk pada masalah ini.
Ini adalah templat skrip untuk menjalankan TextBox 2.0 dalam pipa ujung ke ujung:
python run_textbox.py --model= < model-name > --dataset= < dataset-name > --model_path= < hf-or-local-path > Pengganti --model=<xxx> , --dataset=<xxx> dan --model_path=<xxx> dengan pilihan Anda.
Pilihan model dan model_path dapat ditemukan dalam model. Kami memberikan instruksi terperinci dari setiap model di halaman itu.
Pilihan dataset dapat ditemukan dalam dataset. Anda harus mengunduh dataset di https://huggingface.co/rucaibox dan letakkan dataset yang diunduh di bawah folder dataset seperti Samsum. Jika Anda ingin menggunakan dataset Anda sendiri, silakan merujuk di sini.
Skrip di bawah ini akan menjalankan model BART-base Facebook pada dataset samsum :
python run_textbox.py --model=BART --dataset=samsum --model_path=facebook/bart-baseUntuk pelatihan dasar, kami menyediakan tutorial terperinci (di sini) untuk pengaturan parameter yang umum digunakan seperti pengoptimal, penjadwal, frekuensi validasi, penghentian awal, dan sebagainya.
TextBox 2.0 memberikan empat tujuan pra-pelatihan untuk membantu pengguna pra-melatih model dari awal, termasuk pemodelan bahasa, pemodelan urutan-ke-urutan bertopeng, pengkodean otomatis denoising, dan prediksi rentang bertopeng. Lihat dokumen pra-pelatihan untuk tutorial terperinci.
Empat metode pelatihan yang berguna disediakan untuk meningkatkan optimalisasi PLM: Data Paralel yang terdistribusi, decoding yang efisien, optimasi hiper-parameter, dan percobaan berulang. Instruksi terperinci disediakan di sini.
Untuk mendukung kemajuan cepat PLM pada pembuatan teks, TextBox 2.0 menggabungkan 47 model/modul, yang mencakup kategori umum, terjemahan, Cina, dialog, terkontrol, disuling, diminta, dan model ringan (modul). Lihat Model Doc untuk informasi tentang instruksi penggunaan terperinci dari masing-masing model, parameter model pra-terlatih, dan parameter pembuatan.
Sekarang kami mendukung 13 tugas generasi (misalnya, terjemahan, dan pembuatan cerita) dan 83 dataset yang sesuai. Kami juga memberikan deskripsi, statistik dasar, sampel pelatihan/validasi/pengujian, dan papan peringkat untuk setiap dataset. Lihat detail lebih lanjut di sini.
TextBox 2.0 mendukung 17 metrik otomatis dari 4 kategori dan beberapa alat visualisasi untuk mengeksplorasi dan menganalisis teks yang dihasilkan dalam berbagai dimensi. Untuk detail evaluasi, lihat dokumen evaluasi.
| Pelepasan | Tanggal | Fitur |
|---|---|---|
| v2.0.1 | 24/12/2022 | TextBox 2.0 |
| v2.0.0 | 20/08/2022 | Beta TextBox 2.0 |
| V0.2.1 | 15/04/2021 | Kotak teks |
| V0.1.5 | 01/11/2021 | Kotak teks dasar |
Beri tahu kami jika Anda menemukan bug atau memiliki saran dengan mengajukan masalah.
Kami menyambut semua kontribusi dari perbaikan bug ke fitur dan ekstensi baru.
Kami berharap semua kontribusi yang dibahas dalam pelacak masalah dan melalui PRS.
Kami berterima kasih kepada @lucastsui0725 karena berkontribusi model HRED dan beberapa metrik evaluasi.
Kami berterima kasih kepada @wxdai karena berkontribusi pointernet dan lebih dari 20 model bahasa di Transformers API.
TextBox dikembangkan dan dikelola oleh AI Box.
TextBox menggunakan lisensi MIT.
Jika Anda menemukan TextBox 2.0 berguna untuk penelitian atau pengembangan Anda, silakan kutip makalah berikut:
@inproceedings{tang-etal-2022-textbox,
title = "{T}ext{B}ox 2.0: A Text Generation Library with Pre-trained Language Models",
author = "Tang, Tianyi and Li, Junyi and Chen, Zhipeng and Hu, Yiwen and Yu, Zhuohao and Dai, Wenxun and Zhao, Wayne Xin and Nie, Jian-yun and Wen, Ji-rong",
booktitle = "Proceedings of the The 2022 Conference on Empirical Methods in Natural Language Processing: System Demonstrations",
month = dec,
year = "2022",
address = "Abu Dhabi, UAE",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2022.emnlp-demos.42",
pages = "435--444",
}
@inproceedings{textbox,
title = "{T}ext{B}ox: A Unified, Modularized, and Extensible Framework for Text Generation",
author = "Li, Junyi and Tang, Tianyi and He, Gaole and Jiang, Jinhao and Hu, Xiaoxuan and Xie, Puzhao and Chen, Zhipeng and Yu, Zhuohao and Zhao, Wayne Xin and Wen, Ji-Rong",
booktitle = "Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing: System Demonstrations",
month = aug,
year = "2021",
address = "Online",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2021.acl-demo.4",
doi = "10.18653/v1/2021.acl-demo.4",
pages = "30--39",
}