Deskripsi Cina | Bahasa inggris

Proyek ini menyediakan model pra-terlatih XLNET untuk Cina, yang bertujuan untuk memperkaya sumber daya pemrosesan bahasa alami Cina dan menyediakan seleksi model pra-terlatih Cina yang beragam. Kami menyambut semua ahli dan sarjana untuk mengunduh dan menggunakannya, dan bersama -sama mempromosikan dan mengembangkan konstruksi sumber daya Cina.
Proyek ini didasarkan pada XLNET resmi CMU/Google: https://github.com/zihangdai/xlnet
Lert Cina | Bahasa Inggris Tiongkok PERT | Macbert Cina | China Electra | Xlnet Cina | Bert Cina | Alat Distilasi Pengetahuan TextBrewer | Model Cutting Tool TextPruner
Lihat lebih banyak sumber daya yang dirilis oleh IFL of Harbin Institute of Technology (HFL): https://github.com/ymcui/hfl-anthology
2023/3/28 Open Source Chinese Llama & Alpaca Big Model, yang dapat dengan cepat digunakan dan dialami di PC, Lihat: https://github.com/ymcui/chinese-llama-alpaca
2022/10/29 Kami mengusulkan model pra-terlatih yang mengintegrasikan informasi linguistik. Lihat: https://github.com/ymcui/lert
2022/3/30 Kami membuka sumber model pra-terlatih baru. Lihat: https://github.com/ymcui/pert
2021/12/17 Laboratorium Joint IFLYTEK Meluncurkan Model Cutting Toolkit TextPruner. Lihat: https://github.com/airaria/textpruner
2021/10/24 Laboratorium Gabungan IFLYTEK merilis model cino pra-terlatih untuk bahasa etnis minoritas. Lihat: https://github.com/ymcui/chinese-minority-plm
2021/7/21 "Pemrosesan Bahasa Alami: Metode Berdasarkan Model Pra-Pelatihan" yang ditulis oleh banyak sarjana dari Harbin Institute of Technology SCIR telah diterbitkan, dan semua orang dipersilakan untuk membelinya.
2021/1/27 Semua model telah mendukung TensorFlow 2, silakan hubungi atau unduh melalui perpustakaan Transformers. https://huggingface.co/hfl
2020/8/27 IFL Joint Laboratory menduduki puncak daftar dalam evaluasi pemahaman bahasa alami umum, periksa daftar lem, berita.
2020/3/11 Untuk lebih memahami kebutuhan, Anda diundang untuk mengisi kuesioner untuk memberi Anda sumber daya yang lebih baik.
2020/2/26 IFLYTEK Joint Laboratory Melepaskan Alat Distilasi Pengetahuan TextBrewer
2019/12/19 Model yang diterbitkan dalam direktori ini telah terhubung ke huggingface-transformers untuk melihat pemuatan cepat
2019/9/5 XLNet-base tersedia untuk diunduh, lihat Model Download
2019/8/19 Menyediakan Model XLNet-mid Cina yang dilatih di Universal Corpus berskala besar (jumlah kata 5.4b), View Model Download
| bab | menggambarkan |
|---|---|
| Download model | Memberikan alamat unduhan XLNET pra-terlatih dalam bahasa Cina |
| Efek sistem dasar | Buat daftar beberapa efek sistem dasar |
| Detail pra-pelatihan | Deskripsi detail pra-pelatihan |
| Detail fine-tuning tugas hilir | Deskripsi terkait detail fine-tuning tugas hilir |
| FAQ | FAQ dan Jawaban |
| Mengutip | Laporan Teknis di Direktori Ini |
XLNet-mid : 24-Layer, 768 Hidden, 12-heads, 209m ParameterXLNet-base : 12-LAYER, 768 HIDDEN, 12-HEADS, PARAMETER 117M| Singkatan model | Bahan | Download Google | Unduh Baidu Netdisk |
|---|---|---|---|
XLNet-mid, Chinese | Wiki Cina+ Data Umum [1] | Tensorflow Pytorch | TensorFlow (Kata Sandi 2JV2) |
XLNet-base, Chinese | Wiki Cina+ Data Umum [1] | Tensorflow Pytorch | TensorFlow (Kata Sandi GE7W) |
[1] Data umum meliputi: ensiklopedia, berita, tanya jawab dan data lainnya, dengan jumlah total kata yang mencapai 5.4b, sama dengan corpus pelatihan Bert-WWM-EXT yang kami rilis.
Jika Anda membutuhkan versi Pytorch,
1) Harap konversi sendiri melalui skrip konversi yang disediakan oleh Transformers.
2) atau langsung mengunduh pytorch melalui situs web resmi Huggingface: https://huggingface.co/hfl
Metode: Klik model apa pun yang ingin Anda unduh → Tarik ke bawah dan klik "Daftar semua file dalam model" → Unduh file bin dan json di kotak pop-up.
Disarankan untuk menggunakan poin unduhan Baidu Netdisk di daratan Cina, dan pengguna luar negeri disarankan untuk menggunakan poin unduhan Google. Ukuran file model XLNet-mid adalah sekitar 800m . Mengambil versi TensorFlow XLNet-mid, Chinese sebagai contoh, setelah mengunduh, mendekompres file zip untuk mendapatkan:
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 # 词表
Mengandalkan pelukan-transformer face 2.2.2, model di atas dapat dengan mudah dipanggil.
tokenizer = AutoTokenizer.from_pretrained("MODEL_NAME")
model = AutoModel.from_pretrained("MODEL_NAME")
Daftar MODEL_NAME yang sesuai adalah sebagai berikut:
| Nama model | Model_name |
|---|---|
| XLNET-MID | hfl/cina-xlnet-mid |
| XLNET-BASE | HFL/China-XLNET-BASE |
Untuk membandingkan efek dasar, kami mengujinya pada set data Cina berikut. Bert Cina, Bert-WWM, Bert-WWM-EXT, XLNET-BASE, XLNET-MID dibandingkan. Di antara mereka, hasil Bert Cina, Bert-WWM, dan Bert-WWM-EXT diambil dari proyek Bert-WWM Cina. Waktu dan energi terbatas dan belum dapat mencakup lebih banyak kategori tugas. Tolong coba sendiri.
Catatan: Untuk memastikan keandalan hasil, untuk model yang sama, kami berjalan 10 kali (benih acak yang berbeda) untuk melaporkan nilai maksimum dan rata -rata kinerja model. Jika tidak ada yang tidak terduga terjadi, hasil operasi Anda harus dalam kisaran ini.
Dalam indikator evaluasi, nilai rata -rata diwakili dalam tanda kurung dan nilai maksimum direpresentasikan di luar kurung.
** Kumpulan data CMRC 2018 ** adalah data pemahaman pembacaan mesin Cina yang dirilis oleh IFLYTEK Joint Laboratory. Menurut pertanyaan yang diberikan, sistem perlu mengekstrak fragmen dari bab sebagai jawaban, dalam bentuk yang sama dengan skuad. Indikator evaluasi adalah: EM / F1
| Model | Set pengembangan | Set tes | Set Tantangan |
|---|---|---|---|
| Bert | 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) |
** Dataset DRCD ** dirilis oleh Delta Research Institute, Taiwan, Cina. Bentuknya sama dengan skuad dan merupakan dataset pemahaman membaca yang diekstraksi berdasarkan bahasa Cina tradisional. Indikator evaluasi adalah: EM / F1
| Model | Set pengembangan | Set tes |
|---|---|---|
| Bert | 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) |
Dalam tugas klasifikasi emosi, kami menggunakan dataset chnsenticorp. Model perlu membagi teks menjadi dua kategori:积极dan消极. Indikator evaluasi adalah: akurasi
| Model | Set pengembangan | Set tes |
|---|---|---|
| Bert | 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) |
Berikut ini adalah untuk menggambarkan detail pra-pelatihan menggunakan model XLNet-mid sebagai contoh.
Ikuti langkah -langkah tutorial resmi XLNET, pertama -tama Anda harus menggunakan bagian kalimat untuk menghasilkan daftar kosakata. Dalam proyek ini, kami menggunakan ukuran kosa kata 32000, dan parameter lainnya dikonfigurasi dalam konfigurasi default dalam contoh resmi.
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
Setelah menghasilkan daftar kosakata, corpus teks asli digunakan untuk menghasilkan file pelatihan TF_Records. Teks asli dibangun dengan cara yang sama seperti tutorial asli:
Berikut ini adalah perintah saat menghasilkan data (harap setel num_task dan task berdasarkan jumlah irisan yang sebenarnya):
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
Setelah mendapatkan data di atas, XLNet pra-pelatihan secara resmi dimulai. Alasan mengapa itu disebut XLNet-mid adalah bahwa jumlah lapisan meningkat hanya dibandingkan dengan XLNet-base (12 lapisan meningkat menjadi 24 lapisan), dan parameter yang tersisa tidak berubah, terutama karena keterbatasan perangkat komputasi. Perintah yang digunakan adalah sebagai berikut:
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
Perangkat yang digunakan untuk menyempurnakan tugas hilir adalah Google Cloud TPU V2 (64G HBM). Berikut ini secara singkat menjelaskan konfigurasi setiap tugas saat fine-tuning dilakukan. Jika Anda menggunakan GPU untuk penyesuaian yang baik, harap ubah parameter yang sesuai untuk beradaptasi, terutama batch_size , learning_rate dan parameter lainnya. Untuk kode terkait, silakan periksa direktori src .
Untuk tugas pemahaman membaca, data TF_Records pertama kali diperlukan. Silakan merujuk ke metode pemrosesan Skuad 2.0 dari tutorial resmi XLNET, yang tidak akan dijelaskan di sini. Berikut ini adalah parameter skrip yang digunakan dalam tugas pemahaman pembacaan mesin Cina 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
Berikut ini adalah parameter skrip yang digunakan dalam tugas pemahaman pembacaan mesin Cina tradisional 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
Tidak seperti tugas pemahaman membaca, tugas klasifikasi tidak perlu menghasilkan TF_Records terlebih dahulu. Berikut ini adalah parameter skrip yang digunakan dalam tugas klasifikasi emosi 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}
T: Akankah model yang lebih besar dirilis?
A: Tidak yakin, tidak dijamin. Jika kami mendapatkan peningkatan kinerja yang signifikan, kami akan mempertimbangkan penerbitan.
T: Tidak bagus pada beberapa set data?
A: Pilih model lain atau terus gunakan data Anda untuk pra-pelatihan di pos pemeriksaan ini.
T: Apakah data pra-pelatihan akan dirilis?
A: Maaf, itu tidak dapat dipublikasikan karena masalah hak cipta.
T: Berapa lama waktu yang dibutuhkan untuk melatih XLNET?
A: XLNet-mid Latih 2M Langkah (Batch = 32) Menggunakan Cloud TPU V3 (128G HBM), yang membutuhkan waktu sekitar 3 minggu. Langkah 4M yang dilatih XLNet-base .
T: Mengapa XLNET tidak secara resmi dirilis multibahasa atau XLNET Cina?
A: (Berikut ini adalah pendapat pribadi) Tidak diketahui, banyak orang meninggalkan pesan yang mengatakan bahwa mereka berharap ada, klik xlnet-isu-#3. Dengan teknologi resmi dan kekuatan komputasi XLNET, melatih model seperti itu tidak sulit (versi multibahasa mungkin lebih rumit dan membutuhkan pertimbangan keseimbangan antara berbagai bahasa. Anda juga dapat merujuk pada deskripsi dalam multibahasa-Bert.). Tetapi memikirkannya di sisi lain, penulis tidak berkewajiban untuk melakukannya. Sebagai cendekiawan, kontribusi teknis mereka cukup dan mereka tidak boleh dikritik jika mereka tidak diterbitkan, dan mereka meminta semua orang untuk memperlakukan pekerjaan orang lain secara rasional.
T: Apakah Xlnet lebih baik daripada Bert dalam kebanyakan kasus?
A: Saat ini, tampaknya setidaknya tugas-tugas di atas efektif, dan data yang digunakan sama dengan Bert-WWM-Ext yang kami rilis.
Q: ?
A: .
Jika konten dalam direktori ini bermanfaat untuk pekerjaan penelitian Anda, silakan merujuk ke laporan teknis berikut dalam makalah Anda: 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",
}
Penulis Proyek: Cui Yiming (Laboratorium Gabungan Iflytek), Che Wanxiang (Institut Teknologi Harbin), Liu Ting (Institut Teknologi Harbin), Wang Shijin (Iflytek), Hu Guoping (IFLYTEK)
Proyek ini didanai oleh program TensorFlow Research Cloud (TFRC) Google.
Selama pembangunan proyek ini, kami telah merujuk ke gudang berikut, dan kami ingin mengucapkan terima kasih di sini:
Proyek ini bukan model XLNET Cina yang secara resmi dirilis oleh XLNET. Pada saat yang sama, proyek ini bukan produk resmi dari Harbin Institute of Technology atau IFLYTEK. Konten dalam proyek ini hanya untuk referensi penelitian teknis dan tidak digunakan sebagai dasar penutup. Pengguna dapat menggunakan model kapan saja dalam ruang lingkup lisensi, tetapi kami tidak bertanggung jawab atas kerugian langsung atau tidak langsung yang disebabkan oleh penggunaan konten proyek.
Selamat datang untuk mengikuti akun resmi WeChat resmi Laboratorium Gabungan IFLYTEK.

Jika Anda memiliki pertanyaan, silakan kirimkan dalam masalah GitHub.
Kami tidak memiliki operasi dan mendorong netizen untuk saling membantu memecahkan masalah.
Jika Anda menemukan masalah implementasi atau bersedia membangun proyek bersama, silakan kirim permintaan tarik.