الوصف الصيني | إنجليزي

يوفر هذا المشروع نموذجًا مدربًا مسبقًا XLNET للصينيين ، بهدف إثراء موارد معالجة اللغة الطبيعية الصينية وتوفير اختيار النموذج الصيني المتنوع مسبقًا. نرحب بجميع الخبراء والعلماء لتنزيله واستخدامه ، وترويج وتطوير بناء الموارد الصينية بشكل مشترك.
يعتمد هذا المشروع على XLNET الرسمي الرسمي لـ CMU/Google: https://github.com/zihangdai/xlnet
ليرت الصينية | اللغة الإنجليزية الصينية بيرت | صينية ماكبرت | إلكترا الصينية | صينية XLNET | بيرت الصينية | أداة التقطير المعرفة TextBrewer | أداة قطع النموذج TextPruner
شاهد المزيد من الموارد التي أصدرها IFL من معهد Harbin للتكنولوجيا (HFL): https://github.com/ymcui/hfl-anthology
2023/3/28 Open Source Chinese Llama & Alpaca Big Model ، والذي يمكن نشره بسرعة وتجربته على الكمبيوتر الشخصي ، عرض: https://github.com/ymcui/Chinese-llama-alpaca
2022/10/29 نقترح LERT النموذج الذي تم تدريبه مسبقًا يدمج المعلومات اللغوية. عرض: https://github.com/ymcui/lert
2022/3/30 نحن نفتح المصدر بنموذج جديد تم تدريبه مسبقًا. عرض: https://github.com/ymcui/pert
2021/12/17 يقوم Iflytek المشترك بإطلاق مجموعة أدوات قطع النموذج TextPruner. عرض: https://github.com/airaria/textpruner
2021/10/24 أصدر مختبر Iflytek المشترك نموذج CINO مسبقًا للغات الأقلية العرقية. عرض: https://github.com/ymcui/Chinese-Minority-plm
2021/7/21 "معالجة اللغة الطبيعية: الأساليب القائمة على نماذج ما قبل التدريب" التي كتبها العديد من العلماء من معهد هاربين للتكنولوجيا SCIR تم نشرها ، وكل شخص مرحب به لشرائه.
2021/1/27 قامت جميع الطرز بدعم TensorFlow 2 ، يرجى الاتصال به أو تنزيله من خلال مكتبة Transformers. https://huggingface.co/hfl
2020/8/27 تصدرت مختبر IFL المشترك القائمة في تقييم Glue General Natural Language Thating ، تحقق من قائمة الغراء ، الأخبار.
2020/3/11 من أجل فهم الاحتياجات بشكل أفضل ، فأنت مدعو لملء الاستبيان لتزويدك بموارد أفضل.
2020/2/26 Iflytek المشترك المشترك يطلق أداة التقطير المعرفة
2019/12/19 تم توصيل النموذج المنشور في هذا الدليل بمحولات Huggingface لعرض التحميل السريع
2019/9/5 XLNet-base متاح للتنزيل ، عرض تنزيل النموذج
يوفر 2019/8/19 نموذج XLNet-mid الصيني المدرب على مجموعة كبيرة من الكلمة العالمية (5.4 ب) ، عرض تنزيل النموذج
| الفصل | يصف |
|---|---|
| تنزيل النموذج | يوفر عنوان تنزيل XLNET المدربين مسبقًا باللغة الصينية |
| تأثيرات نظام الأساس | قائمة ببعض تأثيرات نظام الأساس |
| تفاصيل ما قبل التدريب | وصف تفاصيل ما قبل التدريب |
| تفاصيل صقل المهمة المهمة | الأوصاف ذات الصلة لمهمة التفاصيل الدقيقة للمهمة |
| التعليمات | الأسئلة الشائعة والإجابات |
| يقتبس | التقارير الفنية في هذا الدليل |
XLNet-mid : 24 طبقة ، 768-HIDDEN ، 12 رأس ، 209M المعلماتXLNet-base : 12 طبقة ، 768-HIDDEN ، 12 رأس ، 117M المعلمات| نموذج الاختصار | مواد | تنزيل Google | Baidu NetDisk تنزيل |
|---|---|---|---|
XLNet-mid, Chinese | ويكي الصينية+ البيانات العامة [1] | Tensorflow Pytorch | TensorFlow (كلمة المرور 2JV2) |
XLNet-base, Chinese | ويكي الصينية+ البيانات العامة [1] | Tensorflow Pytorch | TensorFlow (كلمة المرور GE7W) |
[1] تشمل البيانات العامة: الموسوعة والأخبار والأسئلة والأجوبة والبيانات الأخرى ، مع إجمالي عدد الكلمات التي يصل إلى 5.4B ، وهي نفس مجموعة تدريب Bert-WWM-EXT التي أصدرناها.
إذا كنت بحاجة إلى إصدار Pytorch ،
1) يرجى تحويلها بنفسك من خلال البرنامج النصي للتحويل المقدم من Transformers.
2) أو تنزيل pytorch مباشرة من خلال الموقع الرسمي لـ Huggingface: https://huggingface.co/HFL
الطريقة: انقر فوق أي نموذج تريد تنزيله → اسحب إلى أسفل وانقر فوق "قائمة جميع الملفات في الطراز" → تنزيل ملفات Bin و JSON في المربع المنبثق.
يوصى باستخدام نقاط تنزيل Baidu NetDisk في الصين البر الرئيسي ، ويوصى باستخدام المستخدمين في الخارج لاستخدام نقاط تنزيل Google. حجم ملف طراز XLNet-mid حوالي 800 متر . أخذ نسخة 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 # 词表
بالاعتماد على محولات Luggingface 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-base |
لمقارنة تأثير خط الأساس ، قمنا باختباره على مجموعات البيانات الصينية التالية. تمت مقارنة Bert الصينية ، Bert-WWM ، Bert-WWM-EXT ، XLNET-Base ، XLNET-MID. من بينها ، تؤخذ نتائج Bert و Bert-WWM و Bert-WWM-Ext من مشروع Bert-WWM الصيني. الوقت والطاقة محدودة ولم تتمكن من تغطية المزيد من فئات المهام. من فضلك جربها بنفسك.
ملاحظة: لضمان موثوقية النتائج ، لنفس النموذج ، نقوم بتشغيل 10 مرات (بذور عشوائية مختلفة) للإبلاغ عن القيم القصوى والمتوسطة لأداء النموذج. إذا لم يحدث شيء غير متوقع ، فيجب أن تكون نتيجة عمليتك في هذا النطاق.
في مؤشر التقييم ، يتم تمثيل متوسط القيمة بين قوسين ويتم تمثيل القيمة القصوى خارج قوسين.
** مجموعة بيانات CMRC 2018 ** هي بيانات فهم القراءة الصينية التي تصدرها مختبر Iflytek المشترك. وفقًا لسؤال معين ، يحتاج النظام إلى استخراج أجزاء من الفصل مثل الإجابة ، في نفس الشكل مثل Squad. مؤشرات التقييم هي: 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) |
| بيرت وود | 66.3 (65.0) / 85.6 (84.7) | 70.5 (69.1) / 87.4 (86.7) | 21.0 (19.3) / 47.0 (43.9) |
| بيرت-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 ** من قبل معهد دلتا للأبحاث ، تايوان ، الصين. شكله هو نفس المجموعة وهي عبارة عن مجموعة بيانات لفهم القراءة المستخرجة على أساس الصينيين التقليديين. مؤشرات التقييم هي: EM / F1
| نموذج | مجموعة التنمية | مجموعة الاختبار |
|---|---|---|
| بيرت | 83.1 (82.7) / 89.9 (89.6) | 82.2 (81.6) / 89.2 (88.8) |
| بيرت وود | 84.3 (83.4) / 90.5 (90.2) | 82.8 (81.8) / 89.7 (89.0) |
| بيرت-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. يحتاج النموذج إلى تقسيم النص إلى فئتين:积极消极. مؤشر التقييم هو: الدقة
| نموذج | مجموعة التنمية | مجموعة الاختبار |
|---|---|---|
| بيرت | 94.7 (94.3) | 95.0 (94.7) |
| بيرت وود | 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. يرجى الرجوع إلى طريقة معالجة Squad 2.0 في البرنامج التعليمي الرسمي XLNET ، والتي لن يتم وصفها هنا. فيما يلي معلمات البرنامج النصي المستخدمة في مهمة فهم القراءة الصينية 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}
س: هل سيتم إصدار نموذج أكبر؟
ج: لست متأكدا ، غير مضمون. إذا حصلنا على تحسينات كبيرة في الأداء ، فسوف نفكر في النشر.
س: ليس جيدًا في بعض مجموعات البيانات؟
ج: اختر نماذج أخرى أو متابعة استخدام بياناتك للتدريب المسبق على نقطة التفتيش هذه.
س: هل سيتم إصدار بيانات ما قبل التدريب؟
ج: آسف ، لا يمكن نشرها بسبب قضايا حقوق الطبع والنشر.
س: كم من الوقت يستغرق تدريب XLNET؟
A: تدرب XLNet-mid خطوات 2M (دفعة = 32) باستخدام Cloud TPU V3 (128G HBM) ، والتي تستغرق حوالي 3 أسابيع. XLNet-base مدربة 4M خطوات.
س: لماذا لم يتم إصدار XLNET رسميًا XLNET متعدد اللغات أو الصيني؟
ج: (فيما يلي آراء شخصية) ، من غير المعروف ، ترك الكثير من الأشخاص رسائل يقولون إنهم يأملون في أن يكون هناك ، انقر فوق XLNET-issue-#3. من خلال التكنولوجيا الرسمية لـ XLNET وقوة الحوسبة ، ليس من الصعب تدريب مثل هذا النموذج (قد يكون الإصدار متعدد اللغات أكثر تعقيدًا ويتطلب النظر في التوازن بين اللغات المختلفة. يمكنك أيضًا الرجوع إلى الوصف في بيرت متعدد اللغات). لكن التفكير في الأمر من ناحية أخرى ، فإن المؤلفين ليسوا ملزمين بالقيام بذلك. كعلماء ، فإن مساهمتهم التقنية كافية ويجب عدم انتقادهم إذا لم يتم نشرهم ، وهم يدعون الجميع إلى معاملة عمل الآخرين بعقلانية.
س: هل XLNET أفضل من بيرت في معظم الحالات؟
ج: في الوقت الحاضر ، يبدو أن المهام المذكورة أعلاه على الأقل فعالة ، والبيانات المستخدمة هي نفس المهام التي أصدرناها.
س:؟
ج:.
إذا كان المحتوى الموجود في هذا الدليل مفيدًا لعمل البحث الخاص بك ، فيرجى الرجوع إلى التقرير الفني التالي في ورقتك: 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 Combor Laboratory) ، 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. في الوقت نفسه ، ليس هذا المشروع منتجًا رسميًا لمعهد هاربين للتكنولوجيا أو Iflytek. المحتوى في هذا المشروع مخصص للبحوث التقنية فقط ولا يتم استخدامه كأساس ختامي. يمكن للمستخدمين استخدام النموذج في أي وقت ضمن نطاق الترخيص ، لكننا لسنا مسؤولين عن الخسائر المباشرة أو غير المباشرة الناجمة عن استخدام محتوى المشروع.
مرحبًا بك لمتابعة الحساب الرسمي الرسمي لـ WeChat لمختبر Iflytek المشترك.

إذا كان لديك أي أسئلة ، فيرجى إرسالها في قضية GitHub.
ليس لدينا عمليات ونشجع مستخدمي الإنترنت على مساعدة بعضهم البعض في حل المشكلات.
إذا وجدت مشكلات في التنفيذ أو كنت على استعداد لبناء المشروع بشكل مشترك ، فيرجى تقديم طلب سحب.