• Stars
    star
    733
  • Rank 61,835 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created over 1 year ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🌞 CareGPT (关怀GPT)是一个医疗大语言模型,同时它集合了数十个公开可用的医疗微调数据集和开放可用的医疗大语言模型,包含LLM的训练、测评、部署等以促进医疗LLM快速发展。Medical LLM, Open Source Driven for a Healthy Future.

 中文  | English


CareGPT (关怀GPT):医疗LLM,开源驱动,共创健康未来

资源整合 / 开源模型 / 丰富数据 / 高效部署

GitHub Contributors
GitHub Contributors Issues GitHub pull requests
GitHub Contributors

视频教程 安装部署 在线体验

⚡特性:

  1. 添加ChatGPT fine-tuning实现,推荐有额度的朋友在ChatGPT上进行微调实验;
  2. 支持ChatGPT-Next-Web部署微调的模型;
  3. 支持Gradio部署微调的模型;
  4. 支持LLaMA、LLaMA-2全系列模型训练;
  5. 支持LoRA、QLoRA,包括后续PPO、DPO强化学习训练;
  6. 支持模型与知识库结合问答;
  7. 开源了超过60个医院科室的导诊材料信息
  8. 开发了支持GPT-4/ChatGPT模型蒸馏医学数据的工具,能够批量生成各种用于构建知识库和微调的数据;
  9. 聚合了丰富的开源医学LLM、LLM训练的医学数据、LLM部署资料、LLM测评以及相关LLM的资源整理;
  10. 我们参与了医学LLM的CMB榜单评测-IvyGPT,在测试中,我们领先ChatGPT及一众开源医学LLM;
  11. 我们基于自有数据集在不同基座LLM上训练开源了多个医疗LLM,您可以直接下载体验;

🎁数据集

预训练数据

监督训练数据

奖励训练数据

🗜️全流程训练

1.安装依赖

conda create -n llm python=3.11
conda activate llm
python -m pip install -r requirements.txt
# 转为HF格式
python -m transformers.models.llama.convert_llama_weights_to_hf \
    --input_dir path_to_llama_weights --model_size 7B --output_dir path_to_llama_model

2.数据配置

数据集配置、PT、SFT、RW数据格式

dataset_info

如果您使用自定义数据集,请务必在 dataset_info.json 文件中以如下格式提供您的数据集定义。

"数据集名称": {
  "hf_hub_url": "HuggingFace上的项目地址(若指定,则忽略下列三个参数)",
  "script_url": "包含数据加载脚本的本地文件夹名称(若指定,则忽略下列两个参数)",
  "file_name": "该目录下数据集文件的名称(若上述参数未指定,则此项必需)",
  "file_sha1": "数据集文件的SHA-1哈希值(可选)",
  "columns": {
    "prompt": "数据集代表提示词的表头名称(默认:instruction)",
    "query": "数据集代表请求的表头名称(默认:input)",
    "response": "数据集代表回答的表头名称(默认:output)",
    "history": "数据集代表历史对话的表头名称(默认:None)"
  }
}

其中 promptresponse 列应当是非空的字符串。query 列的内容将会和 prompt 列拼接作为模型输入。history 列应当是一个列表,其中每个元素是一个字符串二元组,分别代表用户请求和模型答复。

PT example data

.txt格式,一行一个无监督数据。

Machine learning (ML) is a field devoted to understanding and building methods that let machines "learn" – that is, methods that leverage data to improve computer performance on some set of tasks.
Machine learning algorithms build a model based on sample data, known as training data, in order to make predictions or decisions without being explicitly programmed to do so. Machine learning algorithms are used in a wide variety of applications, such as in medicine, email filtering, speech recognition, agriculture, and computer vision, where it is difficult or unfeasible to develop conventional algorithms to perform the needed tasks.

SFT example data 1

[
  {
    "instruction": "听起来很不错。人工智能可能在哪些方面面临挑战呢?",
    "input": "",
    "output": "人工智能面临的挑战包括数据隐私、安全和道德方面的问题,以及影响就业机会的自动化等问题。",
    "history": [
      ["你好,你能帮我解答一个问题吗?", "当然,请问有什么问题?"],
      ["我想了解人工智能的未来发展方向,你有什么想法吗?", "人工智能在未来的发展方向可能包括更强大的机器学习算法,更先进的自然语言处理技术,以及更加智能的机器人。"]
    ]
  }
]

SFT example data 2

