English
本課程的中文名稱設定為人工智慧系統,主要講解支援人工智慧的電腦系統設計,對應的英文課程名稱為System for AI 。本課程將交替使用以下詞彙:人工智慧系統, AI-System和System for AI 。
本課程為微軟人工智慧教育與共建社群中規劃的人工智慧相關教學之一,在基礎教學模組下,課程編號與名稱為A6-人工智慧系統。
歡迎造訪微軟人工智慧教育與共建社群的A-基礎教學模組訪問更多相關內容。
近年來人工智慧特別是深度學習技術已經快速發展,這背後離不開電腦硬體和軟體系統的不斷進步。在可見的未來,人工智慧技術的發展仍將依賴電腦系統和人工智慧相結合的共同創新模式。需要注意的是,電腦系統現在正以更大的規模和更高的複雜性來賦能於人工智慧,背後不僅需要更多的系統上的創新,更需要係統性的思維和方法論。同時,人工智慧也反過來為設計複雜系統提供支援。
我們注意到,現在的大部分與人工智慧相關的課程,特別是深度學習和機器學習相關課程主要集中在相關理論、演算法或應用,與系統相關的課程並不多見。我們希望人工智慧系統這門課能讓人工智慧相關教育變得更加全面和深入,以共同促進人工智慧與系統交叉人才的培養。
本課程主要為本科生高年級和研究生設計,幫助學生:
完整的了解支援深度學習的電腦系統架構,並透過實際的問題,來學習深度學習完整生命週期下的系統設計。
介紹前沿的系統和人工智慧相結合的研究工作,包括AI for Systems和Systems for AI,以幫助高年級的本科生和研究生更好的尋找和定義有意義的研究問題。
從系統研究的角度出發設計實驗課程。透過操作和應用主流和最新的框架、平台和工具來鼓勵學生動手實現和優化系統模組,以提高解決實際問題的能力,而不僅僅是了解工具使用。
先修課程: C/C++/Python, 電腦體系結構,演算法導論
課程主要包括以下三大模組:
第一部分,是人工智慧的基礎知識和人工智慧系統的全端概述;以及深度學習系統的系統性設計和方法學。
第二部分,為高階課程,包括最前沿的系統和人工智慧交叉的研究領域。
第三部分,是與之配套的實驗課程,包括最主流的架構、平台和工具,以及一系列的實驗項目。
第一部分的內容將集中在基礎知識,而其他兩部分的內容將隨著學術界和工業界的技術進步而動態調整。後兩部分的內容將以模組化的形式組織,以利於調整或與其他CS的課程(如編譯原理等)結合,作為高階講義或實習專案。
本課程的設計也會藉助微軟亞洲研究院在人工智慧和系統交叉領域的研究成果和經驗,其中包括微軟及研究院開發的部分平台和工具。課程也鼓勵其他學校和老師根據自己的需求添加和調整更多的高級主題,或其他的實驗。
基礎課程
課程編號 | 講義名稱 | 備註 |
1 | 課程介紹 | 課程概述和系統/AI基礎 |
2 | 人工智慧系統概述 | 人工智慧系統發展歷史,神經網路基礎,人工智慧系統基礎 |
3 | 深度神經網路運算框架基礎 | 反向傳播和自動求導,張量,有向無環圖,執行圖論文和系統:PyTorch, TensorFlow |
4 | 矩陣運算與電腦體系結構 | 矩陣運算,CPU/SIMD, GPGPU, ASIC/TPU 論文與系統:Blas, TPU |
5 | 分散式訓練演算法 | 資料並行,模型並行,分散式SGD 論文與系統:PipeDream |
6 | 分散式訓練系統 | MPI, parameter servers, all-reduce, RDMA 論文和系統: Horovod |
7 | 異質運算叢集調度與資源管理系統 | 在叢集上運行DNN任務:容器,資源分配,調度論文和系統:Kubeflow, OpenPAI, Gandiva |
8 | 深度學習推導系統 | 效率,延遲,吞吐量,部署論文和系統:TensorRT, TensorFlowLite, ONNX |
高階課程
課程編號 | 講義名稱 | 備註 |
9 | 計算圖的編譯與最佳化 | IR,子圖模式匹配,矩陣乘和記憶體最佳化論文和系統:XLA, MLIR, TVM, NNFusion |
10 | 神經網路的壓縮與稀疏化優化 | 模型壓縮,稀疏化,剪枝 |
11 | 自動機器學習系統 | 超參調優,神經網路結構搜尋(NAS) 論文與系統:Hyperband, SMAC, ENAX, AutoKeras, NNI |
12 | 強化學習系統 | RL理論,RL系統論文與系統:AC3, RLlib, AlphaZero |
13 | 安全與隱私 | 聯邦學習,安全,隱私論文和系統:DeepFake |
14 | 利用人工智慧來優化電腦系統 | 人工智慧應用於傳統系統問題,人工智慧應用於系統演算法論文與系統:串流媒體系統, 資料庫索引, 系統參數調優, 晶片設計, 預測性資源調度 |
基礎實驗
實驗編號 | 實驗名稱 | 備註 |
實驗1 | 框架及工具入門範例 | |
實驗2 | 客製化一個新的張量運算 | |
實驗3 | CUDA實現與優化 | |
實驗4 | AllReduce的實作或優化 | |
實驗5 | 配置Container來進行雲端訓練或推理準備 | |
高階實驗
實驗6 | 學習使用調度管理系統 | |
實驗7 | 分佈式訓練任務練習 | |
實驗8 | 自動機器學習系統練習 | |
實驗9 | 強化學習系統練習 | |
《人工智慧系統》 教材為微軟人工智慧教育與共建社群中規劃的人工智慧相關教材之一。我們注意到,現在的大部分與人工智慧相關的教材,特別是深度學習和機器學習相關課程主要集中在相關理論、演算法或應用,與系統相關的教材並不多見。我們希望人工智慧系統教材能讓人工智慧系統教育變得更體系化和普適化,共同促進人工智慧與系統交叉人才的培育。
紙本教材《深度學習系統設計:理論與實務》已經出版,歡迎閱讀!
<TBD>
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to you have the right to, and actually do, grant us the rights to you have the right to, and actually do, grant us the rights to you your conbution. cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (eg, status check, comment). Simply follow the instructions provided by the bot. You to on ly need. once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
Microsoft and any contributors grant you a license to the Microsoft documentation and other content in this repository under the Creative Commons Attribution 4.0 International Public License, see the LICENSE file, and grant you a license to any code in the repositee the LICENSE-CODE file.
Microsoft, Windows,微軟Microsoft names, logos, or trademarks. Microsoft's general trademark guidelines can be found at https://go.microsoft.com/fwlink/?LinkID=254653.
Privacy information can be found at https://privacy.microsoft.com/en-us/
Microsoft and any contributors reserve all other rights, whether under their respective copyrights, patents, or trademarks, whether by implication, estoppel or otherwise.