مدونة | الرموز | تجريبي
WangChanGLM عبارة عن Facebook XGLM-7.5B متعدد اللغات ومُحسّن للتعليمات باستخدام مجموعات بيانات مفتوحة المصدر ومسموح بها تجاريًا (LAION OIG chip2 وinfill_dbpedia وDataBricks Dolly v2 وOpenAI TL;DR وHello-SimpleAI HC3؛ حوالي 400 ألف مثال)، تم إصدارها تحت CC-BY SA 4.0. تم تدريب النماذج على أداء مجموعة فرعية من المهام التالية للتعليمات التي وجدناها أكثر صلة بالموضوع وهي: فهم القراءة، والعصف الذهني، والكتابة الإبداعية. نحن نقدم الأوزان لنموذج تم ضبطه على مجموعة بيانات باللغة الإنجليزية فقط (wangchanglm-7.5B-sft-en) ونقطة تفتيش أخرى تم ضبطها بشكل أكبر على مجموعة البيانات التايلاندية المترجمة من Google (wangchanglm-7.5B-sft-enth). نقوم بإجراء تقييم بأسلوب Vicuna باستخدام كل من البشر وChatGPT (في حالتنا، gpt-3.5-turbo
لأننا لا نزال على قائمة انتظار gpt-4
) ونلاحظ بعض التناقضات بين نوعي المعلقين. تتم مشاركة جميع أكواد التدريب والتقييم بموجب ترخيص Apache-2.0 في Github، بالإضافة إلى مجموعات البيانات وأوزان النماذج على HuggingFace. بطريقة مشابهة لـ Dolly v2، نحن نستخدم فقط النماذج ومجموعات البيانات مفتوحة المصدر والمتاحة تجاريًا، ولا تكون نماذجنا مقيدة بعبارات غير تجارية مثل النماذج التي تستخدم LLaMA كقاعدة أو عبارة غير تنافسية مثل النماذج التي تستخدم الذات -إرشاد مجموعات البيانات من ChatGPT. شاهد عرضنا المباشر هنا.
نحن نقدم إصدارات مختلفة من نماذجنا على النحو التالي:
الإصدارات المقسمة المستخدمة في العرض التوضيحي:
نحن نقدم مجموعات التدريب لدينا على النحو التالي:
لقد قمنا بضبط XGLM-7.5B على 4 معالجات رسومية V100 (32 جيجابايت VARM) باستخدام المعلمات الفائقة الموضحة في script/train_sft_peft_multi_world.py
.
python -m torch.distributed.launch --nproc_per_node=4 train_sft_peft_multi_world.py
--per_device_train_batch_size 1 --gradient_accumulation_steps 32 #effective batch size = 128 (4 GPUs * 1 batch size * 32 gradient accumulation)
--wandb_project your_project_name
--model_name facebook/xglm-7.5B
--dataset_name pythainlp/final_training_set_v1
--adapter_name save_adapter_to
يتم دمج المحول مع الأوزان الرئيسية مع البرنامج النصي من lvwerra/trl.
من الممكن ضبط XGLM-7.5B على وحدة معالجة رسوميات واحدة بسعة 32 جيجابايت VRAM أو وحدات معالجة رسومات متعددة باستخدام VRAM أصغر باستخدام المعلمات الفائقة الموضحة في script/train_sft_peft_single_world.py
.
python train_sft_peft_single_world.py
--per_device_train_batch_size 2 --gradient_accumulation_steps 64 #effective batch size = 128 (1 GPU * 2 batch size * 64 gradient accumulation)
--wandb_project your_project_name
--model_name facebook/xglm-7.5B
--dataset_name pythainlp/final_training_set_v1
--adapter_name save_adapter_to
نحن نقدم أيضًا برنامجًا نصيًا للضبط الكامل الذي قمنا بتجربته بنموذج أصغر على مجموعة مختلفة من بيانات التدريب.
python -m torch.distributed.launch --nproc_per_node=8 train_sft.py
--per_device_train_batch_size=8 --per_device_eval_batch_size=8 --gradient_accumulation_steps=16
--model_name=facebook/xglm-1.7B --bf16 --deepspeed=../config/sft_deepspeed_config.json
لقد أجرينا الاستدلال على مطالبات OpenAssistant باستخدام المعلمات الفائقة الموضحة في script/generate_huggingface_answer.py
.
python generate_huggingface_answer.py --input_fname ../data/oasst1_gpt35turbo_answer.csv
--model_name pythainlp/wangchanglm-7.5B-sft-en
--tokenizer_name pythainlp/wangchanglm-7.5B-sft-en
--output_fname ../data/oasst1_wangchang_sft_en_only_answer_answer.csv
قمنا بتقييم أي زوج من الإجابات النموذجية باستخدام gpt-3.5-turbo
كما هو موضح في script/eval_vicuna_style.py
. يتم تخزين الاستدلال والتقييم بالكامل في script/infer_and_eval.sh
. يتم تخزين الاستبيانات البشرية في data/human_questionnaire
.
وقد أجريت التجارب باستخدام بنية تحتية خاصة تبلغ كفاءة الكربون فيها 0.432 كجم من مكافئ ثاني أكسيد الكربون/كيلوواط ساعة. تم إجراء ما مجموعه 500 ساعة من الحساب على أجهزة من النوع Tesla V100-SXM2-32GB (TDP بقدرة 300 واط). يُقدر إجمالي الانبعاثات بـ 64.8 مكافئ ثاني أكسيد الكربون، تم تعويض 0 بالمائة منها بشكل مباشر. تم إجراء التقديرات باستخدام حاسبة تأثير التعلم الآلي المقدمة في تحديد كمية lacoste2019.
@software{charin_polpanumas_2023_7878101,
author = {Charin Polpanumas and
Wannaphong Phatthiyaphaibun and
Patomporn Payoungkhamdee and
Peerat Limkonchotiwat and
Lalita Lowphansirikul and
Can Udomcharoenchaikit and
Titipat Achakulwisut and
Ekapol Chuangsuwanich and
Sarana Nutanong},
title = {{WangChanGLM? — The Multilingual Instruction-
Following Model}},
month = apr,
year = 2023,
publisher = {Zenodo},
version = {v0.1},
doi = {10.5281/zenodo.7878101},
url = {https://doi.org/10.5281/zenodo.7878101}
}
نود أن نشكر Huggingface على البنية التحتية مفتوحة المصدر والنظام البيئي الذي بنوه، وخاصة lvwerra لمستودع trl. نحن نعرب عن تقديرنا لرواد الضبط الدقيق مفتوح المصدر الذين سبقونا، بما في ذلك على سبيل المثال لا الحصر، Alpaca وAlpaca-LoRA وGPT4All وOpenAssistant وKoala وVicuna وDolly.
كود المصدر مرخص بموجب ترخيص Apache-2.0. أوزان النموذج مرخصة بموجب CC-BY-SA 4.0. يتم الحصول على مجموعات البيانات الدقيقة من LAION OIG chip2 وinfill_dbpedia (Apache-2.0)، وDataBricks Dolly v2 (Apache-2.0)، وOpenAI TL;DR (MIT)، وHello-SimpleAI HC3 (CC-BY SA).