业务场景分类
文本处理:LLM(自然语言处理)
视频图片:计算机视觉
混合模型:文本、图片、视频、音频。
任务类型
训练任务:通常是数据量较大,导致计算量也比较大。并行度也高。对资源消耗比较大。对时效性没有太大要求。
推理任务:是使用已有大模型对现有情况处理,数据量通常不大,所以资源消耗没那么大。通常要求处理速度快。
硬件选择
服务器:要评估业务的资源使用情况来具体配置
国产化GPU:昇腾
国产化CPU:华为、海光
操作系统:Linux、欧拉、麒麟
还要考虑以上4者之间的兼容性。
计算资源
全部使用GPU: 耗费高,适用于中大型企业,
GPU+CPU的组合:适用于 中小企业部署,如果用CPU 替换GPU, 所用CPU 数量将是原理GPU 数量的两倍。
华为云 - 工作台 - AI NOTEBOOK 支持使用NPU 进行训练
阿里云 - MODEScope - My Notebook 支持使用GPU
模型选择/模型类型
L0:通用场景的模型,但是通常精度不高
L1:进行微调以后的模型,可以适用某一个特定的领域
微调方式:代码、命令行、图形化界面
L2:只专注某个功能的模型,如:代码生成
借助LLAMAFactory 进行微调
LLAMAFactory1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"
# 如遇版本冲突可尝试用下面的命令
pip install --no-deps -e .
#
llamafactory-cli version
# 方式一: 启动webui,通过页面配置进行微调
llamafactory-cli webui
# 方式二: 命令行进行微调 llamafactory-cli train 配置文件路径,文件和界面作用一样,只不过用key=value进行配置
llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml
# 安装nvitop 查看内存使用情况
pip install nvitop
nvitop -m auto
用界面调试
用命令行调试
nvitop 查看内存
指定数据集
配置文件:data/dataset_info.json
数据集都放在data文件夹下面,通过配置dataset_info.json文件,可以更新界面上数据集选项
也可以根据界面上数据集选项生成规则对命令行调用的文件进行配置
训练后大模型产物一般会存放在save文件夹中,或者根据配置的输出路径进行存放
参考
微调训练:包括以下几部分配置:
微调训练的阶段:预训练、指令微调、强化学习等等;
微调使用的数据集:数据集的格式、路径、验证集的比例等等;
关键微调参数:在我们之前教程中重点学习的:学习率、训练轮数、批量 大小等等;
LoRA 参数:当使用 Lora 微调时需要配置的一些特殊参数;
RLHF 参数:当训练阶段为强化学习时需要配置的一些特殊参数;
特殊优化参数:当选择使用 GaLore、APOLLO 和 BAdam 优化器时需要配置的一些参数;
SwanLab 参数:一款开源的模型训练跟踪与可视化工具;