BAAI
/

Text Generation
Transformers
Safetensors
aquila3
conversational
custom_code
Inference Endpoints
AquilaMed-RL / README.md
MonteXiaofeng's picture
Update README.md
0f4f1a3 verified
---
license: other
datasets:
- BAAI/AquilaMed-Instruct
- BAAI/AquilaMed-RL
---
## Introduction
Aquila is a large language model independently developed by BAAI. Building upon the Aquila model, we continued pre-training, SFT (Supervised Fine-Tuning), and RL (Reinforcement Learning) through a multi-stage training process, ultimately resulting in the AquilaMed-RL model. This model possesses professional capabilities in the medical field and demonstrates a significant win rate when evaluated against annotated data using the GPT-4 model. The AquilaMed-RL model can perform medical triage, medication inquiries, and general Q&A. We will open-source the SFT data and RL data required for training the model. Additionally, we will release a technical report detailing our methods in developing the model for the medical field, thereby promoting the development of the open-source community. Besides we use the Qwen's tokenizer and template to train the insdutry model.
## Model Details
The training process of the model is described as follows.
![pipeline](./img/pipline_2.jpg)
## Dataset
we have released our supervised data, you can find the in huggingface
- SFT: https://huggingface.co/datasets/BAAI/AquilaMed-Instruct
- RL: https://huggingface.co/datasets/BAAI/AquilaMed-RL
## Evaluation
The subjective and objective scores are as follows。
subjective: Using GPT-4 for evaluation, the win rates of our model compared to the reference answers in the annotated validation dataset are as follows.
Objective:use MMLU / C-EVAL / CMB-exam to evaluate the model
![pipeline](./img/eval-result-med.png)
## usage
Once you have downloaded the model locally, you can use the following code for inference.
```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, AutoConfig
model_dir = "xxx"
tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)
config = AutoConfig.from_pretrained(model_dir, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_dir, config=config, trust_remote_code=True
)
model.cuda()
model.eval()
template = "<|im_start|>system\nYou are a helpful assistant in medical domain.<|im_end|>\n<|im_start|>user\n{question}<|im_end|>\n<|im_start|>assistant\n"
text = "我肚子疼怎么办?"
item_instruction = template.format(question=text)
inputs = tokenizer(item_instruction, return_tensors="pt").to("cuda")
input_ids = inputs["input_ids"]
prompt_length = len(input_ids[0])
generate_output = model.generate(
input_ids=input_ids, do_sample=False, max_length=1024, return_dict_in_generate=True
)
response_ids = generate_output.sequences[0][prompt_length:]
predicts = tokenizer.decode(
response_ids, skip_special_tokens=True, clean_up_tokenization_spaces=True
)
print("predict:", predicts)
"""
predict: 肚子疼可能是多种原因引起的,例如消化不良、胃炎、胃溃疡、胆囊炎、胰腺炎、肠道感染等。如果疼痛持续或加重,或者伴随有呕吐、腹泻、发热等症状,建议尽快就医。如果疼痛轻微,可以尝试以下方法缓解:
1. 饮食调整:避免油腻、辛辣、刺激性食物,多喝水,多吃易消化的食物,如米粥、面条、饼干等。
2. 休息:避免剧烈运动,保持充足的睡眠。
3. 热敷:用热水袋或毛巾敷在肚子上,可以缓解疼痛。
4. 药物:可以尝试一些非处方药,如布洛芬、阿司匹林等,但请务必在医生的指导下使用。
如果疼痛持续或加重,或者伴随有其他症状,建议尽快就医。
希望我的回答对您有所帮助。如果您还有其他问题,欢迎随时向我提问。
"""
```
## License
Aquila series open-source model is licensed under [BAAI Aquila Model Licence Agreement](https://huggingface.co/BAAI/AquilaMed-RL/blob/main/BAAI-Aquila-Model-License%20-Agreement.pdf)
## Citation
If you find our work helpful, feel free to give us a cite.
```
@misc{zhao2024aquliamed,
title={Aqulia-Med LLM: Pioneering Full-Process Open-Source Medical Language Models},
author={Lulu Zhao and Weihao Zeng and Xiaofeng Shi and Hua Zhou and Donglin Hao and Yonghua Lin},
year={2024},
eprint={2406.12182},
archivePrefix={arXiv},
primaryClass={id='cs.CL' full_name='Computation and Language' is_active=True alt_name='cmp-lg' in_archive='cs' is_general=False description='Covers natural language processing. Roughly includes material in ACM Subject Class I.2.7. Note that work on artificial languages (programming languages, logics, formal systems) that does not explicitly address natural-language issues broadly construed (natural-language processing, computational linguistics, speech, text retrieval, etc.) is not appropriate for this area.'}
}
```