流水號
35098
課號
CSIE5373
課程識別碼
922 U4620
無分班
- 3 學分
必修 / 選修
資料科學碩士學位學程 / 資訊工程學研究所 / 資訊網路與多媒體研究所
資料科學碩士學位學程
資訊工程學研究所
資訊網路與多媒體研究所
必修選修- 洪士灝
- 搜尋教師開設的課程
電機資訊學院 資訊工程學系
hungsh@csie.ntu.edu.tw
- 資訊工程系館 3樓 320室
02-33664888-320
- 一 6, 7, 8
資105
2 類加選
修課總人數 50 人
本校 40 人 + 外校 10 人
領域專長
計算機結構
- 中文授課
- 核心能力與課程規劃關聯圖
- 備註須具備計算機結構與作業系統之基礎。
- 修課限制
限學士班三年級以上
本校選課狀況
載入中- 課程概述近年巨量資料與人工智慧的快速發展,創造許多新興的應用,為了對於更大量的資料進行分析處理以及追求更強大的人工智慧,許多國家級的科技研究乃至於大型商業應用都開始採用高效能計算(超級電腦)技術來提升競爭力,而如今的高效能計算平台也紛紛開始支援重要的巨量資料與人工智慧應用,因此高效能計算成為帶動前瞻科技的火車頭之一。 然而高效能計算平台包含一些進階的技術,包括異質計算、平行計算、分散式處理、高速網路等,往往必須透過軟硬體整合優化的方式,才能打造出高效能與高效率的系統和應用,因此能夠善用高效能計算平台的人才並不多見。對此一領域有興趣的學生,即便修習多項相關課程,恐怕仍然無法完整涵蓋此領域之基本知識與技能,更難以將多門課程所學到的東西加以整合運用。 針對以上所述之需求與門檻,本課程將採用問題導向式教學法(Problem-Based Learning),以巨量資料與人工智慧領域中的實務問題為核心,教授相關的高效能計算知識與技能,並且鼓勵學生進行小組討論、論文研讀、期末專題,以培養學生主動學習、批判思考和問題解決能力。
- 課程目標在一學期的課程中,我們將探討各類型巨量資料與人工智慧應用常遇到的系統議題,探討如何打造高效能的系統。學生將學習埋藏在系統內部的關鍵技術,包括系統架構、軟體框架、軟硬體整合與優化,以及最新的技術發展趨勢。 在一學期的課程中,我們將探討: (一) 平行與分散式計算原理 (二) 高效能計算的軟硬體架構 (三) 高效率的巨量資料儲存與分析系統 (四) 高效率的人工智慧訓練與推論系統 (五) 資訊安全與隱私保護 (六) 系統效能評估與優化實際案例。以上的每個階段,都包含了軟硬體整合與優化的議題,本課程除了介紹相關的系統架構、軟體框架之外,也將帶領學生探討最新的技術發展趨勢以及應用個案。
- 課程要求課堂討論;課後作業;期末專題提案;期末專題報告;
- 預期每週課後學習時數3 hours
- Office Hour
Please contact the teacher and the TA. We have two TA's: 何明倩 (Ms. Ho):r11944009@ntu.edu.tw 劉盛興(Mr. Liu):r11922123@ntu.edu.tw
- 指定閱讀投影片、參考書籍與論文
- 參考書目上課時提供
- 評量方式
15% Final Project Proposal
Propose a final project to investigate on performance issues related to HPC, big data and/or AI applications. The proposal should be innovative and meaningful.
40% Class Attendance
Attend at 11 lectures and participate in classroom discussions. There might be homeworks.
25% Final Project Presentation
Investigate on issues raised by the proposed project. Find and evaluate potential solutions. Present and discuss the results.
20% Mid-term Exam
Evaluate how students learn.
- 針對學生困難提供學生調整方式
調整方式 說明 上課形式 以錄影輔助
提供學生彈性出席課程方式
作業繳交方式 書面報告取代口頭報告
學生與授課老師協議改以其他形式呈現
考試形式 延後期末考試日期(時間)
其他 由師生雙方議定
- 課程進度
2/20第 1 週 2/20 Introduction to the course: What is high-performance computing (HPC)? Why do we want to build high-performance systems? Why high-performance is important to big data analytics and AI applications? How to design high-performance systems for big data analytics and AI applications? 2/27第 2 週 2/27 Holiday 3/6第 3 週 3/6 Overview of high-performance computing and basics of parallel computing: Why do we need parallel computing? What are the paradigms for parallel computing? How to pursue high-performance with parallel computing in practice? Where are the performance bottlenecks and how to identify them? How to practice performance analysis? 3/13第 4 週 3/13 (Recorded Video) Big-data systems: concept and implementation issues. How to store petabyte-scale big data in high-performance cluster filesystems such as HDFS? How to process big data in datacenter with Hadoop MapReduce? Other than parallel computing, the key is data locality and the trick is colocation. How to accelerate data processing with in-memory computing? Lots of open source middleware projects are available for you to explore. 3/20第 5 週 3/20 AI systems: Basics and implementation issues. Many AI applications contain lots of parallelism, and parallel computing can effectively accelerate these applications. Parallel algorithms have been developed for search and expert systems before the last AI Winter. Datacenter and GPU clusters are keys to open the deep learning era. How to train deep learning models with thousands of GPUs in the datacenter? 3/27第 6 週 3/27 Edge-cloud computing and system software: Cloud computing, mobile computing, Internet of Things (IoT), autonomous driving, robots... Everything is connected and needs better mechanisms (system software?) to work together via networks. How do things connect? How do they collaborate efficiently? 4/3第 7 週 4/3 Holiday 4/10第 8 週 4/10 Information security and data privacy: How to protect data? There are security protocols and cryptographic methods for this purpose. The real new challenges today are to perform big data analytics and develop AI models under data protection. How to do it with techniques such as trusted computing hardware (SGX), federated learning, secure multiparty computation, and homomorphic encryption? 4/17第 9 週 4/17 Domain specific accelerators and heterogeneous computing: How to estimate the performance for neural networks with or without deep learning accelerators? How to find good neural networks for your application with platform-aware neural architecture search (NAS)? How to compress a neural network to reduce its resource consumption? 4/24第 10 週 4/24 Large language models: How to train large language models such as GPT3? What are performance issues and the frameworks to address those issues? Can we compress a LLM to run on PC? 5/1第 11 週 5/1 Midterm Exam Post-Moore - Neuromorphic computing and quantum computing: The increase of computing performance has depended on the Moore's Law for the past 60 years, but the Moore's Law is slowing down and will eventually ends. How to continue improving the capability of big data analytics and AI in the post-Moore era? 5/8第 12 週 5/8 Final Project Proposal 5/15第 13 週 5/15 Advanced Topics (HPC) - TBD 5/22第 14 週 5/22 Advanced Topics (Big Data) - TBD 5/29第 15 週 5/29 Advanced Topics (AI) - TBD 6/5第 16 週 6/5 Final Project Presentation