[
  {
    "instruction": "听起来很不错。人工智能可能在哪些方面面临挑战呢?",
    "input": "",
    "output": "人工智能面临的挑战包括数据隐私、安全和道德方面的问题,以及影响就业机会的自动化等问题。",
    "history": []
  }
]

RW example data

[
  {
    "instruction": "生成三个与“道歉”意思相同的动词",
    "input": "",
    "output": [
      "承认,表示遗憾,弥补。",
      "道歉"
    ]
  }
]

3.训练配置

训练参数与指令

配置分布式

查看你的显卡是否是NVLINK连接,NVLINK连接才能有效使用accelerate进行并行加速训练。

nvidia-smi topo -m
accelerate config # configure the environment
accelerate launch src/train_bash.py # arguments (same as above)

监督训练

# LLaMA-2
accelerate launch src/train_bash.py \
    --stage sft \
    --model_name_or_path ./Llama-2-7b-chat-hf \
    --do_train \
    --dataset mm \
    --finetuning_type lora \
    --quantization_bit 4 \
    --overwrite_cache \
    --output_dir output \
    --per_device_train_batch_size 8 \
    --gradient_accumulation_steps 4 \
    --lr_scheduler_type cosine \
    --logging_steps 10 \
    --save_steps 1000 \
    --learning_rate 5e-5 \
    --num_train_epochs 2.0 \
    --plot_loss \
    --fp16 \
    --template llama2 \
    --lora_target q_proj,v_proj

# LLaMA
accelerate launch src/train_bash.py \
    --stage sft \
    --model_name_or_path ./Llama-7b-hf \
    --do_train \
    --dataset mm,hm \
    --finetuning_type lora \
    --overwrite_cache \
    --output_dir output-1 \
    --per_device_train_batch_size 4 \
    --gradient_accumulation_steps 4 \
    --lr_scheduler_type cosine \
    --logging_steps 10 \
    --save_steps 2000 \
    --learning_rate 5e-5 \
    --num_train_epochs 2.0 \
    --plot_loss \
    --fp16 \
    --template default \
    --lora_target q_proj,v_proj

强化学习

# LLaMA-2, DPO
accelerate launch src/train_bash.py \
    --stage dpo \
    --model_name_or_path ./Llama-2-7b-chat-hf \
    --do_train \
    --dataset rlhf \
    --template llama2 \
    --finetuning_type lora \
    --quantization_bit 4 \
    --lora_target q_proj,v_proj \
    --resume_lora_training False \
    --checkpoint_dir ./output-2 \
    --output_dir output-dpo \
    --per_device_train_batch_size 2 \
    --gradient_accumulation_steps 4 \
    --lr_scheduler_type cosine \
    --logging_steps 10 \
    --save_steps 1000 \
    --learning_rate 1e-5 \
    --num_train_epochs 1.0 \
    --plot_loss \
    --fp16

4.推理配置

推理参数与指令

Web访问

# LLaMA-2
python src/web_demo.py \
    --model_name_or_path ./Llama-2-7b-chat-hf \
    --checkpoint_dir output \
    --finetuning_type lora \
    --template llama2

# LLaMA
python src/web_demo.py \
    --model_name_or_path ./Llama-7b-hf \
    --checkpoint_dir output-1 \
    --finetuning_type lora \
    --template default

# DPO
python src/web_demo.py \
    --model_name_or_path ./Llama-2-7b-chat-hf \
    --checkpoint_dir output-dpo \
    --finetuning_type lora \
    --template llama2

API访问

# LLaMA-2
python src/api_demo.py \
    --model_name_or_path ./Llama-2-7b-chat-hf \
    --checkpoint_dir output \
    --finetuning_type lora \
    --template llama2

# LLaMA
python src/api_demo.py \
    --model_name_or_path ./Llama-7b-hf \
    --checkpoint_dir output-1 \
    --finetuning_type lora \
    --template default

# DPO
python src/api_demo.py \
    --model_name_or_path ./Llama-2-7b-chat-hf \
    --checkpoint_dir output-dpo \
    --finetuning_type lora \
    --template llama2

测试API:

curl -X 'POST' \
    'http://127.0.0.1:8888/v1/chat/completions' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -d '{
    "model": "string",
    "messages": [
      {
        "role": "user",
        "content": "你好"
      }
    ],
    "temperature": 0,
    "top_p": 0,
    "max_new_tokens": 0,
    "stream": false
  }'

CLI访问

# LLaMA-2
python src/cli_demo.py \
    --model_name_or_path ./Llama-2-7b-chat-hf \
    --checkpoint_dir output \
    --finetuning_type lora \
    --template llama2

