xtuner icon indicating copy to clipboard operation
xtuner copied to clipboard

llava-intern2-7b模型无法复现官方结果

Open PeterMao11 opened this issue 2 years ago • 12 comments

模型训练loss: image

训练脚本:NPROC_PER_NODE=8 xtuner train llava_internlm2_chat_7b_qlora_clip_vit_large_p14_336_lora_e1_gpu8_finetune --deepspeed deepspeed_zero2

模型convert问题: 模型转换OOM: NPROC_PER_NODE=8 xtuner convert pth_to_hf $FINETUNE_CFG $PTH_PATH $SAVE_PATH 在40G-A100出现OOM情况

NPROC_PER_NODE=1 xtuner convert pth_to_hf $FINETUNE_CFG $PTH_PATH $SAVE_PATH 可以进行模型转换

mmbench-dev评测结果:

┏━━━━━━━━━━┳━━━━━━━━━━━━━━┓ ┃ Category ┃ Accuracy (%) ┃ ┡━━━━━━━━━━╇━━━━━━━━━━━━━━┩ │ Average │ 68.6 │ ├──────────┼──────────────┤ │ AR │ 68.8 │ │ CP │ 83.1 │ │ FP-C │ 57.3 │ │ FP-S │ 69.3 │ │ LR │ 44.9 │ │ RR │ 67.0 │

PeterMao11 avatar Jan 22 '24 00:01 PeterMao11

iteration数为25954有一点奇怪,请问您 config 的 batchsize 是多少?

LZHgrla avatar Jan 22 '24 02:01 LZHgrla

convert 命令无需传递 NPROC_PER_NODE=xxxx 参数,直接xtuner convert 即可

LZHgrla avatar Jan 22 '24 02:01 LZHgrla

iteration数为25954有一点奇怪,请问您 config 的 batchsize 是多少? iteration以下图为准,batchsize:4 8卡A100 image

PeterMao11 avatar Jan 22 '24 06:01 PeterMao11

若要复现结果,建议使用与所提供的config所一致的batchsize,即 16,8卡

LZHgrla avatar Jan 22 '24 06:01 LZHgrla

训练GPU 8卡A100-40G,zero2训练吗

PeterMao11 avatar Jan 22 '24 06:01 PeterMao11

convert 命令无需传递 NPROC_PER_NODE=xxxx 参数,直接xtuner convert 即可

直接使用xtuner convert,会8卡加载并出现OOM情况 image image

PeterMao11 avatar Jan 22 '24 06:01 PeterMao11

@PeterMao11 我们是 8卡 A100-80G,zero2 训练。 如果40GB训练报OOM的话,可以考虑将batchsize调整8,accumulative_counts则调整为2,以确保global batchsize一致

LZHgrla avatar Jan 22 '24 06:01 LZHgrla

convert 命令无需传递 NPROC_PER_NODE=xxxx 参数,直接xtuner convert 即可

直接使用xtuner convert,会8卡加载并出现OOM情况 image image

convert时,不要使用 NPROC_PER_NODE=xxxx 参数

LZHgrla avatar Jan 22 '24 06:01 LZHgrla

convert 命令无需传递 NPROC_PER_NODE=xxxx 参数,直接xtuner convert 即可

直接使用xtuner convert,会8卡加载并出现OOM情况 image image

convert时,不要使用 NPROC_PER_NODE=xxxx 参数

不使用 NPROC_PER_NODE=1 会出现OOM情况, NPROC_PER_NODE=1才可以正常convert。这里convert是否会影响模型评测结果

PeterMao11 avatar Jan 22 '24 07:01 PeterMao11

convert 命令无需传递 NPROC_PER_NODE=xxxx 参数,直接xtuner convert 即可

直接使用xtuner convert,会8卡加载并出现OOM情况 image image

convert时,不要使用 NPROC_PER_NODE=xxxx 参数

不使用 NPROC_PER_NODE=1 会出现OOM情况, NPROC_PER_NODE=1才可以正常convert。这里convert是否会影响模型评测结果

"不使用 NPROC_PER_NODE=1 会出现OOM情况" 这个就很奇怪,你的log看起来是设置了NPROC_PER_NODE=8,所以请查看一下是否export设置了环境变量NPROC_PER_NODE

LZHgrla avatar Jan 22 '24 07:01 LZHgrla

您好,请问推理一遍mmbench dev en需要多久? @PeterMao11

davidluciolu avatar Jan 31 '24 02:01 davidluciolu

@davidluciolu 您可以参考#376

StarCycle avatar Jan 31 '24 12:01 StarCycle