(تحديث 10/23/2022) لقد أصدرنا Godel v1.1 ، الذي تم تدريبه على مربعات حوار متعددة المدى 551m من مؤشر ترابط مناقشة Reddit ، وحوار تعليمات 5M وحوار المعرفة. لقد أظهرت نتائج أفضل بكثير على القياس ، خاصة في إعداد الصفر.
يرجى مراجعة بطاقات النماذج الخاصة بنا في مستودع Transformers Huggingface. مع عدة خطوط من التعليمات البرمجية ، يجب أن يكون الأمر واضحًا ومباشرًا للدردشة مع Godel. يظهر العرض التوضيحي الحي هنا.
نموذج الأساس: https://huggingface.co/Microsoft/godel-v1_1-base-seq2seq
نموذج كبير: https://huggingface.co/Microsoft/godel-v1_1-large-seq2seq
يعرض هذا المستودع حوار بناء الأهداف باستخدام Godel ، ويحتوي على مجموعة البيانات والرمز المصدر والنموذج الذي تم تدريبه مسبقًا للورقة التالية:
جوديل: التدريب المسبق على نطاق واسع للحوار الموجهة إلى الأهداف
باولين بينغ ، ميشيل جالي ، بينجشنغ هو ، كريس بروكيت ، لارس ليدن ، إلناز نوري ، تشو يو ، بيل دولان ، جيانفينج غاو 
Godel هو نموذج واسع النطاق مسبقًا للحوار الموجه. يتم تصميمه مع نموذج ترميز التشفير المستند إلى المحولات وتدريبه على توليد الاستجابة على أساس نص خارجي ، والذي يتيح صقلًا أكثر فعالية على مهام الحوار التي تتطلب تكييف الاستجابة على المعلومات الخارجية للمحادثة الحالية (على سبيل المثال ، وثيقة مستردة). يمكن ضبط النموذج الذي تم تدريبه مسبقًا بكفاءة وتكييفه لإنجاز مهمة مربع حوار جديدة مع حفنة من مربعات الحوار الخاصة بالمهمة.
يعتمد هذا المستودع على محولات Hugginface. يتم تكييف بعض البرامج النصية للتقييم ومجموعة البيانات من DSTC7-End-End-Endervation-Confering ، حوار ، UnifiedQA ، MS Marco ، Multiwoz ، مجموعة بيانات موجهة المخطط ، إلخ.
يمكن استخدام البرامج النصية المضمنة لإعادة إنتاج النتائج المبلغ عنها في الورقة. Project and Demo WebPage: https://aka.ms/godel
يتطلب واجهة التفاعلية requries node.js و npm . يرجى الرجوع إلى هنا للتثبيت.
يرجى استخدام الأوامر أدناه لإنشاء البيئة ، واستنساخ الريبو وتثبيت الحزم المطلوبة.
conda create -n godel-env python=3.8
conda activate godel-env
conda install nodejs
git clone https://github.com/microsoft/GODEL.git
cd GODEL
pip install -r requirements.txt
export PYTHONPATH="`pwd`"
قم بإحضار النموذج المسبق وفك ضغطه بناءً على مواصلة Finetune بياناتك الخاصة.
wget https://bapengstorage.blob.core.windows.net/fileshare/godel_base.tar.gz
tar -zxvf godel_base.tar.gzتنسيق البيانات
{
"Context" : " Please remind me of calling to Jessie at 2PM. " ,
"Knowledge" : " reminder_contact_name is Jessie, reminder_time is 2PM " ,
"Response" : " Sure, set the reminder: call to Jesse at 2PM "
},نستخدم تنسيق JSON لتمثيل مثال تدريبي. كما هو موضح في المثال أعلاه ، فإنه يحتوي على الحقول التالية:
الكون المثالى
DATA_NAME={path_of_data}
OUTPUT_DIR={path_of_fine-tuned_model}
MODEL_PATH={path_of_pre-trained_model}
EXP_NAME={experiment_name}
python train.py --model_name_or_path ${MODEL_PATH}
--dataset_name ${DATA_NAME}
--output_dir ${OUTPUT_DIR}
--per_device_train_batch_size=16
--per_device_eval_batch_size=16
--max_target_length 512
--max_length 512
--num_train_epochs 50
--save_steps 10000
--num_beams 5
--exp_name ${EXP_NAME} --preprocessing_num_workers 24جيل
DATA_NAME = { path_of_data }
OUTPUT_DIR = { path_to_save_predictions }
MODEL_PATH = { path_of_fine - tuned_model }
python generate . py - - model_name_or_path ${ MODEL_PATH }
- - dataset_name ${ DATA_NAME }
- - output_dir ${ OUTPUT_DIR }
- - per_device_eval_batch_size = 16
- - max_target_length 128
- - max_length 512
- - preprocessing_num_workers 24
- - num_beams 5 تفاعل
نحن نقدم واجهة تجريبية للدردشة مع النماذج المحفوظة بالحيوية. يعتمد خادم الواجهة الخلفية على Flask وتستند الواجهة إلى VUE و Bootstrap-vue و BasicVuechat .
ابدأ خادم الواجهة الخلفية:
# Please create the backend server refering to e.g., dstc9_server.py
python EXAMPLE_server.py # start the sever and expose 8080 ابدأ في تقديم صفحة الواجهة الأمامية:
cd GODEL/html
npm install
npm run serve افتح LocalHost: 8080 في متصفح الويب الخاص بك ، سترى الصفحة التالية. لاحظ أن منفذ الواجهة الخلفية يجب أن يكون متسقًا مع المنفذ المستخدم في HTML/Compoents/Chat.vue.
يظهر عرض حي مباشر هنا.
لقد أصدرنا Godel v1.1 ، الذي تم تدريبه على مربعات حوار متعددة المدى 551m من سلسلة مناقشة Reddit وحوار تعليمات 5M وحوار المعرفة. سيتم إصدار المزيد من النماذج لاحقًا.
لقد أصدرنا ثلاثة نماذج صريحة يمكن ضبطها بشكل أكبر على مجموعة بيانات ذات موارد منخفضة من المستخدمين. يتراوح إجمالي المعلمات في هذه النماذج من 117 متر إلى 2.7 ب.
| نموذج | بطاقات طراز Huggingface |
|---|---|
| قاعدة | Microsoft/Godel-V1_1-base-seq2seq |
| كبير | Microsoft/Godel-V1_1-large-seq2seq |
5/22/2023: لم تعد نماذج Godel المسبقة مع قاعدة الشفرات الخاصة بنا مدعومة ، لكن نماذج Godel لا تزال متوفرة. انظر هنا للحصول على التفاصيل.
غودل تم ضبطه وتقييمه في أربع مهام. نحن نقدم البرامج النصية لإنشاء بيانات التدريب والاختبار بتنسيقنا. يرجى الرجوع إلى create_downstream_dataset.sh لتنزيل البيانات الأصلية وتنفيذ CMD التالي.
cd scripts
./create_downstream_dataset.shGROUNDED_CHECKPOINT={path_to_saved_checkpoint}
OUTPUT_DIR={path_to_save_predictions}
TASK=wow
accelerate launch --config_file configs/G16_config.yaml train.py
--model_name_or_path ${GROUNDED_CHECKPOINT}
--dataset_name ./datasets_loader/ ${TASK} _dataset.py
--output_dir ${OUTPUT_DIR}
--per_device_train_batch_size=16
--per_device_eval_batch_size=16
--max_target_length 256
--max_length 512
--num_train_epochs 10
--preprocessing_num_workers 24
--num_beams 5
--exp_name ${TASK}
--learning_rate 5e-5
--save_every_checkpoint
--save_steps 50000 في هذا البرنامج التعليمي ، ستقوم ببناء نموذج مربع حوار على أساس GODEL لمهمة DSTC9. يمكن العثور على معلومات مفصلة هنا.
أولاً قم بتنزيل البيانات وتحويلها إلى تنسيق Godel.
cd examples/dstc9
./create_data.shFineTune مع نموذج Godel الذي تم تدريبه مسبقًا
cd GODEL
GODEL_MODEL={path_to_pre-trained_model}
python train.py
--model_name_or_path ${GODEL_MODEL}
--dataset_name ../examples/dstc9/dstc9_dataset.py
--output_dir ../examples/dstc9/ckpt
--per_device_train_batch_size=16
--per_device_eval_batch_size=16
--max_target_length 128
--max_length 512
--num_train_epochs 50
--save_steps 10000
--num_beams 5
--exp_name wow-test
--preprocessing_num_workers 24
--save_every_checkpoint التفاعل مع النموذج المذكور أعلاه
cd examples/dstc9
# replace model path in dstc9_server with a trained ckpt in line 49
python dstc9_server.py
cd GODEL/html
npm install
npm run serveيهدف هذا المستودع إلى تسهيل البحث في نموذج تحول في بناء روبوتات المهام على نطاق واسع. تحتوي مجموعة الأدوات هذه على جزء فقط من آلات النمذجة اللازمة لإنتاج ملف وزن النموذج فعليًا في مربع حوار تشغيل. من تلقاء نفسه ، يوفر هذا النموذج فقط معلومات حول أوزان تمتد النص المختلفة ؛ لكي يستخدم الباحث فعليًا ، سيحتاجون إلى جلب بيانات المحادثة في المنزل الخاصة بهم للتدريب قبل التدريب في المستقبل وفك تشفير توليد الاستجابة من النظام المسبق/المحدد. Microsoft ليست مسؤولة عن أي جيل من استخدام الطرف الثالث للنظام المسبق.
إذا كنت تستخدم هذا الرمز والبيانات في بحثك ، فيرجى الاستشهاد بورقة Arxiv:
@misc{peng2022godel,
author = {Peng, Baolin and Galley, Michel and He, Pengcheng and Brockett, Chris and Liden, Lars and Nouri, Elnaz and Yu, Zhou and Dolan, Bill and Gao, Jianfeng},
title = {GODEL: Large-Scale Pre-training for Goal-Directed Dialog},
howpublished = {arXiv},
year = {2022},
month = {June},
url = {https://www.microsoft.com/en-us/research/publication/godel-large-scale-pre-training-for-goal-directed-dialog/},
}
يرحب هذا المشروع بالمساهمات والاقتراحات. تطلب منك معظم المساهمات الموافقة على اتفاقية ترخيص المساهم (CLA) مع إعلان أن لديك الحق في ذلك في الواقع ، ويفعلنا في الواقع حقوق استخدام مساهمتك. لمزيد من التفاصيل ، تفضل بزيارة https://cla.opensource.microsoft.com.
عند إرسال طلب سحب ، سيحدد CLA Bot تلقائيًا ما إذا كنت بحاجة إلى توفير CLA وتزيين العلاقات العامة بشكل مناسب (على سبيل المثال ، فحص الحالة ، التعليق). ببساطة اتبع الإرشادات التي يقدمها الروبوت. ستحتاج فقط إلى القيام بذلك مرة واحدة عبر جميع عمليات إعادة الشراء باستخدام CLA لدينا.
اعتمد هذا المشروع رمز سلوك المصدر المفتوح Microsoft. لمزيد من المعلومات ، راجع مدونة الشهادة الأسئلة الشائعة أو الاتصال بـ [email protected] مع أي أسئلة أو تعليقات إضافية.
قد يحتوي هذا المشروع على علامات تجارية أو شعارات للمشاريع أو المنتجات أو الخدمات. يخضع الاستخدام المعتمد للعلامات التجارية أو الشعارات Microsoft ويجب أن يتبعوا إرشادات Microsoft التجارية والعلامة التجارية. يجب ألا يسبب استخدام العلامات التجارية Microsoft أو الشعارات في إصدارات معدلة من هذا المشروع الارتباك أو يعني رعاية Microsoft. يخضع أي استخدام للعلامات التجارية أو الشعارات من طرف ثالث لسياسات تلك الطرف الثالث.