# LLaMA
python src/cli_demo.py \
    --model_name_or_path ./Llama-7b-hf \
    --checkpoint_dir output-1 \
    --finetuning_type lora \
    --template default

# DPO
python src/cli_demo.py \
    --model_name_or_path ./Llama-2-7b-chat-hf \
    --checkpoint_dir output-dpo \
    --finetuning_type lora \
    --template llama2

批量预测

# LLaMA-2
CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \
    --stage sft \
    --model_name_or_path ./Llama-2-7b-chat-hf \
    --do_predict \
    --dataset mm \
    --template llama2 \
    --finetuning_type lora \
    --checkpoint_dir output \
    --output_dir predict_output \
    --per_device_eval_batch_size 8 \
    --max_samples 100 \
    --predict_with_generate

# LLaMA
CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \
    --stage sft \
    --model_name_or_path ./Llama-7b-hf \
    --do_predict \
    --dataset mm \
    --template default \
    --finetuning_type lora \
    --checkpoint_dir output-1 \
    --output_dir predict_output \
    --per_device_eval_batch_size 8 \
    --max_samples 100 \
    --predict_with_generate

实验评估(BLEU和ROUGE_CHINESE)

# LLaMA-2
CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \
    --stage sft \
    --model_name_or_path ./Llama-2-7b-chat-hf \
    --do_eval \
    --dataset mm \
    --template llama2 \
    --finetuning_type lora \
    --checkpoint_dir output \
    --output_dir eval_output \
    --per_device_eval_batch_size 8 \
    --max_samples 100 \
    --predict_with_generate

# LLaMA
CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \
    --stage sft \
    --model_name_or_path ./Llama-7b-hf \
    --do_eval \
    --dataset mm \
    --template default \
    --finetuning_type lora \
    --checkpoint_dir output-1 \
    --output_dir eval_output \
    --per_device_eval_batch_size 8 \
    --max_samples 100 \
    --predict_with_generate

在4/8-bit评估时,推荐使用--per_device_eval_batch_size=1--max_target_length 128

5.Gradio部署

Gradio部署指令

模型导出

# LLaMA-2
python src/export_model.py \
    --model_name_or_path ./Llama-2-7b-chat-hf \
    --template llama2 \
    --finetuning_type lora \
    --checkpoint_dir output-1 \
    --output_dir output_export

# LLaMA
python src/export_model.py \
    --model_name_or_path ./Llama-7b-hf \
    --template default \
    --finetuning_type lora \
    --checkpoint_dir output \
    --output_dir output_export

开启运行

%cd Gradio
python app.py

6.ChatGPT-Next-Web部署

Next部署指令

开启API服务

# LLaMA-2
python src/api_demo.py \
    --model_name_or_path ./Llama-2-7b-chat-hf \
    --checkpoint_dir output \
    --finetuning_type lora \
    --template llama2

# LLaMA
python src/api_demo.py \
    --model_name_or_path ./Llama-7b-hf \
    --checkpoint_dir output-1 \
    --finetuning_type lora \
    --template default

下载Next并运行

  1. 下载Next: Web Windows MacOS Linux
  1. 修改配置: 安装并打开Next,然后打开设置,修改接口地址为:http://127.0.0.1:8000/(即你的API接口地址),然后就可以使用了。

