开发者社区 > ModelScope模型即服务 > 计算机视觉 > 正文

ModelScope中,环境对齐的,也执行了,还是到那个地方卡住了,是为什么?

ModelScope中,环境对齐的,也执行了,还是到那个地方卡住了,过半个小时,报timeout。是不是4卡要配置多卡通信的环境变量或参数,感觉是通信问题torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 1.16 GiB. GPU 1 has a total capacty of 23.69 GiB of which 309.62 MiB is free. Process 326633 has 17.59 GiB memory in use. Process 369435 has 5.79 GiB memory in use. Of the allocated memory 5.12 GiB is allocated by PyTorch, and 277.59 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

展开
收起
多麻辣哦 2023-11-22 20:50:06 103 0
5 条回答
写回答
取消 提交回答
  • 这个问题可能是由于GPU内存不足导致的。你可以尝试以下方法来解决这个问题:

    1. 减小批量大小(batch size)。这将减少每次迭代中模型所需的内存量。
    2. 使用torch.cuda.empty_cache()清空未使用的缓存。在训练循环的开始和结束处调用此函数,以确保释放不再使用的缓存。
    3. 检查是否有其他进程占用了大量GPU内存。如果有,尝试关闭这些进程或调整它们的资源分配。
    4. 如果可能的话,尝试增加GPU内存。这可以通过购买更多的GPU或者升级现有GPU来实现。
    5. 检查你的代码中是否存在内存泄漏。这可能导致GPU内存逐渐耗尽。你可以使用Python的内存分析工具(如memory_profiler)来检测内存泄漏。

    如果以上方法都无法解决问题,你可以考虑使用分布式训练(distributed training),通过多个GPU或节点来并行处理数据和计算任务。这样可以有效地利用多卡资源,提高训练速度。

    2023-11-29 10:42:12
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    对于阿里云ModelScope中出现的CUDA内存不足问题,你的分析是正确的。根据你提供的信息,报错信息显示GPU 1的总内存为23.69 GiB,其中仅剩余309.62 MiB可用,而进程已经使用了大量内存。这导致了CUDA内存不足的错误。

    针对这个问题,可以考虑以下几个解决方案:

    1. 调整模型大小或批处理大小:尝试减小模型的规模或者减小每个batch的大小,这样可以减少模型对显存的需求。

    2. 设置环境变量或参数:根据报错信息中提到的"max_split_size_mb"参数,尝试设置这个参数来避免内存碎片化。你可以按照PyTorch官方文档中的建议进行设置,以优化内存管理。

    3. 检查代码中的内存管理:确保你的代码中没有出现内存泄漏或者不必要的内存占用,例如没有及时释放无用的张量等。

    4. 多卡通信的环境配置:如果你在使用多卡训练,确保你已经正确地配置了多卡通信的环境变量或参数,以便模型能够有效地利用多块GPU的计算资源。

    2023-11-29 09:23:42
    赞同 展开评论 打赏
  • 出现“CUDA out of memory”的错误,可能是因为显存不够。

    1. 调整环境配置,增加显存大小;
    2. 修改模型参数,减小显存占用;
    3. 检查环境变量设置;
    4. 尝试清除 PyTorch 内存碎片。
      希望这些方法可以帮助解决“CUDA out of memory”错误。
    2023-11-24 14:49:04
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这可能是由以下几个因素造成的:

    1. 训练过程中数据量过大,超过了GPU可用的显存容量。
    2. 同时运行了太多进程,每个进程都占用了大量显存资源。
    3. 配置不当,例如max_split_size_mb参数设置得过高,导致内存碎片过多。

    针对这些问题,您可以通过以下方法进行排查和解决:

    1. 尝试减少数据量或降低batch size,以减少单次训练所需占用的显存。
    2. 关闭不必要的进程,尽量减少GPU资源的竞争。
    3. 调整PyTorch的相关参数,例如设置较低的max_split_size_mb值,避免内存过度碎片化。
    2023-11-23 13:32:41
    赞同 展开评论 打赏
  • 你要不就跑 mp好了, 不跑ddp了. 参考llama2_70b_chat/qlora_mp的脚本思源——此回答整理自钉群:魔搭ModelScope开发者联盟群 ①

    2023-11-22 21:39:01
    赞同 展开评论 打赏

包含图像分类、图像生成、人体人脸识别、动作识别、目标分割、视频生成、卡通画、视觉评价、三维视觉等多个领域

相关电子书

更多
视觉AI能力的开放现状及ModelScope实战 立即下载
ModelScope助力语音AI模型创新与应用 立即下载
低代码开发师(初级)实战教程 立即下载