课程概述
本研修课程旨在为AI算力集群技术人员提供全面深入的技术培训,涵盖InfiniBand(IB)网络基础与配置、英伟达GPU技术与应用、数据存储与管理、Kubernetes与AI训练、推理部署与优化、云计算运维、GPU编程与优化实战、脚本编写与自动化深入、算力集群调优与维护等方面的内容。课程内容设计全面系统,既涵盖理论基础,又包含大量实战案例,帮助学员全面提升技术能力和实际操作水平。
面向人群
学习目标
-
掌握InfiniBand网络的基础知识、配置方法和管理工具,理解其在高性能计算和AI训练中的应用场景。
-
深入了解英伟达GPU的架构与特性,熟练掌握CUDA编程技术和性能优化方法。
-
熟悉现代数据存储技术与管理方法,能够高效管理和预处理大型数据集。
-
学会在Kubernetes环境下搭建和管理AI训练环境,掌握自动化管理与性能监控技巧。
-
掌握AI模型的推理部署与性能优化技术,能够在实际项目中应用相关工具和策略。
-
深入理解云计算运维的最佳实践,包括资源管理、安全与合规性、多云与混合云架构等。
-
提升高级GPU编程与优化实战能力,能够高效实现复杂算子和异步编程。
-
熟练编写和优化Python与Shell脚本,实现自动化任务和系统管理。
-
掌握算力集群的架构设计、性能评估与调优方法,能够解决实际工作中的常见问题。
培训大纲
1. IB 网络基础与配置
-
IB 网络概述与原理
-
IB 网络组件与架构
-
IB 网络配置与管理工具
2. 英伟达 GPU 技术与应用
-
英伟达 GPU 架构与特性
-
介绍Triton如何支持跨不同架构的高效执行
-
强调TensorRT在模型推理加速中的作用。
-
引入新的cuBLAS版本,包括对更高效线性代数运算的支持。
-
介绍最新的cuDNN版本及其对深度学习模型的支持。
-
强调最新版本的性能分析工具如何帮助开发者更有效地调试和优化代码。
-
引入最新的CUDA编程接口和工具,例如改进的并发性和异步操作支持。
-
Hopper架构中的内存层次结构
-
HBM3e显存技术
-
CUDA编程模型的最新发展
-
新的CUDA特性,如统一内存、动态并行性等。
-
NVIDIA Hopper 架构概述
-
流多处理器(SM):设计与工作原理
-
Tensor Cores:工作原理与应用场景
-
NVLink 与 NVSwitch:高带宽互连技术
-
NVLink-C2C 互连技术
-
介绍Hopper架构的关键特点,如先进的台积电4N工艺、超过800亿个晶体管、新的Tensor Core设计等。
-
强调Transformer引擎对于生成式AI和大规模语言模型的支持。
-
介绍NVLink-C2C在Hopper架构中的应用,以及它如何与Grace CPU相结合,提供高性能计算解决方案。
-
GPU 硬件架构
-
CUDA 核心:工作原理与优势
-
内存架构:显存、共享内存、寄存器
编程接口与工具
-
CUDA 12.x及更高版本特性
-
Nsight Systems 和 Nsight Compute 的最新版本
-
cuDNN 8.x 及更高版本
-
cuBLAS 11.x 及更高版本
-
TensorRT 8.x 及更高版本
-
Triton 编译器和运行时
-
GPU 编程基础与 CUDA 入门
-
卷积神经网络的加速
-
循环神经网络的优化
-
常见编程错误与调试技巧
-
讨论卷积层的优化方法,如使用cuDNN进行卷积操作。
-
介绍如何利用Tensor Cores和混合精度计算提高训练效率。
-
展示如何利用CUDA Streams和事件同步来加速RNN的前向传播和反向传播。
-
探讨如何利用NVIDIA NVLink和NVLink-C2C来加速跨GPU的数据传输。
-
并行计算原理与模型
-
CUDA 编程基础
-
核函数(Kernel)编写与执行
-
线程与块的组织结构
-
实战示例:
-
GPU 加速计算案例分析
-
GPU 虚拟化技术
-
GPU 虚拟化的概念与优势
-
NVIDIA vGPU 技术介绍
-
vGPU 的配置与管理
-
vGPU 在云环境中的应用案例
3. 数据的存储与管理
-
数据存储技术
-
存储技术概述:对象存储、块存储、文件存储
-
分布式存储系统:Ceph、GlusterFS
-
数据生命周期管理
-
数据管理与预处理
4. Kubernetes 与 AI 训练
-
Kubernetes 基础
-
AI 训练环境搭建
-
使用 K8S 管理 GPU 资源
-
NVIDIA GPU Operator 介绍
-
AI 训练作业的自动化管理
-
K8S 上的 AI 训练实践
-
构建 AI 训练管道
-
使用 Kubeflow 进行模型训练
-
性能监控与日志收集
5. 推理部署与优化
6. 云计算的运维
-
云原生 AI 架构
-
微服务架构与 AI
-
CI/CD 流水线与模型版本管理
-
使用容器化技术部署 AI 模型
-
云服务选择与配置
-
根据需求选择合适的云服务
-
配置实例类型、存储选项、网络设置等
-
云服务中的 GPU 资源管理
-
云资源管理与优化
-
成本管理与预算控制
-
资源监控与报警
-
弹性与扩展策略
-
云安全与合规性
-
数据安全与加密
-
身份验证与授权
-
安全审计与日志记录
-
多云与混合云架构
-
多云环境的优势与挑战
-
混合云架构设计
-
灾难恢复与备份策略
7. GPU 编程与优化实战
-
高级 CUDA 编程
-
复杂算子实现
-
减少分支分歧
-
使用原子操作
-
高效矩阵运算:矩阵乘法优化
-
复杂数据结构操作:树遍历、图算法
-
异步编程与流管理
-
性能分析与调优
-
使用 Nsight Systems 进行性能分析
-
使用 Nsight Compute 进行内核分析
-
性能瓶颈识别与解决策略
-
CUDA C++ 与 Python 接口
-
使用 cuDNN 进行卷积神经网络加速
-
使用 cuBLAS 进行线性代数运算加速
-
使用 cuSPARSE 进行稀疏矩阵运算加速
-
使用 Thrust 库进行通用并行算法
8. 脚本编写与自动化深入
-
Python 脚本语言
-
使用tensorflow或pytorch训练简单的模型,并使用fabric进行模型的远程部署。
-
使用pandas处理CSV文件,实现数据清洗和转换。
-
使用numpy进行数值计算和统计分析。
-
构建自动化部署流水线,使用fabric或invoke来远程部署代码。
-
使用pytest进行自动化测试。
-
自动化任务
-
数据处理
-
机器学习应用
-
Shell 脚本语言深入
-
编写脚本自动收集和分析日志文件,使用awk和sed进行日志过滤和汇总。
-
使用logrotate进行日志轮换和归档。
-
使用ansible自动部署基础环境,如安装软件包、配置服务。
-
使用make构建自动化任务,如编译代码、打包部署等。
-
编写脚本来监控CPU、内存和磁盘使用情况,并发送邮件通知。
-
使用cron定期执行系统健康检查脚本。
-
Shell 脚本调试与测试
-
Shell 脚本最佳实践
-
系统监控
-
环境部署
-
日志管理
-
脚本调试与优化
-
调试技巧:使用调试器、日志记录
-
性能优化:减少 I/O 操作、并行处理
-
错误处理与异常捕获
-
最佳实践
9. 算力集群调优与维护
-
算力集群架构与设计
-
软件栈设计
-
集群操作系统与管理软件:Slurm
-
工作负载管理与调度
-
集群性能评估方法
-
集群调优策略与实践
-
工作负载管理与调度
-
集群性能评估方法
-
集群调优策略与实践
联系曙海客服