💫实践经验

  1. 在CareGPT中并未对分词模型进行中文分词的添加和重新训练,但是效果依旧表现可喜;
  2. 全流程的LLM训练包括:预训练、监督微调、奖励模型、强化学习,多数情况下监督微调即可满足自身需求
  3. 在算力充足情况下推荐使用医疗数据和通用语料数据进行训练,这样模型既可以有医学上的训练学习,也可以保持通用能力(如指令遵循);
  4. 不要指望一个医疗LLM就可以满足所有需求,合理的做法可能是实时更新的知识库+微调的医疗LLM(如ChatLaw);
  5. BLOOMZ模型系列使用了PILE语料库进行训练,该语料库包含各种医学文本,包括PubMed CentralPubMed Abstracts等。这些宝贵的文本极大地丰富了BLOOMZ模型的医学知识体系,所以很多开源项目都会优先选择BLOOMZ做医学微调的底座模型;
  6. (2023.08.26) ChatGPT基于代码GPT训练而来,那我们采用CodeLLaMA在下游任务微调会不会比在LLaMA-1/2上微调取得更好的结果呢?
  7. 结合我们最近的工作与最近许多公开发表的工作证明:在LLM时代,数据质量 > 数量这个真理,如:Less is More! 上交清源 && 里海 | 利用200条数据微调模型,怒超MiniGPT-4!,超大规模的SFT数据会让下游任务LLM减弱或者失去ICL、CoT等能力;
  8. 对于垂类模型,或许我们更应该关注PT的过程,而不是采集千万百万的SFT数据做训练,我们的建议是大规模预训练+小规模监督微调=超强的LLM模型
  9. 一个好的预训练医学LLM尚未在开源社区中被开放出来,期待有人能去补充这样的工作;
  10. 预训练可以灌入知识,监督微调只是激活领域能力(无法关注知识)?预训练的知识与监督微调知识应该呼应?预训练几十GB的语料知识会被原来数万亿token预训练的模型知识淹没?
  11. 大量数据进行二次预训练需要配比各类型其他数据:(1)语言模型训练完成后,参数各个区域负责部分已经确定,如果大量增加某类在预训练时没有的知识,会造成参数的大幅度变化,造成整个语言模型能力损失; (2)进行大规模数据的二次预训练,需要添加5-10倍原始预训练中的数据,并打混后一起训练;
  12. 指令微调阶段不能够进行过多轮次训练:(1)针对少量数据进行多个EPOCH的训练,可能会造成语言关键区域变化,从而导致整个模型失效; (2)为了特定任务提升的指令微调,为了保证模型语言能力关键区不被大幅度调整,需要添加通用指令微调数据或者预训练数据;
  13. 训练数据要严格控制噪音:(1)预训练数据中如果出现少量连续的噪音数据,比如连续重复单词、非单词序列等,都可能造成特定维度的调整,从而使得模型整体PPL大幅度波动; (2)有监督微调指令中如果有大量与原有大语言模型不匹配的指令片段,也可能造成模型调整特定维度,从而使得模型整体性能大幅度下降;
  14. 大模型混合多种能力数据微调时呈现:高资源冲突,低资源增益,所以混合不同数据进行微调需要一定的工程技巧;
  15. 通常来说,lora与full-tuning有不可忽略的性能差异(如LoRA results in 4-6% lower performance compared to full fine-tuning);
  16. 7B系列模型请优先采用全参数微调方式,13B及以上参数模型可使用LoRA,QLoRA等方法;
  17. 超大参数模型即使被量化其能力依然能保持的较好;
  18. 虽然 LLM 训练(或者说在 GPU 上训练出的所有模型)有着不可避免的随机性,但多 lun 训练的结果仍非常一致;
  19. 如果受 GPU 内存的限制,QLoRA 提供了一种高性价比的折衷方案。它以运行时间增长 39% 的代价,节省了 33% 的内存;
  20. 在微调 LLM 时,优化器的选择不是影响结果的主要因素。无论是 AdamW、具有调度器 scheduler 的 SGD ,还是具有 scheduler 的 AdamW,对结果的影响都微乎其微;
  21. 虽然 Adam 经常被认为是需要大量内存的优化器,因为它为每个模型参数引入了两个新参数,但这并不会显著影响 LLM 的峰值内存需求。这是因为大部分内存将被分配用于大型矩阵的乘法,而不是用来保留额外的参数;
  22. 对于静态数据集,像多轮训练中多次迭代可能效果不佳。这通常会导致过拟和,使训练结果恶化;
  23. 如果要结合 LoRA,确保它在所有层上应用,而不仅仅是 Key 和 Value 矩阵中,这样才能最大限度地提升模型的性能;
  24. 调整 LoRA rank 和选择合适的 α 值至关重要。提供一个小技巧,试试把 α 值设置成 rank 值的两倍;
  25. 14GB RAM 的单个 GPU 能够在几个小时内高效地微调参数规模达 70 亿的大模型。对于静态数据集,想要让 LLM 强化成「全能选手」,在所有基线任务中都表现优异是不可能完成的。想要解决这个问题需要多样化的数据源,或者使用 LoRA 以外的技术;
  26. 根据NeurIPS workshop的建议,截止2023年12月18日,微调模型建议选型为英文10B以下选择Mistral-7B中文, 10B以下选择Yi-6B, 10B以上选择Qwen-14B和Yi-34B

🧰模型开源

