多机实验
在深度学习模型微调过程中,存储介质的选择对训练效率、系统性能及数据管理具有重要影响。本文以相同微调策略在不同存储类型上进行实验,即分别使用内存临时文件系统(/dev/shm)与大容量存储作为部署环境,对同一模型进行微调。通过对比两者在模型加载耗时、数据集加载耗时及整体微调耗时等方面的表现,分析上述两类存储对微调的影响,旨在为用户在使用大模型服务时提供合理的存储选型参考。
前提条件
- 用户已经获取Alaya New企业账户和密码,可点击 进行快速注册。
- 用户已在VS Code/Cursor代码编辑器内安装Aladdin插件, 安装详情可参考安装Aladdin。
实验步骤
- 用户可参看多机多卡(DeepSpeed)/准备工作章节完成下载模型、LLaMA Factory准备、下载数据集工作。
- 可视化工具选择“Tensorboard”,准备工作可参考多机多卡(DeepSpeed)/准备工作。
- /dev/shm
- 大容量存储
-
在
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 -
用户可通过Tensorboard观察监控图表,涉及图表有:loss,learning_rate等,示例页面如下图所示。
-
切换至VS Code,找到“Running”的Task,右键选择“Monitor”,即可查看worker1/worker2的系统资源监控图表,涉及图表包括:CPU、MEM、GPU Usage Rate以及GPU Memory Clock等,例如下图所示。
-
在
mmmc_DS.sh
文件页面移除下图高亮②所示的命令,将模型和数据集保存到大容量存储。将模型和数据集上传到/dev/shm
目录。后续操作步骤可参看多机多卡(DeepSpeed)/操作步骤,在操作过程中统计模型加载耗时、数据集加载耗时及整体微调耗时。 -
用户通过Tensorboard观察监控图表,涉及图表有:loss,learning_rate等,示例页面如下图所示。
-
切换至VS Code,找到“Running”的Task,右键选择“Monitor”,即可查看worker1/worker2的系统资源监控图表,涉及图表包括:CPU、MEM、GPU Usage Rate以及GPU Memory Clock等,例如下图所示。
基于上述操作获取的模型加载耗时、数据集加载耗时及整体微调耗时,详细的数据如下表所示。
配置项 | dev/shm(100G) | 大容量存储 |
---|---|---|
epoch | 10 | 10 |
数据集 | 2000+多模态图片数据(1928×1208) | 2000+多模态图片数据(1928×1208) |
微调方式 | LoRA | LoRA |
batchsize | 2 | 2 |
数据集加载平均耗时/batch(大小为6M左右) | 6.5s | 1min33s |
模型加载耗时(模型大小16G) | 21s/batch | 22s/batch |
微调耗时 | 0:43:33 | 1:03:52 |
弹性容器集群中,单张卡提供的内存大小为200GB,通过Aladdin使用时,dev/shm
默认最大为内存的一半大小,即100GB。/dev/shm
是tmpfs
文件系统的一个实例,具有非常快的读写速度。
结论
实验对比显示,在数据量小于100GB的场景下,将模型或数据缓存至/dev/shm
可显著提升系统性能。其中,模型加载效率提升达13.5倍,整体训练效率提升32%,数据处理过程也展现出良好的稳定性与性能优势。
由此可见,在数据量小于100GB的大模型微调任务中,将数据集和模型存储于/dev/shm
中能够显著提升训练效率。因此,推荐采用该方式以实现更优的性能表现。