新闻详情

新闻详情

首页 / 资讯中心 / 详情

MiniGPT-4 第二阶段对齐数据集(cc_sbu_align)准备与配置指南

发布时间:2026/9/30 1:49:52来源:尧图网络
MiniGPT-4 第二阶段对齐数据集(cc_sbu_align)准备与配置指南
人工智能大模型多模态计算机视觉NLP微调AI 应用【免费下载链接】MiniGPT-4Open-sourced codes for MiniGPT-4 and MiniGPT-v2 (https://minigpt-4.github.io, https://minigpt-v2.github.io/)项目地址https://gitcode.com/gh_mirrors/mi/MiniGPT-4点击查看免费下载导读本篇指南围绕 dataset/README_2_STAGE.md 讲解 MiniGPT-4 第二阶段对齐微调训练数据的下载、解压与路径配置全流程下载官方提供的cc_sbu_align对齐数据集、将其放置到本地任意目录并在 align.yaml 中正确指向该目录。同时本文将结合仓库源码数据集构建器与 Dataset 实现说明该数据集在训练时究竟如何被加载并串联第一阶段预训练数据的准备步骤帮助你打通从原始语料到可训练数据管线的完整链路。读完本文你将能独立完成 MiniGPT-4 两阶段训练所需全部数据的准备与配置。一、两阶段训练与第二阶段数据的角色MiniGPT-4 的训练分为两个阶段第一阶段预训练在大规模图文对数据CC3M、CC12M、SBU、LAION115M上对齐视觉编码器与 LLM 的投影层让模型学会看图说话。对应配置见 train_configs/minigpt4_stage1_pretrain.yaml。第二阶段对齐微调在人工筛选的高质量图文对齐数据上进行微调让模型输出更像自然对话。本文的主角cc_sbu_align正是这一阶段使用的数据集。cc_sbu_align由官方提供下载链接见 dataset/README_2_STAGE.md 正文第一段它包含过滤后的图像与对应描述是保证第二阶段训练效果的基础。二、第二阶段数据集结构从官方链接下载压缩包并解压后你会得到一个具有如下结构的文件夹cc_sbu_align ├── filter_cap.json └── image ├── 2.jpg ├── 3.jpg ...各部分作用如下路径作用cc_sbu_align/filter_cap.json过滤后的图文标注文件每条记录包含image_id与caption字段用于训练时提供文本监督cc_sbu_align/image/图像文件目录文件名形如2.jpg、3.jpg与filter_cap.json中的image_id一一对应将整个cc_sbu_align文件夹放置到任意你希望存放的路径即可无需固定在仓库内。三、配置数据集路径align.yaml第二步是让训练框架知道数据放在哪里。在数据集配置文件 minigpt4/configs/datasets/cc_sbu/align.yaml 的第 5 行build_info.storage字段填入你的实际路径datasets: cc_sbu_align: data_type: images build_info: storage: /path/to/cc_sbu_align/例如若你将数据解压到了/data/datasets/cc_sbu_align则第 5 行应写为storage: /data/datasets/cc_sbu_align/注意这里storage指向的是cc_sbu_align文件夹本身而非其内部的image子目录因为源码会在此基础上自动拼接filter_cap.json与image两个子路径详见下文。四、源码视角cc_sbu_align 是如何被加载的理解配置项的含义最直接的方式是查看数据是如何被读取的。4.1 构建器从 storage 派生标注与图像路径在 minigpt4/datasets/builders/image_text_pair_builder.py 中CCSBUAlignBuilder读取build_info.storage并拼接出两个关键路径storage_path build_info.storage datasets[train] dataset_cls( vis_processorself.vis_processors[train], text_processorself.text_processors[train], ann_paths[os.path.join(storage_path, filter_cap.json)], vis_rootos.path.join(storage_path, image), )可以看到标注文件{storage}/filter_cap.json图像根目录{storage}/image。这与上面提到的cc_sbu_align目录结构完全对应也解释了为什么align.yaml的storage要填到cc_sbu_align/这一层而不是image/层。同时构建器会检查storage_path是否存在若不存在会打印warnings.warn(storage path {} does not exist.)方便你排查路径写错的问题。4.2 Dataset 实现按 image_id 拼接图像路径在 minigpt4/datasets/datasets/cc_sbu_dataset.py 中CCSBUAlignDataset继承自CaptionDataset其__getitem__逻辑为ann self.annotation[index] img_file {}.jpg.format(ann[image_id]) image_path os.path.join(self.vis_root, img_file) image Image.open(image_path).convert(RGB) image self.vis_processor(image) caption ann[caption] return {image: image, answer: caption, image_id: self.img_ids[ann[image_id]]}即每条样本依据filter_cap.json中的image_id在image/目录下找到对应{image_id}.jpg文件读取后经视觉处理器vis_processor变换与caption组成训练样本。因此filter_cap.json与image/必须保持同步二者缺一不可。4.3 与第一阶段的加载方式差异值得对比的是第一阶段数据laion、cc_sbu走的是WebDataset管线minigpt4/datasets/datasets/laion_dataset.py 与 cc_sbu_dataset.py通过wds.ResampledShards加载 tar 分片、wds.shuffle(1000)打乱、wds.to_tuple(jpg, json)取出图像与标注而第二阶段cc_sbu_align使用常规的CaptionDataset逐条索引读取。这一差异也反映在配置上第一阶段配置指向{00000..01255}.tar这样的分片通配符第二阶段配置则指向普通目录。五、完整流程从第一阶段数据到第二阶段数据的端到端准备虽然本文聚焦第二阶段但 MiniGPT-4 的两阶段训练是一体化的第一阶段数据的准备步骤同样记录在同目录文档 dataset/README_1_STAGE.md 中。为保证整体流程完整可复现这里一并整理。5.1 下载第一阶段过滤标注第一阶段使用 BLIP 过滤后的合成标题synthetic captions。所需 JSON 标注文件ccs_synthetic_filtered_large.json与laion_synthetic_filtered_large.json的下载地址见 dataset/README_1_STAGE.md 中的表格。请注意完整存放 CC3MCC12MSBU 与 LAION115M 数据集约需2.3 TB存储空间请提前规划磁盘。5.2 分步准备命令以下命令序列来自 dataset/README_1_STAGE.md展示了从整理目录到最终生成数据集的完整操作# 1) 设置数据集根目录并移动标注文件 export MINIGPT4_DATASET/YOUR/PATH/FOR/LARGE/DATASET/ mkdir ${MINIGPT4_DATASET}/cc_sbu mkdir ${MINIGPT4_DATASET}/laion mv ccs_synthetic_filtered_large.json ${MINIGPT4_DATASET}/cc_sbu mv laion_synthetic_filtered_large.json ${MINIGPT4_DATASET}/laion # 2) 将仓库中的转换脚本与下载脚本复制到数据目录 cp convert_cc_sbu.py ${MINIGPT4_DATASET}/cc_sbu cp download_cc_sbu.sh ${MINIGPT4_DATASET}/cc_sbu cp convert_laion.py ${MINIGPT4_DATASET}/laion cp download_laion.sh ${MINIGPT4_DATASET}/laion # 3) 将标注转换为 img2dataset 可识别的 TSV 格式 cd ${MINIGPT4_DATASET}/cc_sbu python convert_cc_sbu.py cd ${MINIGPT4_DATASET}/laion python convert_laion.py # 4) 使用 img2dataset 下载图像并打包为 tar/parquet 分片 cd ${MINIGPT4_DATASET}/cc_sbu sh download_cc_sbu.sh cd ${MINIGPT4_DATASET}/laion sh download_laion.sh其中转换脚本就位于仓库 dataset/convert_cc_sbu.py 与 dataset/convert_laion.py它们将 BLIP 的 JSON 标注读取后用csv.writer(delimiter\t)写出带表头的 TSV 文件ccs_synthetic_filtered_large.tsv/laion_synthetic_filtered_large.tsv供 img2dataset 消费。5.3 第一阶段最终目录结构完成上述步骤后你的数据目录应呈现如下结构. ├── ${MINIGPT4_DATASET} │ ├── cc_sbu │ ├── convert_cc_sbu.py │ ├── download_cc_sbu.sh │ ├── ccs_synthetic_filtered_large.json │ ├── ccs_synthetic_filtered_large.tsv │ └── cc_sbu_dataset │ ├── 00000.tar │ ├── 00000.parquet │ ... │ ├── laion │ ├── convert_laion.py │ ├── download_laion.sh │ ├── laion_synthetic_filtered_large.json │ ├── laion_synthetic_filtered_large.tsv │ └── laion_dataset │ ├── 00000.tar │ ├── 00000.parquet │ ... ...5.4 配置第一阶段数据集路径随后在 minigpt4/configs/datasets/laion/defaults.yaml 的第 5 行填入 LAION 分片通配路径storage: ${MINIGPT4_DATASET}/laion/laion_dataset/{00000..10488}.tar并在 minigpt4/configs/datasets/cc_sbu/defaults.yaml 的第 5 行填入 CC/SBU 分片通配路径storage: ${MINIGPT4_DATASET}/cc_sbu/cc_sbu_dataset/{00000..01255}.tar这里的花括号{00000..10488}是 WebDataset 的分片序号通配语法对应wds.ResampledShards(location)需要接收的分片列表模式路径中的${MINIGPT4_DATASET}需替换为你实际设置的绝对路径。六、训练配置中数据集的使用方式数据就绪后第一阶段训练配置 train_configs/minigpt4_stage1_pretrain.yaml 中会同时挂载laion与cc_sbu两个数据集datasets: laion: batch_size: 64 vis_processor: train: name: blip2_image_train image_size: 224 text_processor: train: name: blip_caption sample_ratio: 115 cc_sbu: batch_size: 64 vis_processor: train: name: blip2_image_train image_size: 224 text_processor: train: name: blip_caption sample_ratio: 14要点解读sample_ratiolaion为 115、cc_sbu为 14表示两个数据集在训练时的采样配比用于平衡 LAION115M 与 CC3MCC12MSBU 的数量级差异vis_processor使用blip2_image_train输入图像统一缩放到 224×224与 blip_processors.py 中定义的 BLIP2 图像处理器对应text_processor使用blip_caption处理文本监督信号。第二阶段对齐微调则通过 minigpt4_stage2_finetune.yaml 引用cc_sbu_align数据集其路径来源正是本文第三节配置的 align.yaml。七、配置检查清单完成两阶段数据准备后请逐项核对目录结构cc_sbu_align/下同时存在filter_cap.json与image/且filter_cap.json中每条记录的image_id都能在image/下找到同名{image_id}.jpg路径层级align.yaml的storage指向cc_sbu_align/根目录不是image/因为 CCSBUAlignBuilder 会自动拼接filter_cap.json与image分片通配符第一阶段 defaults.yaml 的 storage 必须写成{00000..01255}.tar形式的通配路径与下载得到的实际分片数量匹配否则wds.ResampledShards无法定位数据磁盘空间第一阶段全套数据约需 2.3 TB第二阶段cc_sbu_align较小但仍需确认剩余空间充足相对路径问题训练时使用的所有路径建议写成绝对路径避免工作目录切换导致找不到数据。按照上述流程完成下载、解压、路径配置后即可在train.py中启动对应阶段的训练让数据管线构建器 → Dataset → 处理器按预期工作。赞分享人工智能大模型多模态计算机视觉NLP微调AI 应用【免费下载链接】MiniGPT-4Open-sourced codes for MiniGPT-4 and MiniGPT-v2 (https://minigpt-4.github.io, https://minigpt-v2.github.io/)项目地址https://gitcode.com/gh_mirrors/mi/MiniGPT-4点击查看免费下载相关推荐OpenMetadata 连接器审计实战元数据覆盖度与摄取完整度Prompt 1 全解OpenMetadata 连接器审计实战元数据覆盖度与摄取完整度Prompt 1 全解 本篇指南以 OpenMetadata 仓库内 skills/con人工智能大模型多模态计算机视觉NLP微调AI 应用PaddleNLP 的 PPO RLHF 对齐训练实战指南数据、三阶段流程与 3D 分布式配置PaddleNLP 的 PPO RLHF 对齐训练实战指南数据、三阶段流程与 3D 分布式配置 本文围绕 PaddleNLP 仓库中基于强化学习 PPOPr人工智能大模型预训练微调LoRARLHF强化学习分布式训练模型推理服务推理引擎模型量化模型压缩本地部署NLPFiftyOne Enterprise Auto Labeling 准备阶段实战数据集加载与 GPU 计算编排集群配置FiftyOne Enterprise Auto Labeling 准备阶段实战数据集加载与 GPU 计算编排集群配置 Auto Labeling自动标注AI 应用计算机视觉媒体生成上一篇CN-GreenLumaGUI点两下鼠标就能用的 GreenLuma 中文图形界面下一篇Tailwind CSS Typography未来展望排版技术的演进方向与终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

AI PC本地知识库搭建:Ollama+LangChain+Chroma实战 2026/9/30 18:36:37

AI PC本地知识库搭建:Ollama+LangChain+Chroma实战

1. 先算一笔账:云会员的钱到底花在哪了很多人买 AI PC 的决策链条是这样的:看到厂商宣传"端侧大模型""本地 AI 助手",觉得新鲜,下单;用两周后发现,真正干活的时候还是打开网页版对话工…

阅读更多 →
本地部署Deepseek-coder + Vscode + Continue 插件(2)用TaoToken统一Key调整默认上下文长度 2026/9/30 18:36:37

本地部署Deepseek-coder + Vscode + Continue 插件(2)用TaoToken统一Key调整默认上下文长度

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
实验报告基于江协科技固件库和HAK库的STM32实验:LED流水灯与HAL库设置按键暂停 2026/9/30 18:36:30

实验报告基于江协科技固件库和HAK库的STM32实验:LED流水灯与HAL库设置按键暂停

基于江协科技固件库和HAK库的STM32实验:LED流水灯与HAL库设置按键暂停实验任务一可参考本人之前的博客1.实验任务:固件库LED流水灯 项目创建与固件库文件添加 创建工程文件夹 复制标准外设库文件 从江协科技提供的固件库(STM32F10x_StdPeriph…

阅读更多 →
本地知识库搭建指南:ollama+langchain+chroma,旧电脑也能跑 2026/9/30 18:36:15

本地知识库搭建指南:ollama+langchain+chroma,旧电脑也能跑

1. 为什么我劝你别急着开云会员去年年底我把自己那台老笔记本翻出来,装了个本地知识库,跑了大半年,最大的感受就一句话:云会员的钱,大部分是白花的。我身边不少朋友,手机是华为的,平板是小米的&…

阅读更多 →
Kiro 反代 Claude 模型给 Claude Code 使用:kiro-account-manager 一键搞定 2026/9/30 18:36:15

Kiro 反代 Claude 模型给 Claude Code 使用:kiro-account-manager 一键搞定

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
神经网络MOSFET模型泛化能力:物理约束与SPICE部署实战 2026/9/30 18:36:07

神经网络MOSFET模型泛化能力:物理约束与SPICE部署实战

简介:这份PDF文献面向电路设计、器件建模方向的研究生与工程师,聚焦神经网络在MOSFET建模中的泛化能力问题。资源为单篇学术论文,压缩包内仅含1个PDF文件,约1.02MB,轻量便于随时查阅。论文提出一种分段建模思路&#x…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