阶段 权重介绍 下载地址 特点 底座模型 微调方法 数据集
🌟监督微调 多轮对话数据基于LLaMA2-7b-Chat训练而来 ⚙️CareLlama2-7b-chat-sft-multi🧰CareLlama2-7b-multi 出色的多轮对话能力 LLaMA2-7b-Chat QLoRA mm
监督微调 丰富高效医患对话数据基于LLaMA2-7b-Chat训练而来 ⚙️CareLlama2-7b-chat-sft-med 出色的患者疾病诊断能力 LLaMA2-7b-Chat QLoRA hm
监督微调 混合数据基于LLaMA-7b训练而来 ⚙️CareLlama1-7b-merge 更出色的医疗对话能力 LLaMA-7b LoRA mm,hm
监督微调 混合数据基于LLaMA2-7b-Chat训练而来 ⚙️CareLlama2-7b-merge🧰CareLlama2-7b-merge-mix 更出色的医疗对话能力 LLaMA2-7b-Chat QLoRA mm,hm
DPO ⚙️CareLlama2-7b-merge-dpo rlhf
监督微调 更多混合数据基于LLaMA2-7b-Chat训练而来 ⚙️CareLlama2-7b-super🧰CareLlama2-7b-super-mix 更出色的医疗对话能力 LLaMA2-7b-Chat QLoRA mm,ls,ks,mc,ms,qz,hm
监督微调 多轮对话数据基于Baichuan-13B-Chat训练而来 ⚙️Baichuan-13B-Chat-sft-multi 出色的多轮对话能力 Baichuan-13B-Chat QLoRA mm
监督微调 混合对话数据基于Baichuan-13B-Chat训练而来 ⚙️Baichuan-13B-Chat-sft-merge 更出色的医患对话能力 Baichuan-13B-Chat QLoRA mm,hm
监督微调 混合对话数据基于Baichuan-13B-Chat训练而来 ⚙️Baichuan-13B-Chat-sft-super🧰Baichuan-13B-Chat-sft-super-mix 更出色的医患对话能力 Baichuan-13B-Chat QLoRA mm,ls,ks,mc,ms,qz,hm
🌟监督微调 多轮对话数据基于QWen-7B训练而来 🧰carellm 出色的多轮对话能力 QWen-7B QLoRA mm
监督微调 多轮对话数据基于QWen-14B-Chat训练而来 ⚙️careqwen-14B-Chat-sft-multi 出色的多轮对话能力 QWen-14B-Chat QLoRA mm
监督微调 多轮对话数据基于InternLM-20B-Chat训练而来 ⚙️careinternlm-20B-Chat-sft-multi🧰careinternlm-20B-Chat-sft-multi-mix 出色的多轮对话能力 InternLM-20B-Chat QLoRA mm
🌟监督微调 多轮对话数据基于Baichuan2-13B-Chat训练而来 ⚙️Baichuan2-13B-Chat-sft-multi🧰Baichuan2-13B-Chat-sft-multi-mix 出色的多轮对话能力 Baichuan2-13B-Chat QLoRA mm

使用方法

  1. 下载相应的底座模型;
  2. 如果为LLaMA则转为HF格式,如果为LLaMA-2且下载的为HF格式则不需要转化;
  3. 下载上述你想要加载的权重;
  4. 根据推理配置开始使用我们的模型;

💯模型评测

Model Institution Score
ShuKunGPT 数坤科技 64.44
GPT-4 OpenAI 58.37
Baichuan2-53B 百川智能 45.69
ChatGLM2-6B 智谱AI 44.91
Baichuan-13B-chat 百川智能 41.63
IvyGPT (Baichuan2-13B+10W) 澳门理工大学 38.54
ChatGPT OpenAI 38.09
IvyGPT (Baichuan-13B+10W) 澳门理工大学 34.60
ChatGLM3-6B 智谱AI 33.76
HuatuoGPT (BLOOMZ) 香港中文大学 (深圳) 31.38
IvyGPT (Qwen-7B+PT-WiNGPT32亿+10W) 澳门理工大学 28.26
MedicalGPT - 26.45
ChatMed-Consult 华东师范大学 21.71
Bentsao 哈尔滨工业大学 21.25
ChatGLM-Med 哈尔滨工业大学 20.67
IvyGPT (LLaMA-2-7B+220W) 澳门理工大学 18.55
DoctorGLM 上海科技大学 7.63
BianQue-2 华东师范大学 7.26
Model Non-hallucination Rate
ERNIE-Bot 69.33%
Baichuan2-53B 68.22%
ChatGLM-Pro 61.33%
GPT-4-0613 53.11%
QWen-14B-Chat 46.89%
Baichuan2-13B-Chat 42.44%
Baichuan2-7B-Chat 40.67%
GPT3.5-turbo-0613 39.33%
ChatGLM2-6B 34.89%
Baichuan2-13B-base 33.78%
Baichuan-13B-Chat 31.33%
Baichuan-13B-base 25.33%
Baichuan2-7B-base 25.33%
Baichuan-7B-base 22.22%

