中国語の説明|英語

このプロジェクトは、中国の自然言語処理リソースを豊かにし、多様な中国の事前訓練を受けたモデル選択を提供することを目的とした、中国のXLNET事前訓練モデルを提供します。すべての専門家と学者を歓迎し、それをダウンロードして使用し、中国の資源の建設を共同で促進し開発します。
このプロジェクトは、CMU/Googleの公式XLNET:https://github.com/zihangdai/xlnetに基づいています
中国語のレート|中国の英語のパート|中国のマッバート|中国のエレクトラ|中国のxlnet |中国のバート|知識蒸留ツールTextBrewer |モデル切削工具TextPruner
Harbin Institute of Technology(HFL)のIFLがリリースするリソースをご覧ください:https://github.com/ymcui/hfl-anthology
2023/3/28オープンソースチャイニーズラマ&アルパカビッグモデルは、PCで迅速に展開および経験することができます。
2022/10/29言語情報を統合する事前に訓練されたモデルLERTを提案します。表示:https://github.com/ymcui/lert
2022/3/30新しい事前訓練を受けたモデルPERTをオープンソース。表示:https://github.com/ymcui/pert
2021/12/17 Iflytek共同研究所は、モデル切削工具キットTextPrunerを起動します。表示:https://github.com/iararia/textpruner
2021/10/24 Iflytek共同研究所は、少数民族の言語向けに事前に訓練されたモデルCINOをリリースしました。ビュー:https://github.com/ymcui/chinese-minority-plm
2021/7/21「自然言語処理:トレーニング前モデルに基づく方法」Harbin Institute of Technology Scirの多くの学者によって書かれた方法が公開されており、誰もがそれを購入できます。
2021/1/27すべてのモデルはTensorflow 2をサポートしています。トランスフォーマーライブラリから電話またはダウンロードしてください。 https://huggingface.co/hfl
2020/8/27 IFL共同研究所は、General Natural Language Understanting評価の接着剤のリストのトップになりました。
2020/3/11ニーズをよりよく理解するために、より良いリソースを提供するためにアンケートに記入するよう招待されています。
2020/2/26 Iflytek共同研究所は、知識蒸留ツールのテキストブリューアーを解放します
2019/12/19このディレクトリに公開されているモデルは、高速負荷を表示するためにHuggingface-Transformersに接続されています
2019/9/5 XLNet-baseダウンロードできます、モデルのダウンロードを表示
2019/8/19は、大規模なユニバーサルコーパス(5.4bワードカウント)でトレーニングされた中国のXLNet-midモデルを提供しています。
| 章 | 説明する |
|---|---|
| モデルダウンロード | 中国語で事前に訓練されたXLNETのダウンロードアドレスを提供します |
| ベースラインシステム効果 | いくつかのベースラインシステム効果をリストします |
| トレーニング前の詳細 | トレーニング前の詳細の説明 |
| ダウンストリームタスク微調整の詳細 | ダウンストリームタスクの微調整の詳細の関連説明 |
| よくある質問 | FAQと回答 |
| 引用 | このディレクトリの技術レポート |
XLNet-mid :24層、768距離、12頭、209mパラメーターXLNet-base :12層、768人の隠れ家、12頭、117mパラメーター| モデルの略語 | 材料 | Googleダウンロード | Baidu Netdiskダウンロード |
|---|---|---|---|
XLNet-mid, Chinese | 中国のwiki+ 一般データ[1] | Tensorflow Pytorch | Tensorflow(パスワード2JV2) |
XLNet-base, Chinese | 中国のwiki+ 一般データ[1] | Tensorflow Pytorch | Tensorflow(パスワードGE7W) |
[1]一般的なデータには、Encyclopedia、News、Q&Aおよびその他のデータが含まれます。これは、私たちがリリースしたBert-WWM-Extトレーニングコーパスと同じ5.4Bに達する合計数の単語があります。
Pytorchバージョンが必要な場合は、
1)トランスが提供する変換スクリプトを通して自分で変換してください。
2)Huggingface:https://huggingface.co/hflの公式ウェブサイトからPytorchを直接ダウンロードする
方法:ダウンロードするモデルをクリックします
中国本土でBaidu NetDiskダウンロードポイントを使用することをお勧めします。また、海外のユーザーはGoogleダウンロードポイントを使用することをお勧めします。 XLNet-midモデルファイルサイズは約800mです。 TensorflowバージョンXLNet-mid, Chineseを例として、ダウンロードした後、ZIPファイルを減圧して取得します。
chinese_xlnet_mid_L-24_H-768_A-12.zip
|- xlnet_model.ckpt # 模型权重
|- xlnet_model.meta # 模型meta信息
|- xlnet_model.index # 模型index信息
|- xlnet_config.json # 模型参数
|- spiece.model # 词表
Huggingface-Transformers 2.2.2に依存すると、上記のモデルを簡単に呼び出すことができます。
tokenizer = AutoTokenizer.from_pretrained("MODEL_NAME")
model = AutoModel.from_pretrained("MODEL_NAME")
MODEL_NAMEの対応するリストは次のとおりです。
| モデル名 | model_name |
|---|---|
| xlnet-mid | HFL/中国語XLNET-MID |
| xlnet-base | HFL/中国語XLNETベース |
ベースライン効果を比較するために、次の中国のデータセットでテストしました。中国のBert、Bert-WWM、Bert-WWM-Ext、XLNet-Base、XLNet-MIDを比較しました。その中でも、中国のバート、バートWWM、およびバートWWM-extの結果は、中国のバートWWMプロジェクトから取得されています。時間とエネルギーは限られており、より多くのカテゴリのタスクをカバーすることができませんでした。自分で試してみてください。
注:結果の信頼性を確保するために、同じモデルで、モデルパフォーマンスの最大値と平均値を報告するために10倍(異なるランダムシード)を実行します。予期しないことが起こらない場合、操作の結果はこの範囲にあるはずです。
評価インジケーターでは、平均値は括弧内に表され、最大値はブラケットの外側に表されます。
** CMRC 2018データセット**は、Iflytek共同研究所によってリリースされた中国の機械読解データです。特定の質問によると、システムは、章から章から断片を答えとして抽出する必要があります。評価指標は次のとおりです。EM / F1
| モデル | 開発セット | テストセット | チャレンジセット |
|---|---|---|---|
| バート | 65.5(64.4) / 84.5(84.0) | 70.0(68.7) / 87.0(86.3) | 18.6(17.0) / 43.3(41.3) |
| bert-wwm | 66.3(65.0) / 85.6(84.7) | 70.5(69.1) / 87.4(86.7) | 21.0(19.3) / 47.0(43.9) |
| bert-wwm-ext | 67.1 (65.6) / 85.7(85.0) | 71.4(70.0) / 87.7(87.0) | 24.0(20.0) / 47.3(44.6) |
| xlnet-base | 65.2(63.0) / 86.9(85.9) | 67.0(65.8) / 87.2(86.8) | 25.0(22.7) / 51.3(49.5) |
| xlnet-mid | 66.8 (66.3) / 88.4(88.1) | 69.3(68.5) / 89.2(88.8) | 29.1(27.1) / 55.8(54.9) |
** DRCDデータセット**は、中国の台湾にあるDelta Research Instituteによってリリースされています。そのフォームは分隊と同じであり、伝統的な中国語に基づいた抽出された読解データセットです。評価指標は次のとおりです。EM / F1
| モデル | 開発セット | テストセット |
|---|---|---|
| バート | 83.1(82.7) / 89.9(89.6) | 82.2(81.6) / 89.2(88.8) |
| bert-wwm | 84.3(83.4) / 90.5(90.2) | 82.8(81.8) / 89.7(89.0) |
| bert-wwm-ext | 85.0(84.5) / 91.2(90.9) | 83.6(83.0) / 90.4(89.9) |
| xlnet-base | 83.8(83.2) / 92.3(92.0) | 83.5(82.8) / 92.2(91.8) |
| xlnet-mid | 85.3(84.9) / 93.5(93.3) | 85.5(84.8) / 93.6(93.2) |
感情分類タスクでは、Chnsenticorpデータセットを使用しました。モデルは、テキスト积极と消极2つのカテゴリに分割する必要があります。評価インジケーターは次のとおりです。精度
| モデル | 開発セット | テストセット |
|---|---|---|
| バート | 94.7(94.3) | 95.0(94.7) |
| bert-wwm | 95.1(94.5) | 95.4(95.0) |
| xlnet-base | ||
| xlnet-mid | 95.8(95.2) | 95.4 (94.9) |
以下は、例としてXLNet-midモデルを使用して、トレーニング前の詳細を説明するためです。
XLNET公式チュートリアルの手順に従ってください。まず、文章を使用して語彙リストを生成する必要があります。このプロジェクトでは、32000の語彙サイズを使用し、残りのパラメーターは公式の例のデフォルト構成で構成されています。
spm_train
--input=wiki.zh.txt
--model_prefix=sp10m.cased.v3
--vocab_size=32000
--character_coverage=0.99995
--model_type=unigram
--control_symbols=<cls>,<sep>,<pad>,<mask>,<eod>
--user_defined_symbols=<eop>,.,(,),",-,–,£,€
--shuffle_input_sentence
--input_sentence_size=10000000
語彙リストを生成した後、元のテキストコーパスを使用してトレーニングTF_RECORDSファイルを生成します。元のテキストは、元のチュートリアルと同じ方法で構築されています。
以下は、データを生成するときのコマンドです(実際のスライス数に基づいてnum_taskとtaskを設定してください):
SAVE_DIR=./output_b32
INPUT=./data/*.proc.txt
python data_utils.py
--bsz_per_host=32
--num_core_per_host=8
--seq_len=512
--reuse_len=256
--input_glob=${INPUT}
--save_dir=${SAVE_DIR}
--num_passes=20
--bi_data=True
--sp_path=spiece.model
--mask_alpha=6
--mask_beta=1
--num_predict=85
--uncased=False
--num_task=10
--task=1
上記のデータを取得した後、トレーニング前のXLNETが正式に開始されます。 XLNet-midと呼ばれる理由は、 XLNet-baseと比較してレイヤーの数が増加し(12層が24層に増加する)、主にコンピューティングデバイスの制限のために残りのパラメーターが変更されていないためです。使用されるコマンドは次のとおりです。
DATA=YOUR_GS_BUCKET_PATH_TO_TFRECORDS
MODEL_DIR=YOUR_OUTPUT_MODEL_PATH
TPU_NAME=v3-xlnet
TPU_ZONE=us-central1-b
python train.py
--record_info_dir=$DATA
--model_dir=$MODEL_DIR
--train_batch_size=32
--seq_len=512
--reuse_len=256
--mem_len=384
--perm_size=256
--n_layer=24
--d_model=768
--d_embed=768
--n_head=12
--d_head=64
--d_inner=3072
--untie_r=True
--mask_alpha=6
--mask_beta=1
--num_predict=85
--uncased=False
--train_steps=2000000
--save_steps=20000
--warmup_steps=20000
--max_save=20
--weight_decay=0.01
--adam_epsilon=1e-6
--learning_rate=1e-4
--dropout=0.1
--dropatt=0.1
--tpu=$TPU_NAME
--tpu_zone=$TPU_ZONE
--use_tpu=True
ダウンストリームタスクの微調整に使用されるデバイスは、Google Cloud TPU V2(64G HBM)です。以下は、微調整が実行されたときの各タスクの構成について簡単に説明します。微調整にGPUを使用する場合は、対応するパラメーターを変更して、特にbatch_size 、 learning_rate 、その他のパラメーターを適応してください。関連コードについては、 srcディレクトリを確認してください。
読解タスクの場合、TF_RECORDSデータが最初に必要です。 XLNET公式チュートリアルの分隊2.0処理方法を参照してください。これについてはここで説明しません。以下は、CMRC 2018中国の機械読解タスクで使用されるスクリプトパラメーターです。
XLNET_DIR=YOUR_GS_BUCKET_PATH_TO_XLNET
MODEL_DIR=YOUR_OUTPUT_MODEL_PATH
DATA_DIR=YOUR_DATA_DIR_TO_TFRECORDS
RAW_DIR=YOUR_RAW_DATA_DIR
TPU_NAME=v2-xlnet
TPU_ZONE=us-central1-b
python -u run_cmrc_drcd.py
--spiece_model_file=./spiece.model
--model_config_path=${XLNET_DIR}/xlnet_config.json
--init_checkpoint=${XLNET_DIR}/xlnet_model.ckpt
--tpu_zone=${TPU_ZONE}
--use_tpu=True
--tpu=${TPU_NAME}
--num_hosts=1
--num_core_per_host=8
--output_dir=${DATA_DIR}
--model_dir=${MODEL_DIR}
--predict_dir=${MODEL_DIR}/eval
--train_file=${DATA_DIR}/cmrc2018_train.json
--predict_file=${DATA_DIR}/cmrc2018_dev.json
--uncased=False
--max_answer_length=40
--max_seq_length=512
--do_train=True
--train_batch_size=16
--do_predict=True
--predict_batch_size=16
--learning_rate=3e-5
--adam_epsilon=1e-6
--iterations=1000
--save_steps=2000
--train_steps=2400
--warmup_steps=240
以下は、DRCDの従来の中国の機械の読解タスクで使用されるスクリプトパラメーターです。
XLNET_DIR=YOUR_GS_BUCKET_PATH_TO_XLNET
MODEL_DIR=YOUR_OUTPUT_MODEL_PATH
DATA_DIR=YOUR_DATA_DIR_TO_TFRECORDS
RAW_DIR=YOUR_RAW_DATA_DIR
TPU_NAME=v2-xlnet
TPU_ZONE=us-central1-b
python -u run_cmrc_drcd.py
--spiece_model_file=./spiece.model
--model_config_path=${XLNET_DIR}/xlnet_config.json
--init_checkpoint=${XLNET_DIR}/xlnet_model.ckpt
--tpu_zone=${TPU_ZONE}
--use_tpu=True
--tpu=${TPU_NAME}
--num_hosts=1
--num_core_per_host=8
--output_dir=${DATA_DIR}
--model_dir=${MODEL_DIR}
--predict_dir=${MODEL_DIR}/eval
--train_file=${DATA_DIR}/DRCD_training.json
--predict_file=${DATA_DIR}/DRCD_dev.json
--uncased=False
--max_answer_length=30
--max_seq_length=512
--do_train=True
--train_batch_size=16
--do_predict=True
--predict_batch_size=16
--learning_rate=3e-5
--adam_epsilon=1e-6
--iterations=1000
--save_steps=2000
--train_steps=3600
--warmup_steps=360
読解タスクとは異なり、分類タスクではTF_RECORDSを事前に生成する必要はありません。以下は、Chnsenticorp感情分類タスクで使用されるスクリプトパラメーターです。
XLNET_DIR=YOUR_GS_BUCKET_PATH_TO_XLNET
MODEL_DIR=YOUR_OUTPUT_MODEL_PATH
DATA_DIR=YOUR_DATA_DIR_TO_TFRECORDS
RAW_DIR=YOUR_RAW_DATA_DIR
TPU_NAME=v2-xlnet
TPU_ZONE=us-central1-b
python -u run_classifier.py
--spiece_model_file=./spiece.model
--model_config_path=${XLNET_DIR}/xlnet_config.json
--init_checkpoint=${XLNET_DIR}/xlnet_model.ckpt
--task_name=csc
--do_train=True
--do_eval=True
--eval_all_ckpt=False
--uncased=False
--data_dir=${RAW_DIR}
--output_dir=${DATA_DIR}
--model_dir=${MODEL_DIR}
--train_batch_size=48
--eval_batch_size=48
--num_hosts=1
--num_core_per_host=8
--num_train_epochs=3
--max_seq_length=256
--learning_rate=2e-5
--save_steps=5000
--use_tpu=True
--tpu=${TPU_NAME}
--tpu_zone=${TPU_ZONE}
Q:より大きなモデルがリリースされますか?
A:わからない、保証されていない。パフォーマンスの大幅な改善が得られる場合は、公開を検討します。
Q:一部のデータセットでは良くありませんか?
A:他のモデルを選択するか、このチェックポイントでトレーニング前にデータを使用し続けます。
Q:トレーニング前のデータはリリースされますか?
A:申し訳ありませんが、著作権の問題のために公開することはできません。
Q:XLNETのトレーニングにはどれくらい時間がかかりますか?
A: XLNet-midトレーニング2mステップ(Batch = 32)を使用して、Cloud TPU V3(128G HBM)を使用して約3週間かかります。 XLNet-baseトレーニング4Mステップ。
Q:XLNETが多言語または中国のXLNETを公式にリリースしていないのはなぜですか?
a :(以下は個人的な意見です)不明であり、多くの人は、XLNET-Issue-#3をクリックすることを望んでいるというメッセージを残しました。 XLNETの公式テクノロジーとコンピューティングパワーを使用すると、このようなモデルのトレーニングは難しくありません(多言語バージョンはより複雑であり、異なる言語間のバランスを考慮する必要があります。多言語の説明を参照することもできます。)しかし、一方でそれについて考えて、著者はそうする義務はありません。学者として、彼らの技術貢献は十分であり、彼らが公開されていない場合、彼らは批判されるべきではなく、他の人の仕事を合理的に扱うように皆に呼びかけます。
Q:ほとんどの場合、XLNETはBertよりも優れていますか?
A:現在、少なくとも上記のタスクは効果的であり、使用されるデータはリリースしたBert-WM-Extと同じです。
Q:?
A:。
このディレクトリのコンテンツが研究作業に役立つ場合は、論文の次の技術レポートを参照してください:https://arxiv.org/abs/2004.13922
@inproceedings{cui-etal-2020-revisiting,
title = "Revisiting Pre-Trained Models for {C}hinese Natural Language Processing",
author = "Cui, Yiming and
Che, Wanxiang and
Liu, Ting and
Qin, Bing and
Wang, Shijin and
Hu, Guoping",
booktitle = "Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: Findings",
month = nov,
year = "2020",
address = "Online",
publisher = "Association for Computational Linguistics",
url = "https://www.aclweb.org/anthology/2020.findings-emnlp.58",
pages = "657--668",
}
プロジェクトの著者:CUI Yiming(Iflytek共同研究所)、Che Wanxiang(Harbin Institute of Technology)、Liu Ting(Harbin Institute of Technology)、Wang Shijin(Iflytek)、Hu Guoping(Iflytek)
このプロジェクトは、GoogleのTensorflow Research Cloud(TFRC)プログラムによって資金提供されています。
このプロジェクトの構築中、私たちは次の倉庫について言及しました。ここで感謝を表明したいと思います。
このプロジェクトは、XLNETによって公式にリリースされた中国のXLNETモデルではありません。同時に、このプロジェクトは、Harbin Institute of TechnologyまたはIflytekの公式製品ではありません。このプロジェクトのコンテンツは、技術研究の参照のみであり、最後の基盤として使用されません。ユーザーは、ライセンスの範囲内でいつでもモデルを使用できますが、プロジェクトのコンテンツの使用によって引き起こされる直接的または間接的な損失については責任を負いません。
イフィーテク共同研究所の公式WeChat公式アカウントをフォローしてください。

ご質問がある場合は、GitHub Issueで送信してください。
私たちには運用がなく、ネチズンがお互いに問題を解決するのを助けるよう奨励しています。
実装の問題が見つかった場合、またはプロジェクトを共同で構築する意思がある場合は、プルリクエストを送信してください。