Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump paddlepaddle from 2.3.1 to 2.5.0 #74

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Jul 26, 2023

Bumps paddlepaddle from 2.3.1 to 2.5.0.

Release notes

Sourced from paddlepaddle's releases.

PaddlePaddle 2.5.0 Release Note

1. 重要更新

  • 动静统一新架构:实现基础算子组合的动转静加编译器执行新模式,在ResNet50&Bert模型上完成动转静、组合算子、神经网络编译器优化加速全流程。动转静完成整图fallback核心功能开发,支持动转静失败时回退到动态图训练执行;组合算子设计一套包含150多个基础算子的基础算子体系,实现python层前向算子拆分机制和支持动、静态图的反向算子拆分机制,实现70多个常用前、反向算子的拆分;CINN编译器修复正确性问题,开发关键Pass,添加手工Schedule规则,实现内核代码自动生成,ResNet50模型性能提升12%,Bert模型性能提升10%。
  • PHI算子库算子架构统一:将原算子体系下剩余的350+算子内核全部统一到PHI算子库中,以及原算子体系中的算子定义方式也都统一为PHI算子库的算子定义形式(基于YAML配置定义算子),提升了架构统一性,降低了框架开发的理解成本;将PHI算子库依赖的Fluid头文件全部解耦,并独立编译为动态链接库,为框架的二次开发提供更轻量的算子库复用方式;继续对飞桨框架中不规范的算子以及算子内核进行规范化调整,便于开发者理解,降低了硬件的接入成本。
  • 静态图新执行器全面上线:静态图新执行器实现多项功能和性能优化,完成对原有多套旧执行器的统一和替换,成为静态图单卡和分布式训练python端入口以及动转静、控制流、CINN等后端默认使用的执行引擎,大幅提升框架调度性能,功能架构更加清晰,二次开发能力显著增强。
  • Python API 支持0维tensor:为形状为[1,] 及形状为 [] 的张量定义了清晰的语义。
  • 新的环境适配:适配了CUDA 12,并支持使用gcc12进行编译。

2. 不兼容升级

  • 飞桨API支持0维tensor。飞桨之前用shape为[1]的1维tensor来替代0维tensor,这种替代方式和当前主流习惯有差异,增加模型的开发调试成本,有时还会导致非预期错误。本版本对需支持0维tensor的376个API进行了修正,和社区广泛使用的工具如EinOps等实现。例如,在之前的情况下,模型训练中输出的loss为1维tensor,如果要取出或打印loss,往往需要使用 loss.numpy()[0] 这样的代码。经过本次修改后,模型训练中输出的loss为0维tensor,使用 loss.numpy() 即可取出或打印loss,代码简短、易懂且符合业界使用习惯。
  • paddle.fluid API全面退场。按照上个版本已预告的计划,本次退场了1116个paddle.fluidAPI及相关内部接口,剩余少量相关内部接口会在下个版本全部清理完成。fluid API属于飞桨2.0本计划移除但考虑到兼容性等因素延缓清理的历史API,本次退场清理不会影响基于飞桨2.0开发的程序,飞桨API体系也会更加简洁易懂。
  • 旧版动态图Python端代码完成清理。至此,Python端仅使用新版动态图调用C++核心逻辑。
  • 为统一静态图模型数据并行的训练方式,废弃原有的单进程多卡训练方式,包括 paddle.static.ParallelExecutorpaddle.static.CompiledProgram().with_data_parallel() 两个接口,原因是这套接口只支持单机多卡,不支持多机多卡,且底层执行性能较差。推荐统一使用多进程多卡训练方式,即 paddle.distributed.launch 接口来进行数据并行的分布式训练。该升级只影响静态图,不影响动态图和动转静训练,如果使用了废弃接口,请参考 数据并行 的文档修改模型代码。#50351#50501#51240#51701#51616#51369#52671
  • 移除框架中原有的昇腾NPU和寒武纪MLU的适配代码,全部升级为CustomDevice插件式适配方式,并将昇腾NPU和寒武纪MLU的适配代码迁移至PaddleCustomDevice仓库。

3. 训练框架(含分布式)

Python API

API 支持0维tensor

new API

  • 新增 jacobian 和 hessian API,用于科学计算。#53331
  • 新增稀疏计算API。例如 paddle.sparse.reshapepaddle.sparse.sumpaddle.sparse.slice 等。#46694, #51513, #53794, #51406
  • 新增其它API。例如 paddle.optimizer.LBFGSpaddle.index_putpaddle.logaddexp 等。#53314, #51912, #52886, #50843, #47282, #52284

动态图

新功能

功能优化

  • 优化了动态图的日志打印,包括日志内容优化、VLog级别优化、报错内容优化等。PR45783, PR46349, PR46934, PR47724
  • 新增了FLAGS_auto_growth_chunk_size_in_mb用于auto_growth_allocator最小chunk size的设置 PR52204

bug fix

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps [paddlepaddle](https://github.com/paddlepaddle/paddle) from 2.3.1 to 2.5.0.
- [Release notes](https://github.com/paddlepaddle/paddle/releases)
- [Changelog](https://github.com/PaddlePaddle/Paddle/blob/develop/RELEASE.md)
- [Commits](PaddlePaddle/Paddle@v2.3.1...v2.5.0)

---
updated-dependencies:
- dependency-name: paddlepaddle
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Jul 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants