(อัปเดต 10/23/2022) เราได้เปิดตัว Godel v1.1 ซึ่งได้รับการฝึกฝนในกล่องโต้ตอบหลายครั้ง 551M จากหัวข้อการสนทนา Reddit และการเรียนการสอน 5M และกล่องโต้ตอบความรู้ มันแสดงผลลัพธ์ที่ดีขึ้นอย่างมีนัยสำคัญเกี่ยวกับเกณฑ์มาตรฐานของเราโดยเฉพาะอย่างยิ่งในการตั้งค่า zero-shot
โปรดตรวจสอบการ์ดโมเดลของเราในที่เก็บ Transformers HuggingFace ด้วยรหัสหลายบรรทัดมันควรจะค่อนข้างตรงไปตรงมาในการแชทกับ Godel การสาธิตสดแสดงที่นี่
รุ่นพื้นฐาน: https://huggingface.co/microsoft/godel-v1_1-base-seq2seq
รุ่นใหญ่: https://huggingface.co/microsoft/godel-v1_1-large-seq2seq
พื้นที่เก็บข้อมูลนี้แสดง กล่องโต้ตอบที่กำกับเป้าหมาย โดยใช้ Godel และมีชุดข้อมูลซอร์สโค้ดและโมเดลที่ผ่านการฝึกอบรมมาล่วงหน้าสำหรับกระดาษต่อไปนี้:
Godel: การฝึกอบรมล่วงหน้าขนาดใหญ่สำหรับบทสนทนา
Baolin Peng, Michel Galley, Pengcheng HE, Chris Brockett, Lars Liden, Elnaz Nouri, Zhou Yu, Bill Dolan, Jianfeng Gao 
Godel เป็นแบบจำลองที่ผ่านการฝึกอบรมมาล่วงหน้าขนาดใหญ่สำหรับบทสนทนาที่มุ่งเน้นเป้าหมาย มันถูกกำหนดพารามิเตอร์ด้วยโมเดลเครื่องเข้ารหัสตัวเข้ารหัสที่ใช้หม้อแปลงและได้รับการฝึกฝนสำหรับการสร้างการตอบกลับที่มีพื้นฐานในข้อความภายนอกซึ่งช่วยให้การปรับแต่งที่มีประสิทธิภาพมากขึ้นในงานโต้ตอบที่ต้องปรับเงื่อนไขการตอบสนองต่อข้อมูลที่อยู่ภายนอกการสนทนาปัจจุบัน (เช่นเอกสารที่ดึงมา) โมเดลที่ผ่านการฝึกอบรมมาก่อนสามารถปรับแต่งได้อย่างมีประสิทธิภาพและปรับให้เข้ากับงานโต้ตอบใหม่ด้วยกล่องโต้ตอบเฉพาะงานจำนวนหนึ่ง
ที่เก็บนี้ขึ้นอยู่กับหม้อแปลง Hugginface สคริปต์การประเมินผลและชุดข้อมูลบางอย่างถูกดัดแปลงจาก DSTC7-end-to-end-conversation-modeling, Dialogpt, UnifiedQa, MS Marco, MultiWoz, ชุดข้อมูล Schema-Guided ฯลฯ
สคริปต์ที่รวมอยู่สามารถใช้เพื่อทำซ้ำผลลัพธ์ที่รายงานในกระดาษ หน้าเว็บและการสาธิต: https://aka.ms/godel
ต้องใช้ อินเทอร์เฟซแบบโต้ตอบ requries node.js และ npm โปรดดูที่นี่สำหรับการติดตั้ง
โปรดใช้คำสั่งด้านล่างเพื่อสร้างสภาพแวดล้อมโคลน repo และติดตั้งแพ็คเกจที่จำเป็น
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`"
ดึงและคลายซิปแบบจำลองที่ผ่านการฝึกฝนซึ่งจะดำเนินการต่อข้อมูลของคุณเองต่อไป
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 ปฏิสัมพันธ์
เรามีอินเทอร์เฟซสาธิตเพื่อแชทกับรุ่น Finetuned เซิร์ฟเวอร์แบ็กเอนด์ขึ้นอยู่กับ ขวด และอินเทอร์เฟซขึ้นอยู่กับ 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 และกล่องโต้ตอบเชิงความรู้ รุ่นเพิ่มเติมจะได้รับการปล่อยตัวในภายหลัง
เราได้เปิดตัวโมเดลที่ปรับแต่งได้สามแบบซึ่งสามารถปรับแต่งได้ดีขึ้นในชุดข้อมูลผู้ใช้ที่ได้รับการกำหนดค่าทรัพยากรต่ำ พารามิเตอร์ทั้งหมดในรุ่นเหล่านี้มีตั้งแต่ 117m ถึง 2.7b
| แบบอย่าง | การ์ดโมเดล HuggingFace |
|---|---|
| ฐาน | Microsoft/Godel-V1_1_1-base-seq2seq |
| ใหญ่ | Microsoft/Godel-V1_1-large-seq2seq |
5/22/2023: แบบจำลอง Godel ก่อนหน้านี้กับรหัสฐานของเราไม่ได้รับการสนับสนุนอีกต่อไป แต่โมเดล 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ที่เก็บนี้มีวัตถุประสงค์เพื่ออำนวยความสะดวกในการวิจัยในการเปลี่ยนกระบวนทัศน์ของบอทงานอาคารในระดับ ชุดเครื่องมือนี้มีเพียงส่วนหนึ่งของเครื่องจักรการสร้างแบบจำลองที่จำเป็นในการสร้างไฟล์น้ำหนักแบบจำลองในกล่องโต้ตอบที่ใช้งานจริง ด้วยตัวเองโมเดลนี้ให้ข้อมูลเกี่ยวกับน้ำหนักของข้อความที่หลากหลายเท่านั้น เพื่อให้นักวิจัยใช้มันจริงพวกเขาจะต้องนำข้อมูลการสนทนาในบ้านของตัวเองเพื่อการฝึกอบรมล่วงหน้าในอนาคตและถอดรหัสการสร้างการตอบสนองจากระบบ pretrained/finetuned Microsoft จะไม่รับผิดชอบต่อรุ่นใด ๆ จากการใช้ประโยชน์จากบุคคลที่สามของระบบ pretrained
หากคุณใช้รหัสและข้อมูลนี้ในการวิจัยของคุณโปรดอ้างอิงกระดาษ 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 บอทจะพิจารณาโดยอัตโนมัติว่าคุณจำเป็นต้องให้ CLA และตกแต่ง PR อย่างเหมาะสม (เช่นการตรวจสอบสถานะแสดงความคิดเห็น) เพียงทำตามคำแนะนำที่จัดทำโดยบอท คุณจะต้องทำสิ่งนี้เพียงครั้งเดียวใน repos ทั้งหมดโดยใช้ CLA ของเรา
โครงการนี้ได้นำรหัสการดำเนินงานของ Microsoft โอเพ่นซอร์สมาใช้ สำหรับข้อมูลเพิ่มเติมโปรดดูจรรยาบรรณคำถามที่พบบ่อยหรือติดต่อ [email protected] พร้อมคำถามหรือความคิดเห็นเพิ่มเติมใด ๆ
โครงการนี้อาจมีเครื่องหมายการค้าหรือโลโก้สำหรับโครงการผลิตภัณฑ์หรือบริการ การใช้เครื่องหมายการค้าหรือโลโก้ของ Microsoft ที่ได้รับอนุญาตขึ้นอยู่กับและต้องปฏิบัติตามแนวทางเครื่องหมายการค้าและแบรนด์ของ Microsoft การใช้เครื่องหมายการค้าหรือโลโก้ของ Microsoft ในรุ่นที่แก้ไขของโครงการนี้จะต้องไม่ทำให้เกิดความสับสนหรือบอกเป็นสปอนเซอร์ของ Microsoft การใช้เครื่องหมายการค้าหรือโลโก้ของบุคคลที่สามจะอยู่ภายใต้นโยบายของบุคคลที่สามเหล่านั้น