InternVL icon indicating copy to clipboard operation
InternVL copied to clipboard

如何在internvl2上做增量预训练

Open guanyanchu opened this issue 1 year ago • 3 comments

想做增量预训练,大概需要多大的数据量,以及增量预训练的样本分布需要遵循什么原则吗。 可以提供internvl2的stage1的MLP的权重以及训练脚本吗

guanyanchu avatar Sep 06 '24 03:09 guanyanchu

数据量取决于您增量预训练的领域和通用领域的gap,比如希望对 embodied ai 的 agent 任务做增量训练,可能就需要1M~2M的数据量,如果希望在医学图像上做增量预训练,取决于具体的任务,如果任务比较简单,几十K到几百K都是可以的,如果比较困难,也得到1M~10M的规模。如果是希望模型的通用性能能有更本质的提升,就需要100M以上的较高质量数据了。

训练脚本可以参考这个文件夹中的脚本,将数据集修改成您的数据集即可,预训练和微调的代码都是一样的。

Weiyun1025 avatar Sep 10 '24 16:09 Weiyun1025

嗯,我理解的增量预训练是基于stage1的结果继续训MLP,然后再微调。现在是说直接基于微调后的ckpt,先训MLP,再微调吗,这两种方式差异大吗。

guanyanchu avatar Sep 11 '24 03:09 guanyanchu

数据量取决于您增量预训练的领域和通用领域的gap,比如希望对 embodied ai 的 agent 任务做增量训练,可能就需要1M~2M的数据量,如果希望在医学图像上做增量预训练,取决于具体的任务,如果任务比较简单,几十K到几百K都是可以的,如果比较困难,也得到1M~10M的规模。如果是希望模型的通用性能能有更本质的提升,就需要100M以上的较高质量数据了。

训练脚本可以参考这个文件夹中的脚本,将数据集修改成您的数据集即可,预训练和微调的代码都是一样的。

这里的K和M,是数据量的条数,还是大小?

AI-Mart avatar Sep 13 '24 03:09 AI-Mart

嗯,我理解的增量预训练是基于stage1的结果继续训MLP,然后再微调。现在是说直接基于微调后的ckpt,先训MLP,再微调吗,这两种方式差异大吗。

如果只关注下游性能的话,直接全放开训就行

Weiyun1025 avatar Dec 19 '24 17:12 Weiyun1025

数据量取决于您增量预训练的领域和通用领域的gap,比如希望对 embodied ai 的 agent 任务做增量训练,可能就需要1M~2M的数据量,如果希望在医学图像上做增量预训练,取决于具体的任务,如果任务比较简单,几十K到几百K都是可以的,如果比较困难,也得到1M~10M的规模。如果是希望模型的通用性能能有更本质的提升,就需要100M以上的较高质量数据了。 训练脚本可以参考这个文件夹中的脚本,将数据集修改成您的数据集即可,预训练和微调的代码都是一样的。

这里的K和M,是数据量的条数,还是大小?

指的是条数

Weiyun1025 avatar Dec 19 '24 17:12 Weiyun1025