You need to enable JavaScript to run this app.
导航
常见问题
最近更新时间:2024.09.13 15:53:08首次发布时间:2022.03.07 14:28:49
开发机

Q:基于开发机构建镜像时,开发机可以高频操作吗

A:基于开发机构建镜像过程中请勿对开发机进行任何操作,包括但不限于关机、重启及容器内读写数据等,否则将会导致镜像构建失败。

Q:基于开发机构建镜像失败

A:以下是部分引起失败的报错内容及相应的解决建议供参考。

  • BUILD\_FAILED\_NO\_SPACE
    开发机空间不足。请扩容或清理空间后重试。
  • CR\_BUILD\_FAILED\_SHUTDOWN
    构建失败,您可能关闭开发机或进行了数据写入。镜像构建过程中,请保证开发机为运行中状态且不要做写入操作。
  • BASIC\_CR\_BUILD\_FAILED\_TOO\_LARGE
    构建失败,您可能使用的是 CR 体验版的镜像仓库,该版本限制了镜像单层数据量不得超过10GiB。您可以将镜像保存到标准版镜像仓库,也可以在保存时排除非必要的文件或目录,例如临时数据文件、checkpoint 等。体验版镜像仓库的更多限制详见镜像仓库使用限制
  • BASIC\_CR\_PUSH\_FAILED\_TOO\_LARGE
    推送失败,您可能使用的是 CR 体验版的镜像仓库,该版本限制了镜像单层数据量不得超过10GiB。您可以将镜像保存到标准版镜像仓库,也可以在保存时排除非必要的文件或目录,例如临时数据文件、checkpoint 等。
  • BASIC\_CR\_PUSH\_FAILED\_TOO\_MANY\_REQUEST
    推送失败,您可能使用的是 CR 体验版的镜像仓库,该版本限制了镜像请求并发数不得超过20个。请选择标准版命名空间保存镜像。
volc 命令行

Q:提交任务进度条显示完成之后还会卡很久

A:当前提交任务可能包含有大文件(日志、模型文件等),需要耐心等待。或者把模型文件托管到共享存储上(如 vePFS、TOS)。

Q:提交任务能否忽略掉一些文件不上传

A:支持在上传目录下配置 .gitignore,volc 工具会根据配置忽略相应的文件。

Q:volc 如何升级

A:可以采用下面两种方法升级,详见命令行工具-使用文档
方法一:volc upgrade
方法二:

sh -c "$(curl -fsSL https://ml-platform-public-examples-cn-beijing.tos-cn-beijing.volces.com/cli-binary/install.sh)"  && export PATH=$HOME/.volc/bin:$PATH

Q:开发机未开启公网配置,怎么通过 volc 上传代码至 TOS

A:首先在 .volc/config 中增加配置,如下:

[ml_platform]
private = True

配置完成后,通过 submit 或者 upload 命令完成上传。详见命令行工具-使用文档

TOS(对象存储)

Q:logging 打印日志出现错误

A:通过 CloudFS 方式挂载 TOS,写不支持 append 模式, 所以 logging 会报错。 解决方案是每次任务重新打开一个日志文件, 往这个新的文件中写日志即可。建议可以使用时间作为日志文件后缀。

Q:ls/rm 文件夹出现出现 “No buffer space available”

A: 在开发机场景下,用户使用 ls/rm 场景很频繁。对于大文件夹(包含大量小文件的目录),ls 等操作需要拉取大量的元数据, 系统压力会非常大导致开发机的 WebIDE 会出现假死现象。 为了保持系统稳定性,限制了大文件夹 ls 等操作,超过 10000 时会出现上述错误。

Q:如何访问 TOS 并进行文件操作

A:查看 TOS 官方文档使用Rclone访问TOS

Q:程序往 TOS 写报错 “Input/output error”

A: 1. 需要确认打开方式。2. 如果多机 / 多卡同时往同一个文件写,不能保证多进程安全。 当前写相同文件是 CloudFS fuse 模拟 按照 rm,write 这个方式写的。 如果业务侧不能保证多进程安全,可能 A 进程写的文件被 B 进程删了,出现 “Input/output error”。

Q:挂载 TOS 不支持的操作

A:chmod、ln、chown、tuncate。

Q:挂载 TOS 后异常退出

A: 挂载 TOS 对资源量有一定的要求,最好保证容器内存在 8GiB 以上(部分资源将用于文件缓存服务,提升训练效率),这部分的提示信息也在持续优化。

Q:挂载了 TOS 的任务成功拉起之后需要过段时间才能看到挂载的文件内容

A: 不可见时间和挂盘任务的规格有关,高规格容器加载快,不可见时间短。 如果在规格不能改变的情况下, 可以通过 SideCarMemoryRatio(0.05 ~ 0.5)参数适当调整,具体可参考 ml_task submit 的使用方法

Q:训练任务第一个 epoch 训练慢

A:通过挂载 TOS 训练模型时,第一个 epoch 训练数据需要从远端 TOS 拉取到 CloudFS 本地,从第二个 epoch 开始,所有数据请求通过 CloudFS 本地即可获取,将会有一定的加速效果。

Q:在 TOS 中创建存储桶(Bucket)代码报错 "You have attempted to create more buckets than allowed."

A:当前账号下的 Bucket 数超过 99 个时会出现该错误。此时可以在命令行中通过输入rclone lsd <远程连接名称>: 查看当前账号下的存储桶列表。然后通过输入 rclone purge <远程连接名称>:<待删除 Bucket 的名称> 删除不用的Bucket,再重新创建 Bucket 即可成功。

vePFS(并行文件系统)

Q:观察到的网络带宽比真实的业务侧有效带宽要大很多

A:可能是 vePFS 预取导致的读放大,需要结合业务具体分析。常见的场景 mmap 方式打开文件,默认预读机制会造成读放大,并且在 random access 的方式下,这种预读对于业务没有性能帮助,需要关闭。

Q:mmap 性能不及预期,没有云盘性能好

A: vePFS 对于 mmap 的读取方式支持不太好。建议业务侧调整成小文件方式或者其他的打包方式(如 tfrecord、webdataset)。同时需要关注业务侧是否以读写的方式打开,以 r+/w 方式打开,vePFS对访问资源会开启读写锁,导致性能比较低,训练时对于文件尽量做到以只读方式打开。

Q:使用 DALI 加速效果不佳

A: DALI 使用了 mmap 特效, 尝试用 dont_use_mmap 关闭 mmap。