
「李太白少时、梦所用之笔头上生花后天才赡逸、名闻天下。」 - 王仁裕《开元天宝遗事・梦笔头生花》
テキストボックス2.0:事前に訓練された言語モデルを備えたテキスト生成ライブラリ
TextBox 2.0は、PythonとPytorchに基づいた最新のテキスト生成ライブラリであり、事前に訓練された言語モデルをテキスト生成に適用するための統一された標準化されたパイプラインの構築に焦点を当てています。
TextBoxの以前のバージョンと比較して、この拡張機能は主に、PLMベースのテキスト生成モデルをより適切にサポートするための統一された柔軟な、標準化されたフレームワークの構築に焦点を当てています。テキストボックス2.0には3つの利点があります。

テキストボックス2.0の全体的なフレームワーク
変圧器の変更されたバージョンがインストールされることを考慮すると、新しいConda環境を作成することをお勧めします。
conda create -n TextBox python=3.8次に、リポジトリをクローンして、ワンクリックでインストールできます。
git clone https://github.com/RUCAIBox/TextBox.git && cd TextBox
bash install.sh ROUGE-1.5.5.pl - XML::Parser dependency error files2rougeをインストールするときに、この問題を参照することができます。
これは、エンドツーエンドのパイプラインでテキストボックス2.0を実行するスクリプトテンプレートです。
python run_textbox.py --model= < model-name > --dataset= < dataset-name > --model_path= < hf-or-local-path >あなたの選択を使用して、 --model=<xxx> 、 --dataset=<xxx> 、および--model_path=<xxx>を代用してください。
modelとmodel_pathの選択は、モデルにあります。そのページの各モデルの詳細な指示を提供します。
datasetの選択はデータセットに記載されています。 https://huggingface.co/rucaiboxでデータセットをダウンロードし、ダウンロードしたデータセットをSamsumのようにdatasetフォルダーの下に置く必要があります。独自のデータセットを使用したい場合は、こちらを参照してください。
以下のスクリプトは、 samsumデータセットでFacebook BART-baseモデルを実行します。
python run_textbox.py --model=BART --dataset=samsum --model_path=facebook/bart-base基本トレーニングについては、オプティマイザー、スケジューラ、検証頻度、早期停止など、一般的に使用されるパラメーターを設定するための詳細なチュートリアル(こちら)を提供します。
TextBox 2.0は、言語モデリング、マスクされたシーケンスからシーケンスモデリング、自動エンコードの除去、マスクされたスパン予測など、ユーザーがモデルをゼロから事前トレーニングするのに役立つ4つの事前トレーニング目標を提供します。詳細なチュートリアルについては、トレーニング前のドキュメントを参照してください。
PLMSの最適化を改善するための4つの有用なトレーニング方法が提供されています。分散データ並列、効率的なデコード、ハイパーパラメーターの最適化、および繰り返し実験です。詳細な指示はこちらで提供されています。
テキスト生成に関するPLMSの急速な進捗をサポートするために、TextBox 2.0には47のモデル/モジュールが組み込まれており、一般、翻訳、中国語、対話、制御可能、蒸留、プロンプト、および軽量モデル(モジュール)のカテゴリをカバーしています。各モデルの詳細な使用命令、事前訓練されたモデルパラメーター、および生成パラメーターについては、モデルドキュメントを参照してください。
現在、13の世代タスク(翻訳やストーリー生成など)とそれに対応する83のデータセットをサポートしています。また、各データセットの説明、基本統計、トレーニング/検証/テストサンプル、およびリーダーボードも提供します。詳細については、こちらをご覧ください。
TextBox 2.0は、4つのカテゴリの17の自動メトリックと、さまざまな次元で生成されたテキストを調査および分析するためのいくつかの視覚化ツールをサポートしています。評価の詳細については、評価ドキュメントを参照してください。
| リリース | 日付 | 特徴 |
|---|---|---|
| v2.0.1 | 24/12/2022 | テキストボックス2.0 |
| v2.0.0 | 20/08/2022 | テキストボックス2.0ベータ |
| V0.2.1 | 15/04/2021 | テキストボックス |
| v0.1.5 | 01/11/2021 | 基本的なテキストボックス |
バグに遭遇した場合、または問題を提出して提案がある場合はお知らせください。
バグ修正から新機能や拡張機能へのすべての貢献を歓迎します。
Issue TrackerおよびPRSを介して議論されているすべての貢献を期待しています。
Hredモデルといくつかの評価メトリックを貢献してくれた @lucastsui0725に感謝します。
PointernetとTransformers APIに20以上の言語モデルを提供してくれた@WXDAIに感謝します。
テキストボックスは、AIボックスによって開発および維持されています。
TextBoxはMITライセンスを使用します。
テキストボックス2.0が研究や開発に役立つと思われる場合は、次の論文を引用してください。
@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",
}