0.前言
参加了一个多模态大模型数据合成的比赛,赛事链接https://tianchi.aliyun.com/competition/entrance/532251。比赛官方是有提供平台的,但是训练还是需要额外的付费,囊肿羞涩就自己搞一下吧。强烈建议步骤1和步骤2的时候没必要用太高的配置,从步骤3开始调高配置,该省省该花花嘛!
1.项目拉取和环境安装
(前提是你有自己的硬件平台,一个基本的硬件需求是显卡A10及以上,,150G+存储空间。)
首先拉取比赛需要的文件
git clone https://www.modelscope.cn/datasets/Datawhale/better_synth_challenge_baseline.git
安装必要工具
apt update
apt install axel zip file
pip install modelscope
环境创建及配置
conda create -n {your_env_name} python=3.10
conda {your_env_name}
bash install.sh
2.数据下载与检查
1)进入目录,运行下载脚本(注意这里要手动修改下载脚本,看下面的注意)
cd better_synth_challenge_baseline
bash download.sh ###大概需要50分钟
注意: 不要使用代理,有些情况可能导致文件破损,解压有问题,所以自己去修改下载脚本,在每一条下载命令后加"-N"参数,如下所示:
axel -n 1 http://dail-wlcb.oss-cn-wulanchabu.aliyuncs.com/dj-competition/better_synth/data/stage_1/stage_1.json -N
还有个问题要注意的是,要注意axel的版本,有些平台的默认源提供的版本很旧,所以,建议手动下载源码,安装最新版本axel,步骤如下:
- 在这个网址https://github.com/axel-download-accelerator/axel/releases下载源码
- 然后解压,配置,make,安装
tar zxvf axel-2.17.14.tar.gz
cd axel-2.17.14
./configure #这步会检查依赖,注意看提示,缺什么包安装什么包
make
make install
2)下载BLIP图片描述模型
注意这里也要手动修改下载py文件,将里面的路径换为自己的路径
python download_blip.py
# 如果是在autoDL上,需要修改download_blip.py文件,将下载路径对应修改为
# cache_dir='/root/autodl-tmp/better_synth_challenge_baseline/models'
如果不知道填什么合适,运行下面的命令获取某个文件或文件夹的绝对路径
readlink -f 文件名
3.数据合成和模型训练环节
1)运行如下命令,进行数据处理和合成
dj-process --config solution/image_captioning.yaml
运行结果如图,没有报错,且有进度条,整个步骤大概要1个小时多点
2)接下来运行如下命令,进行模型训练环节
cd better_synth_challenge_baseline/toolkit
bash train_mgm_2b_stage_1.sh ### 大概需要3小时
这步骤你调整好参数的话不会有问题的,爆显存的话就调小batchsize,其他路径问题自己注意一下
4.数据打包和提交
运行如下的命令,同样注意调整文件路径,这些命令只是一个简单的文件复制整理打包的作用,最后得到submit.zip
better_synth_root_dir=/mnt/workspace/
cd submit
cp -r ${better_synth_root_dir}/better_synth_challenge_baseline/solution .
cp -r ${better_synth_root_dir}/better_synth_challenge_baseline/output/eval_results output/
cp -r ${better_synth_root_dir}/better_synth_challenge_baseline/output/train.sh output/
cp ${better_synth_root_dir}/better_synth_challenge_baseline/output/training_dirs/MGM-2B-Finetune-*/finetuning.log output/training_dirs/MGM-2B-Finetune-image_recaption/
cp ${better_synth_root_dir}/better_synth_challenge_baseline/output/training_dirs/MGM-2B-Pretrain-*/pretrain.log output/training_dirs/MGM-2B-Pretrain-image_recaption/
apt install zip
zip -r submit.zip solution output
得到zip文件就可以在比赛官网提交文件了https://tianchi.aliyun.com/competition/entrance/532251/rankingList
5.总结
打完收工~,以上就是在非官方平台跑通baseline的全过程,唯一的卡点就是在数据下载部分,但是只要注意上面提到的两点应该就没有大问题,有其他问题可以在评论区提问,后续会补充回答!