开发者社区 > 大数据与机器学习 > 人工智能平台PAI > 正文

机器学习PAI使用pytorch2.0的话,编译或使用有啥注意事项说明么?

机器学习PAI使用pytorch2.0的话,编译或使用有啥注意事项说明么?

展开
收起
游客euw775o3p46fg 2023-06-09 15:29:13 161 0
2 条回答
写回答
取消 提交回答
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。

    阿里云机器学习平台是构建在阿里云MaxCompute(原ODPS)计算平台之上,集数据处理、建模、离线预测、在线预测为一体的机器学习平台。

    PyTorch是一个非常有可能改变深度学习领域前景的Python库。用来提供一个具有灵活性的深度学习开发平台。PyTorch的工作流程非常接近Python的科学计算库——numpy。

    PyTorch使用了命令式/热切的范例。在构建一个图形时,每一行代码都定义了改图的一个组件。能在图形构建完成前,独立的对这些组件进行计算。这就是所说的“逐运行”方法。

    PyTorch提供了一个类似的借口,可以使用200个以上的数学运算。

    还可以在定义的PyTorch张量上执行各种矩阵运算。

    PyTorch使用了一种叫做自动微分的技术。它会有一个记录所有执行操作的记录器,之后再回放记录来计算我们的梯度。这一技术在构建神经网络时尤其有效,因为可以通过计算前路参数的微分来节省时间。

    PyTorch中用于数据加载的API设计的非常好,它的接口可以在数据集、采样器和数据加载器中指定。并且通过与TensorFlow(读取器、队列等)数据加载工具比较发现,PyTorch的数据加载模块非常容易使用。此外,PyTorch在构建神经网络时是无缝的,所以不必依赖像Keras这样的第三方高层库。

    PyTorch 2.0 提供了相同的 eager 模式,同时增加了 torch.compile 编译模式。这种编译模式有可能在训练和预测过程中提高模型运行速度。

    使用 2.0 不需要有任何修改。另外使用一行代码 model = torch.compile(model) 就可以优化您的模型以使用 2.0 堆栈,并与其余的 PyTorch 代码一起平稳运行。

    开箱即用,PyTorch 2.0 与 PyTorch 1.x 相同,您的模型以 eager 模式运行,即 Python 的每一行都一个接一个地执行。 

    在 2.0 中,如果使用model = torch.compile(model),模型在执行之前会经历 3 个步骤,即Graph acquisition、Graph lowering和Graph compilation

    2.0默认和最完整的后端是 TorchInductor,TorchDynamo有很多后端列表,可以通过调用 torchdynamo.list_backends() 查找。

    2.0 版本的分布式训练Compiled 模式下的 DDP 和 FSDP 运行速度比 FP32 中的 Eager 模式快 15%、AMP 精度快 80%。

    以前运行的代码在 2.0 中崩溃了,参考一下对代码可能失败的位置进行分类,并打印有用的日志

    https://pytorch.org/docs/master/dynamo/faq.html#why-is-my-code-crashing

    2023-06-09 16:15:10
    赞同 1 展开评论 打赏
  • 要关注下这个环境变量:TORCH_BLADE_CI_BUILD_TORCH_VERSION=2.0.0+cu117 ,我们CI脚本在:https://github.com/alibaba/BladeDISC/blob/main/.github/workflows/pytorch200_gpu.yml 也可以参考下。 此回答整理自“BladeDISC用户支持群”

    2023-06-09 15:35:18
    赞同 展开评论 打赏

人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。

相关产品

  • 人工智能平台 PAI
  • 热门讨论

    热门文章

    相关电子书

    更多
    微博机器学习平台架构和实践 立即下载
    机器学习及人机交互实战 立即下载
    大数据与机器学习支撑的个性化大屏 立即下载