参考自:2310.03368.pdf

📳结果演示

查看更多演示

🍰免责声明

本项目相关资源仅供学术研究之用,严禁用于商业用途。使用涉及第三方代码的部分时,请严格遵循相应的开源协议。模型生成的内容受模型计算、随机性和量化精度损失等因素影响,本项目无法对其准确性作出保证。即使本项目模型输出符合医学事实,也不能被用作实际医学诊断的依据。对于模型输出的任何内容,本项目不承担任何法律责任,亦不对因使用相关资源和输出结果而可能产生的任何损失承担责任。

🥂项目引用

  • CareGPT(原名CareLlama) 为MPU的医疗大语言模型IvyGPT的分支,其存在意义是探索医疗数据、医疗LLM训练与部署相关的工作研究。
  • 本工作由澳门理工大学应用科学学院硕士研究生王荣胜、周瑞哲、陈浩铭完成,指导老师为檀韬副教授和王亚鹏副教授。
  • 我们的工作(IvyGPT)已经被CMB论文引用,相关论文已经被提交至NAACL:https://openreview.net/pdf?id=rHDSaubv25

如果你使用了本项目的模型,数据或者代码,请声明以下引用:

@misc{wang2023caregpt,
      title={CareGPT: Medical LLM, Open Source Driven for a Healthy Future}, 
      author={Rongsheng Wang, Ruizhe Zhou, Haoming Chen, Yapeng Wang, Tao Tan},
      year={2023},
      publisher = {GitHub},
      journal = {GitHub repository},
      howpublished = {\url{https://github.com/WangRongsheng/CareGPT}},
}
@article{wang2023ivygpt,
  title={IvyGPT: InteractiVe Chinese pathwaY language model in medical domain},
  author={Wang, Rongsheng and Duan, Yaofei and Lam, ChanTong and Chen, Jiexi and Xu, Jiangsheng and Chen, Haoming and Liu, Xiaohong and Pang, Patrick Cheong-Iao and Tan, Tao},
  journal={arXiv preprint arXiv:2307.10512},
  year={2023}
}
@Misc{llama-factory,
  title = {LLaMA Factory},
  author = {hiyouga},
  howpublished = {\url{https://github.com/hiyouga/LLaMA-Factory}},
  year = {2023}
}
机器之心

机器之心SOTA

本项目已被收录到机器之心SOTA库,获
得周热榜。

Backdrop

Backdrop Build V2

本项目已参与Backdrop Build V2活动。

Baichuan

AGI For Better

本项目已参与百川智能携手亚马逊云科
技黑客松竞赛,获得全国总决赛季军。

🔔使用许可

此存储库遵循MIT License ,请参阅许可条款。

🎗️赞助支持

如果觉得这个项目对您有所帮助,并且愿意支持我们的工作,您可以通过以下方式(请备注您的微信给我们):

您的支持将是我们继续探索LLM的动力,所有的支持将用于模型的推理部署任务中。

📚项目参考

医学LLM

评测LLM

体验LLM

部署LLM

LLM数据制作

LLM资源

LLM多模态

LLM下载

More Repositories

1

awesome-LLM-resourses

🧑‍🚀 全世界最好的LLM资料总结 | Summary of the world's best LLM resources.
1,600
star
2

XrayGLM

🩺 首个会看胸部X光片的中文多模态医学大模型 | The first Chinese Medical Multimodal Model that Chest Radiographs Summarization.
Python
889
star
3

ChatGenTitle

🌟 ChatGenTitle:使用百万arXiv论文信息在LLaMA模型上进行微调的论文题目生成模型
Python
825
star
4

MedQA-ChatGLM

🛰️ 基于真实医疗对话数据在ChatGLM上进行LoRA、P-Tuning V2、Freeze、RLHF等微调,我们的眼光不止于医疗问答
Python
297
star
5

Aurora

🐳 Aurora is a [Chinese Version] MoE model. Aurora is a further work based on Mixtral-8x7B, which activates the chat capability of the model's Chinese open domain.
Python
257
star
6

BestYOLO

🌟Change the world, it will become a better place. | 以科研和竞赛为导向的最好的YOLO实践框架!
Python
223
star
7

SAM-fine-tune

🌌 Fine tune specific SAM model on any task
Python
145
star
8

Use-LLMs-in-Colab

🤖 集合众多大模型在Colab上的使用 | LLMs is all you need.
Jupyter Notebook
120
star
9

make-your-yolov5_dataset

💥Make your yolov5 dataset by using labelimg.I hope my work can help you make your yolov5 datasets more quickly.
Python
77
star
10

KDAT

💥一个专为视觉方向目标检测全流程的标注工具集,全称:Kill Object Detection Annotation Tools。
Python
69
star
11

Awesome-LLM-with-RAG

A curated list of Large Language Model with RAG
Python
67
star
12

IvyGPT

[CICAI 2023] The official codes for "Ivygpt: Interactive chinese pathway language model in medical domain"
57
star
13

Chinese-LLaMA-Alpaca-Usage

📔 对Chinese-LLaMA-Alpaca进行使用说明和核心代码注解
Jupyter Notebook
48
star
14

DS_Yanweimin

🐋 大学《数据结构(C语言版)(第2版)》 严蔚敏版的配套PPT/源代码/实验安排/课时安排
43
star
15

PaddleOCR-Flask-deploy

✅Deploy PaddleOCR with flask | 利用Flask对PaddleOCR进行部署,方便调用
HTML
39
star
16

Knowledge-Base-LLMs-QA

👽 基于大模型的知识库问答 | Large model-based knowledge base Q&A.
Python
26
star
17

pytorch-classification

利用pytorch实现图像分类的一个完整的代码,训练,预测,TTA,模型融合,模型部署,cnn提取特征,svm或者随机森林等进行分类,模型蒸馏,一个完整的代码
Jupyter Notebook
25
star
18

Statistical-learning-method-lihang

《统计学习方法》,作者李航,本书全面系统地介绍了统计学习的主要内容
Jupyter Notebook
23
star
19

for-Graduate_student

💥考研指导
20
star
20

tf-pytorch-paddle

💥三大深度学习框架:tensorflow,pytorch,paddle的高层API使用学习
Jupyter Notebook
19
star
21

yolov5-obj-distance-measure

✅yolov5-obj-distance-measure.You can change code in yolov5.
Python
19
star
22

DeepLearing-LiMu-Notes

⛏️LiMu Deeplearning notes. | 李沐深度学习课程笔记
Jupyter Notebook
14
star
23

Classify-Leaves

✅Kaggle竞赛之176种树叶图片种类识别分类
Jupyter Notebook
12
star
24

CDNet-yolov5

💟《CDNet:一个基于YOLOv5的在Jetson Nano上实时、鲁棒的斑马线检测网络》论文的原生(ultralytics)yolov5训练、推理baseline仓库
Python
12
star
25

Directory

一个简约又简单的基于云服务部署的私人网盘系统
PHP
11
star
26

Yolov5-on-flask

Running YOLOv5 through web browser using Flask microframework
Python
9
star
27

Wear_mask

基于自制数据集+百度EasyDL训练的佩戴口罩识别
8
star
28

DS-python_Zhangguanghe

🐒 大学《数据结构-python语言描述》 张光河版的配套PPT/源代码/实验安排/课时安排
8
star
29

for-CPA

小白CPA(注册会计师)学习考证指南
8
star
30

Interesting-python

💟There are many interesting python examples.
Python
7
star
31

ReadPaper

🧑‍🚀 Professional translation and reading of English academic papers in PDF format.
HTML
7
star
32

Image-Registration

⛏️A collection of tools and practices for image registration. | 图像配准的工具和实践集合
Python
7
star
33

EasyDL

✅基于百度EasyDL训练的模型,并可以部署在前端、PC,移动端和微信小程序端,视频流推断
Python
6
star
34

Sentence-BERT-Similarity

📃Train text similarity model based on Sentence-BERT | 基于Sentence-BERT训练自己的文本相似度模型
Python
6
star
35

wrsArxiv

👻 Arxiv个性化定制化模版,实现对特定领域的相关内容、作者与学术会议的有效跟进,将Arxiv定制化为MyArxiv.
CSS
5
star
36

YOLOv5_tfjs

✅YOLOv5 TFjs infer demo
JavaScript
5
star
37

Yolov5-DeepSort-Pytorch

Real-time multi-person tracker using YOLO v5 and deep sort.
Python
5
star
38

mask-yolov5-fastapi

Yolov5 is used for mask recognition, and fastapi is used for web deployment.
Python
4
star
39

cnn-visualization

卷积神经网络(CNN)从卷积层到池化层可视化演示
C#
3
star
40

Awesome-Blog

集结优秀的博客与高颜值博客
3
star
41

WangRongsheng.github.io

HTML
3
star
42

smart-photo

基于百度飞桨PaddleClas和Watchdog构建的智慧相册
Python
3
star
43

Bayesian-Personalized-Ranking

Bayesian Personalized Ranking is a learning algorithm for collaborative filtering first introduced in: BPR: Bayesian Personalized Ranking from Implicit Feedback. Steffen Rendle, Christoph Freudenthaler, Zeno Gantner and Lars Schmidt-Thieme, Proc. UAI 2009.
Python
3
star
44

WangRongsheng

✔️My Github profile. | 我的Github个人主页
Python
3
star
45

Dimensionality-reduction-algorithm

☺️ PCA、LDA、MDS、LLE、TSNE等降维算法的python实现
Jupyter Notebook
3
star
46

yolov5_LPRNet_carcard

Jupyter Notebook
2
star
47

Blog-backup

✅Personal blog posts and page backups.
Jupyter Notebook
2
star
48

Mask-Detection-yolov4-tiny

✅Mask wearing detection based on Yolo V4 tiny.It can be used in graduation project.
Python
2
star
49

Classify-Fu

✅图像分类成长赛——AI集福,“福”字图片识别
Python
2
star
50

Algorithms

😊 All Algorithms.
Python
2
star
51

Machine-Learning-zzh-notes

周志华《机器学习》,一本详细介绍了机器学习领域不同类型的算法的书
2
star
52

Slides-Reports-and-papers

⛏️This is the storage of my Slides、Reports and Papers. | 存储PPT、报告和论文
2
star
53

ChatCitation

ChatGPT辅助论文引用格式生成,支持单个和批量生成
Python
2
star
54

weibo-HotSearch-data

微博实时热搜榜数据抓取并保存
Python
2
star
55

IlovePaddleModel

💟集锦PaddlePaddle为我们提供的方便的模型和解决方案 | The best model, the best US.
2
star
56

Computer-Vision

💟养成系计算机视觉
1
star
57

MisinfoGenDet

Jupyter Notebook
1
star
58

flask-data-collection

✅基于flask实现的前端数据集收集平台
HTML
1
star
59

Our-Love

[源码]毒💘 /甜💖 鸡汤的网站
CSS
1
star
60

random-roll-call

随机点名
HTML
1
star
61

auto-healthy-clock

Henan University of Technology auto healthy clock.
Python
1
star
62

Christmas-lucky-draw

🎅 圣诞抽奖-python
Python
1
star
63

images

参考: https://github.com/jrainlau/picee ,制作的前端上传图片到github,作为图床使用
Python
1
star
64

beautiful

Many beautiful sisters.
HTML
1
star
65

Are-you-still-there

😇 一个python的demo,可以秒速发千万条消息给别人,当代的键盘侠克星
Python
1
star
66

Good-Search_Github

🌝 Github的高级搜索方法
1
star
67

make-EfficientDet-datasets

✅make your EfficientDet datasets.|制作你的EfficientDet可以训练的数据集
Python
1
star
68

CareGPT-Bot

1
star
69

DimensionalityReduction-code

💝 经典降维算法的Demo(python),同时还给出了参考资料的链接。
Jupyter Notebook
1
star
70

HandWriting-Recognition-GUI

HandWriting-Recognition-GUI.
Python
1
star
71

Dataset-website

数据集网站的收集
1
star
72

Pytorch-Tutorial

💟 Learn Pytorch.
Python
1
star
73

Transform-your-data

yolo->voc,voc->yolo,voc->coco,voc-tfrecord
Python
1
star
74

LLM-cookbook

1
star
75

Data-Science-Notes

📔 一份数据科学的笔记以及资料
Jupyter Notebook
1
star
76

Paddle2.0-API

高层API助你快速上手深度学习
HTML
1
star
77

Seven-sorting-methods-python

🐋 实现了常用的排序算法,包括:冒泡排序、直接插入排序、直接选择排序、希尔排序、归并排序、快速排序、堆排序,基于python 3 编程实现。
Python
1
star
78

AI-Practice

⛏️Artificial intelligence project practice. | 人工智能项目实践
Jupyter Notebook
1
star
79

RetrievalCLIP

1
star
80

YOLOv5_Server_deploy

✅YOLOv5 Server deploy
Python
1
star
81

MLPNumberClassifier

基于MLP的简单手写体数字识别
Python
1
star