Примечание
Добро пожаловать в нашу последнюю работу: Carellama (Care Alpaca), медицинская модель с большой языком, которая сочетает в себе десятки общедоступных медицинских наборов данных о тонкой настройке и открыто доступные медицинские модели с крупными языками для продвижения быстрого развития медицинского LLM: https://github.com/wangrongsheng/carellama

1 Используемые данные CMEDQA2
| проект | Набор данных | Базовая модель |
|---|---|---|
| Чатменный | Консультации содержит 50 Вт + онлайн -консультации + Ответ CHATGPT, TCM Традиционная китайская диагностика медицины и набор данных о лечении не был опубликован | Лама-7B |
| Чатхатор | HealthCaremagic-100K содержит 100 тыс.+ Реальный набор данных диалога с реальным доктором пациента, ICLINIQ-10K содержит набор данных диалога 10K+ Doctor, GenmedGPT-5K содержит набор данных диалога 5K+ доктора, сгенерированный GPT. | Лама-7B |
| Med-Chatglm | Huatuo-Data, Huatuo-Liver-Cancer | Чатглм-6B |
| Huatuo-Llama-Med-Chinese | Huatuo-Data, Huatuo-Liver-Cancer | Лама-7B |
| Doctorglm | Cmd., Meddialog, Chatcdor Project Dataset | Чатглм-6B |
| Medicalgpt-Zh | Данные не с открытым исходным кодом | Чатглм-6B |
| Докторлама | Лама | |
| Medical_nlp 2 | - | - |
| Cmcqa 3 | - | - |
| Qizhengpt | - | - |
| LLM-PRETHAIN-FINETUNE | - | - |
| PMC-Llama | - | Лама-7B |
| Бьянк | - | - |
| Медальпака | - | Лама-7B |
| Medicalgpt | - | - |
| LLM-PRETHAIN-FINETUNE | - | - |
| Shennong-TCM-LLM | - | - |
| Sunsimiao | - | - |
| CMLM-Zhongjing | - | - |
| Чжунцзин | - | - |
| Мин | - | - |
| Disc-Medllm | - | - |
pip install - r requirements . txt CUDA_VISIBLE_DEVICES = 0 python MedQA - ChatGLM / finetune . py
- - do_train
- - dataset merged - cMedQA
- - finetuning_type lora
- - output_dir . / med - lora
- - per_device_train_batch_size 32
- - gradient_accumulation_steps 256
- - lr_scheduler_type cosine
- - logging_steps 500
- - save_steps 1000
- - learning_rate 5e-5
- - num_train_epochs 10.0
- - fp16 CUDA_VISIBLE_DEVICES = 0 python MedQA - ChatGLM / finetune . py
- - do_train
- - dataset merged - cMedQA
- - finetuning_type freeze
- - output_dir . / med - freeze
- - per_device_train_batch_size 32
- - gradient_accumulation_steps 256
- - lr_scheduler_type cosine
- - logging_steps 500
- - save_steps 1000
- - learning_rate 5e-5
- - num_train_epochs 10.0
- - fp16 CUDA_VISIBLE_DEVICES = 1 python MedQA - ChatGLM / finetune . py
- - do_train - - dataset merged - cMedQA
- - finetuning_type p_tuning
- - output_dir . / med - p_tuning
- - per_device_train_batch_size 32
- - gradient_accumulation_steps 256
- - lr_scheduler_type cosine
- - logging_steps 500
- - save_steps 1000
- - learning_rate 5e-5
- - num_train_epochs 10.0
- - fp16Для получения дополнительной информации о параметрах вы можете просмотреть подробное объяснение документов/параметров.md.
Распределенное обучение мульти-GPU:
# 配置分布式参数
accelerate config
# 分布式训练
accelerate launch src / finetune . py
- - do_train
- - dataset Huatuo , CMD , MedDialog , guanaco , cognition
- - finetuning_type lora
- - output_dir med - lora
- - per_device_train_batch_size 16
- - gradient_accumulation_steps 4
- - lr_scheduler_type cosine
- - logging_steps 10
- - save_steps 1000
- - learning_rate 5e-5
- - num_train_epochs 3.0
- - fp16
- - ddp_find_unused_parameters False # 分布式训练时,LoRA微调需要添加防止报错
- - plot_loss CUDA_VISIBLE_DEVICES = 0 python MedQA - ChatGLM / web_demo . py
- - checkpoint_dir med - lora /
( med - freez / )
( med - p_tuning / ) CUDA_VISIBLE_DEVICES = 0 python MedQA - ChatGLM / infer . py
- - checkpoint_dir med - lora /
( med - freez / )
( med - p_tuning / )Объединить модель:
CUDA_VISIBLE_DEVICES = 0 python MedQA - ChatGLM / export_weights . py
- - finetuning_weights_path . / med - lora
- - save_weights_path . / save_loraЗагрузка объединенной модели:
CUDA_VISIBLE_DEVICES = 0 python MedQA - ChatGLM / load_export_weights . py
- - save_weights_path . / save_lora| Метод тонкой настройки | Вес модели | Продолжительность обучения | Тренировочные раунды |
|---|---|---|---|
| Лора | Medqa-Chatglm-Lora | 28 часов | 10 |
| P-Tuning v2 | Medqa-chatglm-ptuningv2 | 27 часов | 10 |
| Заморозить | Medqa-chatglm freeze | 28 часов | 10 |
* Эксперимент проводился в системе Linux, A100 (1x, 80 ГБ)
Ресурсы, связанные с этим проектом, предназначены только для академических исследований и строго запрещены для коммерческих целей. При использовании деталей, включающих сторонний код, пожалуйста, строго следуйте соответствующему протоколу с открытым исходным кодом. На содержание, генерируемое моделью, влияет такие факторы, как расчет модели, случайность и количественная потери точности, и этот проект не может гарантировать ее точность. Большинство наборов данных этого проекта генерируются моделями и не могут быть использованы в качестве основы для фактического медицинского диагноза, даже если они соответствуют определенным медицинским фактам. Этот проект не несет никакой юридической ответственности за любые выводы контента по модели, а также не несет ответственности за какие -либо убытки, которые могут возникнуть в результате использования соответствующих ресурсов и результатов выходных данных.