跳到主要内容

多机实验

在深度学习模型微调过程中,存储介质的选择对训练效率、系统性能及数据管理具有重要影响。本文以相同微调策略在不同存储类型上进行实验,即分别使用内存临时文件系统(/dev/shm)与大容量存储作为部署环境,对同一模型进行微调。通过对比两者在模型加载耗时、数据集加载耗时及整体微调耗时等方面的表现,分析上述两类存储对微调的影响,旨在为用户在使用大模型服务时提供合理的存储选型参考。

前提条件

  • 用户已经获取Alaya New企业账户和密码,可点击  进行快速注册。
  • 用户已在VS Code/Cursor代码编辑器内安装Aladdin插件, 安装详情可参考安装Aladdin

实验步骤

  1. 用户可参看多机多卡(DeepSpeed)/准备工作章节完成下载模型、LLaMA Factory准备、下载数据集工作。
  2. 可视化工具选择“Tensorboard”,准备工作可参考多机多卡(DeepSpeed)/准备工作
  1. mmmc_DS.sh文件页面保留下图高亮②所示的命令,将模型和数据集上传到/dev/shm目录。后续操作步骤可参看多机多卡(DeepSpeed)/操作步骤,在操作过程中统计模型加载耗时、数据集加载耗时及整体微调耗时。

    rclone copy /workspace/model/Qwen2.5-VL-7B-Instruct  /dev/shm/llamafactory/model/Qwen2.5-VL-7B-Instruct  --transfers 8 -P 
    rclone copy /workspace/LLaMA-Factory/data/images /dev/shm/llamafactory/dataset/qa_images/images --transfers 8 -P
  2. 用户可通过Tensorboard观察监控图表,涉及图表有:loss,learning_rate等,示例页面如下图所示。

    alt text

  3. 切换至VS Code,找到“Running”的Task,右键选择“Monitor”,即可查看worker1/worker2的系统资源监控图表,涉及图表包括:CPU、MEM、GPU Usage Rate以及GPU Memory Clock等,例如下图所示。

    alt text

    alt text

基于上述操作获取的模型加载耗时、数据集加载耗时及整体微调耗时,详细的数据如下表所示。

配置项dev/shm(100G)大容量存储
epoch1010
数据集2000+多模态图片数据(1928×1208)2000+多模态图片数据(1928×1208)
微调方式LoRALoRA
batchsize22
数据集加载平均耗时/batch(大小为6M左右)6.5s1min33s
模型加载耗时(模型大小16G)21s/batch22s/batch
微调耗时0:43:331:03:52
重要

弹性容器集群中,单张卡提供的内存大小为200GB,通过Aladdin使用时,dev/shm默认最大为内存的一半大小,即100GB。/dev/shmtmpfs文件系统的一个实例,具有非常快的读写速度。

结论

实验对比显示,在数据量小于100GB的场景下,将模型或数据缓存至/dev/shm可显著提升系统性能。其中,模型加载效率提升达13.5倍,整体训练效率提升32%,数据处理过程也展现出良好的稳定性与性能优势。

由此可见,在数据量小于100GB的大模型微调任务中,将数据集和模型存储于/dev/shm中能够显著提升训练效率。因此,推荐采用该方式以实现更优的性能表现。