在人工智能的演进历程中,数据和模型的整合是推动技术发展的核心动力。随着AI技术的不断进步,整合各类关键资源,构建一个高效、协同的开发环境,已成为加速创新应用发展的关键。
基于这一理念,OpenDataLab浦数与ModelScope魔搭社区开展深度合作,实现平台底层接口打通,支持在ModelScope平台搜索、查看、下载OpenDataLab平台7000+开源数据集,共同开启一场模型与数据的深度融合,旨在为全球开发者打造更加高效、开放的AI体验。
两大AI社区强强联合
一站式开发体验
ModelScope社区作为领先的模型开源平台,汇聚了丰富的行业模型和大规模预训练。而OpenDatalab以其高质量、多样化的数据集闻名,此次合作将实现模型与数据的无缝对接,为开发者提供从数据获取、模型训练到部署应用的一站式解决方案,极大提升开发效率。
增强的创新能力
结合ModelScope社区的领先的模型和OpenDatalab的广泛数据集,开发者可以轻松尝试更多的预训练,微调等模型算法,快速验证模型的效果,以及推动模型落地千行百业,降低创新门槛,加速从想法到产品的转化过程。
如何在魔搭社区使用OpenDataLab数据集
下载和加载OpenDataLab数据集
OpenDataLab和ModelScope社区在底层数据存储和交换链路、数据集meta信息表征、数据展现、ToolKit等几个技术层面,实现了互联互通;用户可以在ModelScope社区使用git和sdk的方式,来下载从OpenDataLab迁移过来的数据;同时,对于部分大型数据集,OpenDataLab提供了数据meta信息、数据下载接口,在ModelScope平台上透出。
总的来说,用户可以通过以下三种方式来下载和使用OpenDataLab的数据集:
● 使用git来下载和管理数据集
我们以LAMM数据集为例,其数据卡片参考:https://modelscope.cn/datasets/Shanghai_AI_Laboratory/LAMM/summary,
使用git命令,来实现数据文件的下载和版本管理:
GIT_LFS_SKIP_SMUDGE=1 git clone https://www.modelscope.cn/datasets/Shanghai_AI_Laboratory/LAMM.git
git lfs pull
对于符合ModelScope数据集组织结构规范的OpenDataLab数据集,我们也可以使用ModelScope SDK的MsDataset模块来加载数据集,具体使用方式:
# Install modelscope
pip install modelscope
# Load & manage dataset
from modelscope.msdatasets import MsDataset
ds = MsDataset.load('Shanghai_AI_Laboratory/LAMM')
(左右滑动,查看全部)
此时,数据集被下载到本地缓存,数据被组织为不同的subset、split(如train、test、validation),支持对ds对象(通常为DatasetDict或Dataset格式)的遍历、filter、map等操作。
# Install openxlab
pip install openxlab
# Download dataset
openxlab dataset download --dataset-repo <dataset-repo>
(左右滑动,查看全部)
使用OpenDataLab数据集微调模型
当OpenDataLab数据集可以使用ModelScope sdk加载时,即可以使用ModelScope SWIFT高效微调工具来训练你的模型。以LAMM数据集为例:
● 训练环境准备
pip install modelscope -U
pip install ms-swift -U
这里我们使用LAMM多模态数据集来微调GLM4-V模型,即glm4v-9b-chat;微调框架为ModelScope SWIFT。以下是具体步骤:
获取代码 git clone git@github.com:modelscope/swift.git 数据准备 由于LAMM并未集成到SWIFT数据集中,这里我们走自定义形式。将LAMM数据配置加入到SWIFT dataset_info.json中: 编辑swift/llm/data/dataset_info.json "opendatalab-LAMM": {
"dataset_id": "Shanghai_AI_Laboratory/LAMM",
"hf_dataset_id": "",
"subsets": ["LAMM_instruct_98k"],
"split": ["train"],
"conversations": {
"user_role": "human",
"assistant_role": "gpt",
"conversations_key": "conversations",
"from_key": "from",
"value_key": "value",
"error_strategy": "delete",
"media_type": "image",
"media_key": "image"
},
"tags": ["multi-modal"]
}
(左右滑动,查看全部) ● 这里subset使用了LAMM_instruct_98k ● conversations_key取LAMM数据集的subset LAMM_instruct_98k中的conversations字段 配置完成后,执行 pip install -e . 执行训练 # Experimental environment: A100
# 40GB GPU memory
# limit 10000
CUDA_VISIBLE_DEVICES=0 swift sft --model_type glm4v-9b-chat --dataset opendatalab-LAMM#10000
(左右滑动,查看全部) train loss
eval acc
补充说明
OpenDataLab多模态数据集LAMM介绍
LAMM数据集是上海人工智能实验室开源的一个多模态数据集,包括一个包含 186,098 个图像语言指令-响应对的图像指令调整数据集和一个包含 10,262 个点云语言指令-响应对的点云指令调整数据集。 该数据集从公开可用的数据集中收集图像和点云,并使用 GPT API 和自我指导方法根据这些数据集中的原始标签生成指令和响应。 该数据有以下特性:
● 添加了更多视觉信息,例如视觉关系和细粒度类别作为 GPT API 的输入
● 观察到现有的 MLLM 可能难以理解视觉任务指令。 为了解决这个问题,设计了一种将视觉任务注释转换为指令-响应对的方法,从而增强了 MLLM 对视觉任务指令的理解和泛化
● LAMM-Dataset 还包括用于常识性知识问答的数据对,方法是结合来自 Bamboo 数据集的分层知识图标签系统和相应的维基百科描述。
2024-06-06
2024-06-04
2024-06-04