学习第一步:报名赛事!(点击即可跳转)
赛事链接:https://tianchi.aliyun.com/competition/entrance/532251
天池Better Synth多模态大模型数据合成挑战赛 是 Datawhale 2024 年 AI 夏令营第四期的学习活动——
-
适合想 入门并实践 多模态大模型、数据处理、模型训练 的学习者参与
温馨提示:本赛事需要耗费大量的算力,跑通此baseline至少需要120G内存以上的A10,整个流程可能需要5小时,大家请自备算力,预留好时间,下面我们会以阿里云为例。
学习内容提要:使用已有大模型和技术,在限定的计算资源下合成高质量训练数据,以增强多模态大模型的图像理解能力。
300 分钟 baseline指南!
我们整个学习活动,将带你 ——
-
跑通最简单的Baseline(相信我,当前baseline已经写到最简单了,但需要的算力和学习实在不是常人&免费方案能hold住的)
-
了解竞赛核心考察点和难点
-
精读Baseline与了解进阶思路
当前环节目标: 300分钟 跑通 “天池Better Synth多模态大模型数据合成挑战赛” !
PS:从零入门多模态大模型数据合成-autodl版本正在整理中
千里之行,始于足下,从这里,开启你的 AI 学习之旅吧!
Step0:开通阿里云PAI-DSW试用
开通免费试用
-
在魔搭社区进行授权
链接:https://www.modelscope.cn/my/mynotebook/authorization
创建实例,粘贴镜像链接,启动!
阿里云镜像链接:dsw-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai-training-algorithm/data-juicer-better-synth:0.0.1
autodl镜像链接(社区镜像):datawhalechina/self-llm/Better-Synth
注意:镜像中已经安装好了相关运行环境,如果不使用该镜像的话,需要自行通过
install.sh
安装环境
如果在上一步授权失败,可到阿里云控制台创建 & 打开实例,具体步骤详见下方子步骤
温馨提示:由于baseline运行需求,我们需要
-
额外扩充磁盘空间,至少需要增加50G,需0.1元每小时,
-
在后面的模型训练和评测阶段,需要跑大概3小时,至少需要100G+以上的内存,需要至少购置阿里云188G内存的GPU规格,大概需要15元每小时
-
还可自行寻找其他同等算力,需要自行通过
install.sh
安装环境
请提前充值(点击即可进入充wufaan值入口),避免由于欠费被迫停止实例。
提前给你打个预防针:这个baseline可能让你十分痛苦地需要反复配置环境
Step1:在魔搭社区创建PAI实例!(点击即可跳转)
链接:https://www.modelscope.cn/my/mynotebook/authorization
-
如果 在魔搭无法授权 或 点击【打开】无法打开,可到阿里云控制台创建 & 打开实例
-
如果之前试用的额度已经过期,可使用魔搭的免费Notebook实例
Step2:300分钟 跑通baseline!
-
1 下载赛事所需文件包
包括:baseline、必要的开发者套件、基础模型 和相关数据集等
复制如下命令,在终端中执行:
git clone https://www.modelscope.cn/datasets/Datawhale/better_synth_challenge_baseline.git
-
2 下载多模态base模型及数据集 & 相关依赖软件(大概需要60分钟)
a. 安装必要工具
apt update
apt install axel zip file
pip install modelscope
b. 下载模型和相关数据集
cd better_synth_challenge_baseline
bash download.sh ###大概需要50分钟
如果使用的不是上面指定的镜像,还需要运行 如下命令命令安装相关环境
bash install.sh
-
3 下载BLIP图片描述模型(约20分钟左右)
这个步骤运行前,请确认:
如果是其他环境,需要将文件中的 '/mnt/workspace/'
修改为 '/root/autodl-tmp/'或
其他better_synth_challenge_baseline文件夹所在的对应的路径
执行完成以上步骤后 ,复制如下命令,在终端中执行
python download_blip.py
# 如果是在autoDL上,需要修改download_blip.py文件,将下载路径对应修改为
# cache_dir='/root/autodl-tmp/better_synth_challenge_baseline/models'
-
4 数据处理与合成(大概需要1小时)
这个步骤运行前,请确认:
-
如果是阿里云环境,需要使用镜像:
dsw-registry-vpc.cn-
hangzhou
.cr.aliyuncs.com/pai-training-algorithm/data-juicer-better-synth:0.0.1
,且需要将实例配置,修改为188G内存的GPU规格*记得把 hangzhou 切换为自己当前的区域名称
-
如果是其他环境,需要提前通过
bash install.sh
安装环境,且需要将
solution/image_captioning.yaml
文件中的'/mnt/workspace/'
修改为
'/root/autodl-tmp/'
或其他
better_synth_challenge_baseline
文件夹所在的对应的路径
需先修改实例配置,修改为188G内存的GPU规格
-
先关闭实例
-
按照下图选中对应规格,
-
然后确定、启动即可
复制如下命令,在终端中执行
dj-process --config solution/image_captioning.yaml
-
5 执行模型训练 & 推理测评(大概需要3~4小时)
这个步骤运行前,请确认:
-
如果是阿里云环境,需要使用镜像:dsw-registry-vpc.cn-hangzhou.cr.aliyuncs.com/pai-training-algorithm/data-juicer-better-synth:0.0.1
-
如果是其他环境,需要将
toolkit/train_mgm_2b_stage_1.sh
文件中的'/mnt/workspace/'
修改为
'/root/autodl-tmp/'
或其他
better_synth_challenge_baseline
文件夹所在的对应的路径 -
如果执行过
bash install.sh
,则无需执行下方的git clone
https://github.com/modelscope/data-juicer.git
命令
重启实例后,复制如下命令,在终端中执行
cd better_synth_challenge_baseline/toolkit
git clone https://github.com/modelscope/data-juicer.git
bash train_mgm_2b_stage_1.sh ### 大概需要3小时
-
6 打包构建符合提交要求的zip文件
复制如下命令,在终端执行即可,然后下载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-default/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-default/pretrain.log output/training_dirs/MGM-2B-Pretrain-image_recaption/
apt install zip
zip -r submit.zip solution output
Step3:在官网提交结果(submit.zip文件)
评分大概需要 10 分钟~ 上传结果后可以在 ranklist 处看到评分结果哟!(预期分数在0.5分左右😉~)
天池Better Synth多模态大模型数据合成挑战赛_算法大赛_天池大赛-阿里云天池的排行榜
关闭PAI实例!!!!(点击即可跳转)
链接:https://www.modelscope.cn/my/mynotebook/authorization
运行完成后,别忘了回到魔搭,【关闭】实例,否则会一直消耗你的试用额度!
每小时消耗大概7个试用额度!(总共5000个,有效期三个月)