文档

GPU实例FAQ

更新时间:

本文介绍使用GPU实例过程中可能遇到的问题,并提供对应的解决方案。

函数计算GPU实例的驱动版本是什么?

目前使用的驱动版本为535.129.03。

函数计算GPU实例所使用的驱动由NVIDIA提供。随着功能迭代、新卡型推出、BUG修复、驱动生命周期到期等原因,GPU实例所使用的驱动版本未来可能变化,请避免在容器镜像中添加驱动特定相关内容,更多内容,请参见镜像使用说明

函数计算GPU实例的CUDA版本是什么?

CUDA版本由您在构建容器镜像时决定,函数计算建议使用11.x及以上CUDA版本。

构建镜像时报错CUDA GPG Error如何解决?

构建镜像时报错GPG error,具体信息如下。

W: GPG error: https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64  InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC
E: The repository 'https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64  InRelease' is not signed.

此时,您可以在Dockerfile文件的RUN rm命令行后面增加如下脚本,然后重新构建镜像。

RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A4B469963BF863CC

为什么我的GPU实例规格显示的是g1?

实例规格设置为g1等同于设置为fc.gpu.tesla.1。更多信息,请参见实例规格

为什么我的预留GPU实例预留不成功?

预留实例失败可能有以下原因:

  • 预留实例启动超时

    • 错误码:"FunctionNotStarted"

    • 错误信息:"Function instance health check failed on port XXX in 120 seconds"

    • 解决方案:检查应用启动逻辑,是否存在公网模型下载、10 GB以上大模型加载逻辑。建议优先完成Web Server启动,再执行模型加载逻辑。

  • 已达到函数或地域级别的实例数量上限

    • 错误码:"ResourceThrottled"

    • 错误信息:"Reserve resource exceeded limit"

    • 解决方案:如您有更高的物理卡需求,请加入钉钉用户群(钉钉群号:11721331)申请。

GPU镜像大小限制是多少?

镜像大小限制是针对压缩后的镜像,非压缩前的镜像。您可以在阿里云容器镜像服务控制台查看压缩后镜像尺寸,也可以在本地执行命令docker image查询压缩前镜像尺寸。

通常情况下,压缩前尺寸小于20 GB的镜像可以正常部署到函数计算并使用。

GPU镜像加速转换失败怎么办?

随着您的镜像尺寸增长,镜像加速转换耗时会同步的增长,可能会因为超时导致镜像加速转换失败。您可以通过在函数计算控制台编辑和保存函数配置的方式(无需实际调整参数),重新触发加速镜像的转换。

模型应该打在镜像里,还是与镜像分离?

优先建议模型随镜像交付,模型可以复用镜像缓存,加速分发,无额外的存储使用成本。

如果模型不能随镜像交付,例如,超过镜像大小限制,建议对于5 GB以上的大模型,将其存储在NAS文件系统,然后在应用启动时加载模型。建议使用通用型NAS的性能型,不推荐使用容量型。更多信息,请参见通用型NAS

如何做模型预热,有没有最佳实践?

建议在/initialize方法中进行模型预热,仅当/initialize方法完成后,模型才会真正接入生产流量。更多信息,请参见以下文档:

GPU镜像启动报错:[FunctionNotStarted] Function Instance health check failed on port xxx in 120 seconds.

  • 问题原因:AI/GPU应用启动耗时过长,导致函数计算FC平台健康检查失败。其中导致AI/GPU应用启动耗时过长的常见原因是加载模型耗时过长,导致WebServer启动超时。

  • 解决方案:

    • 不要在应用启动时从公网动态加载模型,建议将模型放置在镜像中,或者文件存储NAS中,就近加载模型。

    • 将模型初始化放置在/initialize方法中,优先完成应用启动。即WebServer启动后,再加载模型。

      说明

      关于函数实例生命周期的详细信息,请参见配置实例生命周期

我的函数端到端延迟较大,并且波动很大,需要怎么处理?

  1. 首先需要确认环境信息中镜像加速准备状态为可用。

  2. 确认NAS文件系统的类型。如果您的函数需要从NAS文件系统中读取数据,如读取模型,为了保证性能,强烈建议使用通用型NAS的性能型,不推荐使用容量型。更多信息,请参见通用型NAS

无法找到NVIDIA驱动程序怎么办?

通过docker run --gpus all命令指定容器,并使用docker commit方式构建应用镜像时,构建的镜像会携带本地NVIDIA驱动程序信息,这将导致镜像部署到函数计算后驱动程序无法正常挂载。此时,系统无法找到NVIDIA驱动程序。

为了解决以上问题,函数计算建议您使用Dockerfile的方式构建应用镜像。更多信息,请参见dockerfile

请您避免在容器镜像中添加特定驱动版本相关的内容,更多信息,请参见镜像使用说明

  • 本页导读 (1)