Blog | Kode | Demo
WangChanGLM adalah Facebook XGLM-7.5B multibahasa yang disempurnakan dengan instruksi menggunakan kumpulan data sumber terbuka yang diizinkan secara komersial (LAION OIG chip2 dan infill_dbpedia, DataBricks Dolly v2, OpenAI TL;DR, dan Hello-SimpleAI HC3; sekitar 400 ribu contoh), dirilis di bawah CC-BY SA 4.0. Model-model tersebut dilatih untuk melakukan subset tugas-tugas mengikuti instruksi yang kami anggap paling relevan, yaitu: pemahaman membaca, curah pendapat, dan menulis kreatif. Kami memberikan bobot untuk model yang disempurnakan pada kumpulan data berbahasa Inggris saja (wangchanglm-7.5B-sft-en) dan pos pemeriksaan lain yang disempurnakan lebih lanjut pada kumpulan data Bahasa Thailand Terjemahan Google (wangchanglm-7.5B-sft-enth). Kami melakukan evaluasi gaya Vicuna menggunakan manusia dan ChatGPT (dalam kasus kami, gpt-3.5-turbo
karena kami masih dalam daftar tunggu untuk gpt-4
) dan mengamati beberapa perbedaan antara kedua jenis annoator tersebut. Semua kode pelatihan dan evaluasi dibagikan di bawah lisensi Apache-2.0 di Github kami, serta kumpulan data dan bobot model di HuggingFace. Mirip dengan Dolly v2, kami hanya menggunakan model dan kumpulan data yang telah dilatih sebelumnya dan bersumber terbuka, dan diizinkan secara komersial. Model kami tidak dibatasi oleh klausa non-komersial seperti model yang menggunakan LLaMA sebagai basis, atau klausa non-komersial seperti model yang menggunakan self -instruksikan kumpulan data dari ChatGPT. Lihat demo langsung kami di sini.
Kami menyediakan berbagai versi model kami sebagai berikut:
Versi shard yang digunakan dalam demo:
Kami menyediakan set pelatihan kami sebagai berikut:
Kami menyempurnakan XGLM-7.5B pada GPU 4 V100 (VARM 32 GB) dengan hyperparameter yang dijelaskan dalam 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
Adaptor digabungkan ke bobot utama dengan skrip dari lvwerra/trl.
XGLM-7.5B dapat disempurnakan pada satu GPU VRAM 32GB atau beberapa GPU dengan VRAM lebih kecil dengan hyperparameter yang dijelaskan dalam 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
Kami juga menyediakan skrip untuk penyempurnaan penuh. Kami bereksperimen dengan model yang lebih kecil pada kumpulan data pelatihan yang berbeda.
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
Kami melakukan inferensi pada perintah OpenAssistant menggunakan hyperparameter yang dijelaskan dalam 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
Kami mengevaluasi setiap pasangan jawaban model menggunakan gpt-3.5-turbo
seperti yang dijelaskan dalam script/eval_vicuna_style.py
. Seluruh inferensi dan evaluasi disimpan dalam script/infer_and_eval.sh
. Kuesioner manusia disimpan di data/human_questionnaire
.
Eksperimen dilakukan menggunakan infrastruktur swasta yang memiliki efisiensi karbon sebesar 0,432 kgCO2eq/kWh. Komputasi kumulatif selama 500 jam dilakukan pada perangkat keras tipe Tesla V100-SXM2-32GB (TDP 300W). Total emisi diperkirakan sebesar 64,8 CO2eq dan 0 persen di antaranya telah diimbangi secara langsung. Estimasi dilakukan menggunakan kalkulator Dampak MachineLearning yang disajikan dalam penghitungan 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}
}
Kami mengucapkan terima kasih kepada Huggingface atas infrastruktur dan ekosistem sumber terbuka yang telah mereka bangun, khususnya lvwerra repositori trl. Kami memberikan apresiasi kepada pionir penyetelan sumber terbuka sebelum kami termasuk namun tidak terbatas pada Alpaca, Alpaca-LoRA, GPT4All, OpenAssistant, Koala, Vicuna, dan Dolly.
Kode sumber dilisensikan di bawah lisensi Apache-2.0. Anak timbangan model dilisensikan dengan CC-BY-SA 4.0. Kumpulan data penyempurnaan bersumber dari chip2 LAION OIG dan infill_dbpedia (Apache-2.0), DataBricks Dolly v2 (Apache-2.0), OpenAI TL;DR (MIT), dan Hello-SimpleAI HC3 (CC-BY SA).