forked from ccf-ai-infra/GPUCodeForces
88 lines
4.8 KiB
Markdown
88 lines
4.8 KiB
Markdown
|
|
# GPUCodeForces赛题入门
|
|||
|
|
|
|||
|
|
## 🚀 一、背景介绍
|
|||
|
|
在 AI 模型训练与推理的世界里,“性能”就是生产力。
|
|||
|
|
不同品牌、架构的 GPU,在不同深度学习框架中运行同样的任务时,往往会出现令人惊讶的差异:
|
|||
|
|
- 有的显卡在 TensorFlow 上快如闪电,在 PyTorch 上却慢半拍;
|
|||
|
|
- 有的框架吞吐惊人,但显存消耗巨大;
|
|||
|
|
- 有的 GPU 一旦切换精度或 batch size,性能瞬间翻倍。
|
|||
|
|
|
|||
|
|
这些性能差异长期存在,却缺乏一个「公正、标准、可复现」的评测体系。
|
|||
|
|
于是,我们发起了这场挑战赛:
|
|||
|
|
用社区的力量,一起构建一个开放的 GPU 性能评测数据集,让每块 GPU、每个框架都能有真实可对比的「成绩单」。
|
|||
|
|
|
|||
|
|
## 🎯 二、赛题目标
|
|||
|
|
本次挑战的目标是:
|
|||
|
|
|
|||
|
|
1. 收集并生成评测样本 —— 从主流框架(PyTorch、PaddlePaddle、TensorFlow、JAX、MMCV、Transformers 等)中提取典型任务(如分类、检测、生成、NLP 推理等);
|
|||
|
|
2. 为每个样本生成标准输出与性能指标 —— 包括运行时间、精度对齐结果、加速比(实际评估指标远不止这些,此为本次比赛评测范围);
|
|||
|
|
3. 形成可复现的 GPU CodeForces 数据集 —— 用统一格式记录代码、框架、显卡型号与性能结果,让 GPU 性能比较更科学、更透明。
|
|||
|
|
|
|||
|
|
## ⚙️ 三、为什么要做这件事?
|
|||
|
|
•💬 统一标准:不同平台、不同框架的性能指标不再“各说各话”;
|
|||
|
|
•🔍 科学对比:用户可以真正知道哪种框架组合最适合自己的硬件;
|
|||
|
|
•🧩 数据复现:所有样本都能被社区成员在相同条件下复现;
|
|||
|
|
•🏆 公开榜单:最终形成一个持续更新的 GPU 性能排行榜。
|
|||
|
|
|
|||
|
|
## 🧩 四、选手的任务内容
|
|||
|
|
参赛者需要:
|
|||
|
|
|
|||
|
|
1. 从指定或自选框架中挑选典型任务(如图像分类、Transformer 推理等);
|
|||
|
|
2. 编写或复用性能测试脚本,确保能在不同 GPU 上运行;
|
|||
|
|
3. 收集运行结果(速度、显存占用、吞吐量等),并输出统一格式的数据样本;
|
|||
|
|
4. 将样本上传至平台,形成标准化的「GPU CodeForces 数据集」。
|
|||
|
|
|
|||
|
|
简单来说:你的任务就是让「GPU 跑起来、测出来、比起来」。
|
|||
|
|
|
|||
|
|
## 🧮 五、第一步怎么开始
|
|||
|
|
### 别慌,你不需要搭一个复杂的AI实验室。
|
|||
|
|
|
|||
|
|
你可能会想“要有一块能跑深度学习的GPU,再装好一个主流框架才能开始”,但实际上这一步也能为你省去。这里[模力方舟](https://ai.gitee.com/compute),就有已经配置好所需环境且带有强劲GPU的云算力服务器,本次比赛「免费使用」。
|
|||
|
|
|
|||
|
|
### 代码也不需要从零开始写
|
|||
|
|
|
|||
|
|
在仓库中我们提供了几个基础脚本,自己看或者让AI帮你分析都可以~你只需要改一改,跑一跑,就能提交结果。
|
|||
|
|
|
|||
|
|
启动比赛提供的云算力平台后,在终端中输入以下指令:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
git clone https://gitlink.org.cn/ccf-ai-infra/GPUCodeForces.git
|
|||
|
|
cd example/001-example
|
|||
|
|
python run_code.py
|
|||
|
|
```
|
|||
|
|
这段代码会自动跑一个小模型并输出结果:
|
|||
|
|
```
|
|||
|
|
Loading extension module relu...
|
|||
|
|
-------------------- 精度对齐验证 --------------------
|
|||
|
|
✅ 精度对齐:两个模型的输出结果非常接近。
|
|||
|
|
|
|||
|
|
-------------------- 性能加速比测试 --------------------
|
|||
|
|
PyTorch torch.relu 平均执行时间: 0.000006 秒
|
|||
|
|
自定义 CUDA 内核 平均执行时间: 0.000017 秒
|
|||
|
|
加速比 (Speedup): 0.35x
|
|||
|
|
```
|
|||
|
|
恭喜🎊这就代表你已经跑了你的第一个性能样本。后续,无论你是「调参、改算法」,只要能跑出来并测试通过,那么就算一次成功的提交!
|
|||
|
|
|
|||
|
|
### 想进阶?你可以这样玩
|
|||
|
|
如果你足够熟悉Python,可以进一步:
|
|||
|
|
|
|||
|
|
- 修改batch size、模型结构、输入分辨率等等,看性能变化;
|
|||
|
|
- 换用不同框架(如TensorFlow、Paddle),对比结果;
|
|||
|
|
- 充分规划你代码内各子任务(计算任务)资源使用,将GPU性能最大化发挥
|
|||
|
|
|
|||
|
|
👉你不需要像写论文那样创一个新模型,也不用理解优化的底层逻辑,只要能跑就能贡献数据。
|
|||
|
|
|
|||
|
|
👉你也可以完全有自己的想法,认为有一些模型在你的思路下可以更优化,那么可以放到评测体系中,看看结果到底怎么样,同样能跑通就能贡献数据。
|
|||
|
|
|
|||
|
|
无论你选择哪种方式,我们都有相对公平的评分规则,你可以尽情跑、尽情想,怎样都行得通,这就是这个挑战的魅力所在。
|
|||
|
|
|
|||
|
|
## 📧加入社区,边学边玩
|
|||
|
|
加入官方交流群[下方二维码](https://www.gitlink.org.cn/zone/Infra/newdetail/1075)或者在对应赛道下的Issue板块与我们积极交流
|
|||
|
|
|
|||
|
|
- 问题有人答
|
|||
|
|
- 每周都有榜单更新
|
|||
|
|
- 还能看到别人分享的“加速黑科技”
|
|||
|
|
|
|||
|
|
我们希望这场挑战不仅是测评,更是一次:
|
|||
|
|
|
|||
|
|
🔧「全民GPU训练营」——让每个人都能轻松了解性能优化的乐趣。
|