Skip to content

Commit

Permalink
更新黑客松第8期 (#1050)
Browse files Browse the repository at this point in the history
* Update 【Hackathon_8th】个人挑战赛—套件开发任务合集.md

* Update 【Hackathon_8th】开源贡献个人挑战赛rfc需求列表.md

* Create 【Hackathon 8th】FundableProject任务合集.md

* fix

---------

Co-authored-by: zachary sun <[email protected]>
  • Loading branch information
luotao1 and sunzhongkai588 authored Jan 13, 2025
1 parent 8331fdd commit 1a6224d
Show file tree
Hide file tree
Showing 4 changed files with 139 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
此文档展示 **PaddlePaddle Hackathon 第八期活动——Fundable Projects** 任务详细介绍。Fundable Projects 赛道定位硬核任务,要求高水平的开发者独立进行任务拆解和完成。

## 产出要求

- 任务拆解 tracking issue
- 答辩 PPT
- 书面的技术报告
- 代码运行无误,通过社区 maintainers 的评审并合入代码仓库。

## 任务详情

### 一、PaddleSpeech 套件能力建设 - 模型精度对齐

**任务背景**

PaddleSpeech 是基于飞桨 PaddlePaddle 的语音方向的开源套件,囊括语音识别、语音合成、语音唤醒、声纹识别等多种语音常用功能的支持。由于近期 Paddle 新版本的升级存在不兼容部分(如 `paddle.fluid` API 全面退场,PIR + predictor 升级, 0-d tensor,view 行为修改等),需要重新对 PaddleSpeech 中的模型进行适配开发与回归测试,保证套件正常运转,模型功能与精度不受损失。外部开发者需要做的事情包括:

**详细描述:**

基于 Paddle 3.0.0-beta 版本对 PaddleSpeech 进行适配升级,梳理已有堵点并解决。保证[example](https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/examples) 目录下核心模型在 新 Paddle 版本 & 新其他深度学习框架版本下的正常运转。目前适配版本为 Paddle 2.5.1。

**验收说明:**

PaddleSpeech 基于 Paddle 3.0.0-beta 版本,完成 10+ 原有模型的适配和精度对齐。

**技术要求:**

- 熟悉 Python,工程能力强
- 对语音识别或合成有一定了解,有训练或者研发经验(加分项)
- 对 PaddleSpeech 套件比较熟悉(加分项)

**参考资料:** https://github.com/PaddlePaddle/PaddleSpeech

### 二、PaddleSpeech 套件能力建设 - PIR 导出

**任务背景**

PaddleSpeech 是基于飞桨 PaddlePaddle 的语音方向的开源套件,囊括语音识别、语音合成、语音唤醒、声纹识别等多种语音常用功能的支持。由于近期 Paddle 新版本的升级存在不兼容部分(如 `paddle.fluid` API 全面退场,PIR + predictor 升级, 0-d tensor,view 行为修改等),需要重新对 PaddleSpeech 中的模型进行适配开发与回归测试,保证套件正常运转,模型功能与精度不受损失。外部开发者需要做的事情包括:

**详细描述:**

基于 Paddle 3.0.0-beta 版本对 PaddleSpeech 中支持转静的模型重新按照 PIR + predictor 的方式导出,并成功推理。

**验收说明:**

PaddleSpeech 基于 Paddle 3.0.0-beta 版本,完成 20+ 原有静态图模型的重新导出和上传。

**技术要求:**

- 熟悉 Python,工程能力强
- 对语音识别或合成有一定了解,有训练或者研发经验(加分项)
- 对 PaddleSpeech 套件比较熟悉(加分项)

**参考资料:** https://github.com/PaddlePaddle/PaddleSpeech
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## 【开源贡献个人挑战赛-套件开发】任务详情

### NO.5 在 PaddleSpeech 中复现 DAC 模型
### NO.5 在 PaddleSpeech 中复现 DAC 模型 (依赖任务 NO.9)

**详细描述:**

Expand Down Expand Up @@ -81,3 +81,74 @@
- 了解 Whisper 模型
- 熟练掌握 Python 语言
- 熟悉 PaddleSpeech 框架及其数据处理流程

### NO.9 在 PaddleSpeech 中复现 DAC 的训练需要用到的 loss

**详细描述:**

- 在 PaddleSpeech 套件中实现并对齐 Descript-Audio-Codec 中使用到的 MultiScaleSTFTLoss,GANLoss,SISDRLoss。
- 相关论文:https://arxiv.org/abs/2306.06546
- 参考:https://github.com/descriptinc/descript-audio-codec/blob/main/dac/nn/loss.py
- 相关实现放在:paddlespeech/t2s/modules/losses.py

**验收标准**

- 复现的精度需要与原 repo 保持一致

**技术要求:**

- 熟练掌握 Python 语言

---

## 【开源贡献个人挑战赛-科学计算方向】任务详情

#### 开发流程

1. **要求基于 PaddleScience 套件进行开发**,开发文档参考:https://paddlescience-docs.readthedocs.io/zh/latest/zh/development/
2. 复现整体流程和验收标准可以参考:https://paddlescience-docs.readthedocs.io/zh/latest/zh/reproduction/#21,复现完成后需供必要的训练产物,包括训练结束后保存的 `train.log`日志文件、`.pdparams`模型权重参数文件(可用网盘的方式提交)、**撰写的 `.md` 案例文档。**
3. 理解复现流程后,可以参考 PaddleScience 开发文档:https://paddlescience-docs.readthedocs.io/zh/latest/zh/development/ ,了解各个模块如何进行开发、修改,以及参考 API 文档,了解各个现有 API 的功能和作用:https://paddlescience-docs.readthedocs.io/zh/latest/zh/api/arch/
4. 案例文档撰写格式可参考 https://paddlescience-docs.readthedocs.io/zh/latest/zh/examples/darcy2d/ ,最终合入后会被渲染并展示在 [PaddleScience 官网文档](https://paddlescience-docs.readthedocs.io/zh/latest/zh/examples/volterra_ide/)
5. **如在复现过程中出现需添加的功能无法兼容现有 PaddleScience API 体系([PaddleScience API 文档](https://paddlescience-docs.readthedocs.io/zh/latest/zh/api/arch/)),则可与论文复现指导人说明情况,并视情况允许直接基于 Paddle API 进行复现。**
6. 若参考代码为 pytorch,则复现过程可以尝试使用 [PaConvert](https://github.com/PaddlePaddle/PaConvert) 辅助完成代码转换工作,然后可以尝试使用 [PaDiff](https://github.com/PaddlePaddle/PaDiff) 工具辅助完成前反向精度对齐,从而提高复现效率。

#### 验收标准

参考模型复现指南验收标准部分 https://paddlescience-docs.readthedocs.io/zh/latest/zh/reproduction/#3

### NO.10 Transolver 论文复现

**论文链接:**

https://scholar.google.com/scholar?hl=zh-CN&as_sdt=0%2C5&q=Transolver%3A+A+Fast+Transformer+Solver+for+PDEs+on+General+Geometries&btnG=#:~:text=%E5%8C%85%E5%90%AB%E5%BC%95%E7%94%A8-,%5BPDF%5D%20arxiv.org,-Transolver%3A%20A%20fast

**代码复现:**

复现 List of experiments:

- Core code: see [./Physics_Attention.py](https://github.com/thuml/Transolver/blob/main/Physics_Attention.py)
- Standard benchmarks: see [./PDE-Solving-StandardBenchmark](https://github.com/thuml/Transolver/tree/main/PDE-Solving-StandardBenchmark)
- Car design task: see [./Car-Design-ShapeNetCar](https://github.com/thuml/Transolver/tree/main/Car-Design-ShapeNetCar)
- Airfoil design task: see [./Airfoil-Design-AirfRANS](https://github.com/thuml/Transolver/tree/main/Airfoil-Design-AirfRANS)

精度与论文中对齐,完成文档,符合代码审核要求

**参考代码链接:**

https://github.com/thuml/Transolver

### NO.11 DrivAerNet ++ 论文复现

**论文链接:**

https://github.com/Mohamedelrefaie/DrivAerNet#:~:text=preprint%3A%20DrivAerNet%2B%2B%20paper-,here,-DrivAerNet%20Paper%3A

**代码复现:**

复现 RegDGCNN 和 PointNet,在数据集 DrivAer++上,精度与论文中对齐,完成文档,符合代码审核要求

**参考代码链接:**

https://github.com/Mohamedelrefaie/DrivAerNet

---
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@

| 序号 | 难度 | 任务标题 | 是否需要提交 RFC |
| :--: | :-------: | ------------------------------------------ | :--------------: |
| 5 | ⭐⭐️⭐ | 在 PaddleSpeech 中复现 DAC 模型 ||
| 5 | ⭐⭐️⭐ | 在 PaddleSpeech 中复现 DAC 模型 (依赖 9) ||
| 6 | ⭐️⭐️⭐️ | 在 PaddleSpeech 中实现 Whisper 的 Finetune ||
| 7 | ⭐️⭐️ | PaddleSpeech 新 Python 版本适配 | |
| 7 | ⭐️⭐️ | PaddleSpeech 新 Python 版本适配 | |
| 8 | ⭐⭐⭐️ | 在 PaddleSpeech 中实现 CosyVoice 模型推理 ||
| 9 | ⭐️ | 在 PaddleSpeech 中复现 DAC 的训练需要用到的 loss||
| 10 | ⭐️⭐️ | Transolver 论文复现 ||
| 11 | ⭐️⭐️ | DrivAerNet ++ 论文复现 ||
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,14 @@

#### 项目介绍:

流水并行(Pipeline Parallel)是大模型分布式训练场景中非常重要的一种并行策略,它允许将模型的执行过程进行切分,使得多个微批次(micro-batch)可以同时执行模型代码的不同部分,以流水线的形式并发执行。飞桨自动并行上层以 pass 化的方式进行流水子图的调度编排,底层由执行器根据上层编排顺序进行多 micro-batch 的展开和执行,这种“先编排后执行”的设计方式允许根据实际场景的需要灵活地编排和扩展不同的流水并行策略(如 FThenB、1F1B、VPP 等)。本课题要求选手参与飞桨静态图流水并行相关能力建设,根据项目需求完成常见流水并行策略下相关代码的问题修复和功能增强,并对流水调度的性能进行针对性地分析和优化,提升自动并行架构的可用性。

#### 营员要求(1 人):

- 熟悉 Python、C/C++
- 熟悉深度学习框架中的动态图和静态图
- 熟悉自动并行相关基础概念

### 项目五:动转静性能优化专项

#### 项目介绍:
Expand Down

0 comments on commit 1a6224d

Please sign in to comment.