課程概述
本研修課程旨在為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
-
工作負載管理與調度
-
集群性能評估方法
-
集群調優策略與實踐
-
工作負載管理與調度
-
集群性能評估方法
-
集群調優策略與實踐
聯系曙??头?/span>