Skip to content

Web one-click mode full process platform, including train data upload, fine-tuning, model merge, model deploy, gpu monitor etc., no need python or shell development

License

Notifications You must be signed in to change notification settings

simonlisiyu/llm_finetune

Repository files navigation

LLM Finetune 网页格式一键式的全流程平台,包括数据上传、微调训练、模型合并、模型部署服务等,无需python和shell开发

GitHub Code License GitHub last commit

👋 加我的微信

更新日志

[23/11/14] 配置进一步精简,基本0配置启动; 支持chatglm3, qwen, intern, xverse, mistral; 支持大模型评估,支持C-EVAL、MMLU、CMMLU; 训练和合并支持指定checkpoint路径; 系统监控增加gpu进程和docker匹配;

[23/10/28] 代码重构,支持整体代码整合到alita-trainer里; yaml配置文件精简规整,多模型的训练、合并脚本合并统一; 模型部署服务bug修复; 支持大模型评估,支持BLEU-4、ROUGE-1/2/L; 支持微调训练后的大模型作为训练模型再训练; 系统监控除gpu,支持cpu、mem和disk监控;

[23/09/28] 支持baichuan、llama2、llama、glm2等大模型,支持QLoRA; 支持gpu预览、大模型微调训练、模型合并、部署服务(测试中); 支持api方式,微调训练、模型合并、模型发布; 增加数据管理,支持上传excel文件; 增加训练脚本管理,支持自定义脚本编辑和训练,支持pt/sft/rm/ppo/dpo训练阶段,支持train/eval/predict任务; 增加模型快速编辑能力,能够编辑指定问题的回答;

模型

模型名 模型大小 默认模块 Template
Baichuan 7B/13B W_pack baichuan
Baichuan2 7B/13B W_pack baichuan2
BLOOM 560M/1.1B/1.7B/3B/7.1B/176B query_key_value -
BLOOMZ 560M/1.1B/1.7B/3B/7.1B/176B query_key_value -
ChatGLM3 6B query_key_value chatglm3
Falcon 7B/40B/180B query_key_value falcon
InternLM 7B/20B q_proj,v_proj intern
LLaMA 7B/13B/33B/65B q_proj,v_proj -
LLaMA-2 7B/13B/70B q_proj,v_proj llama2
Mistral 7B q_proj,v_proj mistral
Phi-1.5 1.3B Wqkv -
Qwen 7B/14B c_attn qwen
XVERSE 7B/13B/65B q_proj,v_proj xverse

软件依赖

  • Python 3.10 和 PyTorch 1.13.1
  • 🤗Transformers, Datasets, Accelerate, PEFT 和 TRL
  • sentencepiece, protobuf 和 tiktoken
  • jieba, rouge-chinese 和 nltk (用于评估)
  • gradio 和 matplotlib (用于网页端交互)
  • uvicorn, fastapi 和 sse-starlette (用于 API)

目录说明

  • main.py # FastAPI应用程序
  • bin/ # 程序脚本
  • config/ # 配置文件
  • data # 数据文件
  • doc/ # 文档
  • lib/ # 额外依赖
  • llm/ # 大模型权重
  • logs/ # 日志目录
  • scripts/ # 训练脚本
  • templates/ # html模板
  • trainer/ # 应用代码
    • api/ # api
    • model/ # 对象
    • service/ #服务
    • settings.py #配置

项目启动

https://github.com/simonlisiyu/llm_finetune/blob/main/doc/HOW_TO_START.md

项目使用

https://github.com/simonlisiyu/llm_finetune/blob/main/doc/HOW_TO_USE.md

配置文件

  • config/trainer.yaml # 服务配置文件
  • scripts/src/llmtuner/llmtuner_settings # 训练脚本配置文件
  • config/model_info.json # 模型配置文件
  • data/dataset_info.json # 数据集配置文件

配置文件注意:base_dir等修改正确。

环境注意:启动会依赖环境,目录及文件需要提前创建好。

docker

待测试后补充

服务验证

web服务

http://localhost:8000/docs

首页

http://localhost:8000

协议

本仓库的代码依照 Apache-2.0 协议开源。

使用模型权重时,请遵循对应的模型协议:

致谢

本项目受益于 LLaMA-Efficient-Tuning,感谢作者的付出。

About

Web one-click mode full process platform, including train data upload, fine-tuning, model merge, model deploy, gpu monitor etc., no need python or shell development

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published