美文网首页
llm_finetune网页一键式大模型训练到服务的全流程平台

llm_finetune网页一键式大模型训练到服务的全流程平台

作者: 水他 | 来源:发表于2023-11-13 21:29 被阅读0次

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

    平台用来给不了解研发、算法的人员使用的,所以平台的使用尽量简单,不需要用户了解太多的细节,只需要按照流程操作即可。
    用最简的页面,包括首页资源查看、训练数据上传下载、大模型微调训练、大模型权重合并输出、大模型能力评估、大模型部署服务启动等功能。
    最后的训练脚本页面,开发人员能够自由修改脚本,提供了更高级的使用方法。

    llm_finetune github

    本项目受益于 LLaMA-Efficient-Tuning

    支持功能

    [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)

    llm_finetune服务,全新部署或历史版本升级

    一、环境准备:

    1. 代码

      git clone https://github.com/simonlisiyu/llm_finetune.git

      cd llm_finetune

      pip install -r requirements.txt

    2. 目录准备

      cd llm_finetune

      创建配置目录mkdir config,生成配置文件 touch config/trainer.yaml,关联配置文件 ln -s /opt/llm_finetune/config/trainer.yaml scripts/src/llmtuner/

      关联数据目录: ln -s /data data

      关联大模型目录:ln -s /llm llm

    3. 修改配置

      vi config/trainer.yaml

      注意:

      1. $IP 替换为本机ip;(如192.168.1.100)
      2. $BASE_DIR 替换为本机llm_finetune路径;
      application: 
        ip: '$IP' 
        port: $PORT 
        log_level: 'info'
      trainer:
        base_dir: '$BASE_DIR'
      
      

      参考下面的例子:

      application:
        ip: '192.168.1.100'
        port: 8000
        log_level: 'info'
      trainer:
        base_dir: '/opt/llm_finetune/'
      
      

      vi config/model_info.yaml

      注意:(初始化的大模型需要手动编辑model_info.yaml,后续训练的大模型会自动更新到此文件内,无需再手动编辑)

      1. $MODEL_NAME 替换为模型名称;(如chatglm2-6b)
      2. $MODEL_DIR 替换为基于BASE_DIR的模型相对路径;(如llm/ChatGLM2-6B)
      3. $TEMPLATE$SIZE$DATETIME 替换为对应的内容;
      {
        "$MODEL_NAME": {
          "model_path": "$MODEL_DIR",
          "template": "$TEMPLATE",
          "size": "$SIZE",
          "update_at": "$DATETIME"
        }
      }
      

      参考下面的例子:

      {
        "chatglm2-6b": {
          "model_path": "llm/ChatGLM2-6B",
          "template": "chatglm2",
          "size": "6",
          "update_at": "2023-07-06_15:56:28"
        }
      }
      
    4. 启动服务

      python main.py

    5. 查看页面
      http://127.0.0.1:8000

    使用介绍

    首页

    • GPU资源查看
    • GPU卡进程使用情况
    • CPU资源使用率
    • MEM资源使用率
    • DISK资源使用率


      index

    数据管理

    • 支持数据上传、下载、查看、删除
    • 支持json、excel格式的sft数据集


      data

    微调训练

    • 极简页面一键训练,支持模型选择、数据选择、训练参数(也可不填用默认值)
    • 训练过程中支持查看日志
    • 列表展示历史训练记录


      finetune

    模型合并

    • 极简页面一键合并,支持基座模型选择、输出目录指定
    • 合并过程中支持查看日志
    • 列表展示历史合并记录


      merge

    模型评估

    • 极简页面一键评估,支持模型选择、数据选择、评估参数(也可不填用默认值)
    • 支持BLEU&ROUGE、支持C-EVAL、MMLU、CMMLU等评估方式
    • 评估过程中支持查看日志
    • 列表展示历史评估记录


      eval

    模型测试(修改测试中)

    • 快速部署大模型服务(fastchat+docker),支持模型命名、模型选择、GPU卡、端口指定
    • 部署过程中支持查看docker日志
    • 列表展示docker部署情况,支持启动停止操作


      chat

    训练脚本

    • 高级开发用法,支持训练脚本在线编辑、运行
    • 支持预训练pt、微调训练sft、奖励模型训练rm、强化学习ppo/dpo、模型合并merge等脚本


      script

    相关文章

      网友评论

          本文标题:llm_finetune网页一键式大模型训练到服务的全流程平台

          本文链接:https://www.haomeiwen.com/subject/ukldwdtx.html