做人工智慧晶元,最好學學這幾本書

最近總有同學問我,要是對人工智慧晶元領域感興趣,該怎麼「入門」?我假設大家有計算機或者電子的背景,那麼這四本書應該可以覆蓋所需的知識。

更新:架構方面增加「Computer Organization and Design RISC-V Edition」,相較「Computer Architecture: A Quantitative Approach」,用這本書「入門」可能更好操作一些(特別是RISC-V有很多資源可以參考和實踐)。


演算法

領域的演算法知識是設計專用晶元的基礎,必須掌握。目前深度學習很火,參考資料也非常多。相對來說,這本書雖然比較枯燥,但基本包括了演算法方面必備的知識,可以作為基礎。

目錄:

  • 1 Introduction
  • Part I: Applied Math and Machine Learning Basics
  • 2 Linear Algebra
  • 3 Probability and Information Theory
  • 4 Numerical Computation
  • 5 Machine Learning Basics
  • Part II: Modern Practical Deep Networks
  • 6 Deep Feedforward Networks
  • 7 Regularization for Deep Learning
  • 8 Optimization for Training Deep Models
  • 9 Convolutional Networks
  • 10 Sequence Modeling: Recurrent and Recursive Nets
  • 11 Practical Methodology
  • 12 Applications
  • Part III: Deep Learning Research
  • 13 Linear Factor Models
  • 14 Autoencoders
  • 15 Representation Learning
  • 16 Structured Probabilistic Models for Deep Learning
  • 17 Monte Carlo Methods
  • 18 Confronting the Partition Function
  • 19 Approximate Inference
  • 20 Deep Generative Models

架構

目錄:

  • Computer Abstractions and Technology
  • Instructions: Language of the Computer
  • Arithmetic for Computers
  • The Processor
  • Parallel Processors from Client to Cloud
  • Multiprocessors

APPENDIX

  • The Basics of Logic Design
  • Graphics and Computing GPUs
  • Mapping Control to Hardware
  • Survey of RISC Architectures for Desktop, Server,and Embedded Computers

目錄:

  • Computer Design
  • Chapter 2 Memory Hierarchy Design
  • Chapter 3 Instruction-Level Parallelism and Its Exploitation
  • Chapter 4 Data-Level Parallelism in Vector, SIMD, and GPU Architectures
  • Chapter 5 Thread-Level Parallelism
  • Chapter 6 Warehouse-Scale Computers to Exploit Request-Level and Data-Level Parallelism
  • Appendix A Instruction Set Principles
  • Appendix B Review of Memory Hierarchy
  • Appendix C Pipelining: Basic and Intermediate Concepts
  • Appendix D Storage Systems
  • Appendix E Embedded Systems
  • Appendix F Interconnection Networks
  • Appendix G Vector Processors in More Depth
  • Appendix H Hardware and Software for VLIW and EPIC
  • Appendix I Large-Scale Multiprocessors and Scientific Applications
  • Appendix J Computer Arithmetic
  • Appendix K Survey of Instruction Set Architectures
  • Appendix L Historical Perspectives and References

這本書不用解釋了,如果沒看過,一定要看;如果你看過,要問自己是不是真正掌握了。

實現

這本書嚴格來說不能算是技術書,但它是了解整個IC產業,以及晶元從設計到實現的完整流程的很好參考。稍有遺憾的是後續沒有更新,一些新的變化可能需要延伸閱讀。

目錄(這本書內容覆蓋面很廣,所以下面列出完整的目錄):

  • 1 Industry Perspectives
  • 11 Semiconductor Industry
  • 12 Fabless Industry
  • 13 Key Points
  • 2 The Big Picture
  • 21 Electronics Markets
  • 22 The Global Opportunity
  • 23 Some Challenges in Today』s Electronics Marketplace
  • 24 Understanding the Value Chain
  • 25 Customer Needs
  • 26 Overview of Fabless Company Development Activities
  • 27 Key Points
  • 3 Lifecycle of a Fabless IC Company
  • 31 Getting Started
  • 32 Business Plan
  • 33 Funding Process
  • 34 Development Cycle—the Four Phases
  • 35 Roadmap of Products
  • 36 Exit Strategies
  • 37 Long Range Strategies
  • 38 Key Points
  • 4 Selecting the Implementation Approach
  • 41 FPGA, Gate Array ASICs, Semi-custom ASICs
  • 42 If You Had a Fab (IDM)
  • 43 Fabless Sourcing Models (ASSP, COT, ASIC)
  • 44 Design Strategies
  • 45 Key Points
  • 5 Selecting the Technologies
  • 51 Introduction
  • 52 Considerations to Pick the Right Technology
  • 53 Cost per Function (CPF)
  • 54 CPF Reduction from Technology Scaling
  • 55 Die Cost Reduction by Increasing Wafer Size
  • 56 Foundry Financials and Technologies
  • 57 Process Technologies
  • 58 CMOS Challenges
  • 59 The Design Ecosystem
  • 510 Process Alternatives
  • 511 Nanotechnology Co-design Solutions
  • 512 Packaging Consideratons
  • 513 Key Points
  • 6 Implementing the COT Approach
  • 61 Introduction
  • 62 Design Flow and Supply Chain
  • 63 Implementation Time Line
  • 64 Silicon Prototyping and Production
  • 65 Packaging Considerations
  • 66 Test Considerations
  • 67 Quality and Reliability Considerations
  • 68 Supply Chain Considerations
  • 69 Operations Best Practices
  • 610 Operations Effort and Resources
  • 611 Resource Skill Sets
  • 612 Production Operations Activities and Processes
  • 613 Key Points
  • 7 Managing Cost
  • 71 Unit Cost Estimation
  • 72 Optimizing the Die Size and Packing Density per Chip
  • 73 Development Cost
  • 74 Development and Operations Costs
  • 75 Overall Development Cost Estimation
  • 76 Some Cost Tradeoffs
  • 77 Key Points
  • 8 Managing Quality
  • 81 Quality Manual
  • 82 Documentation System
  • 83 Quality in the Development Phase
  • 84 IC Quality and Reliability Qualifi cation
  • 85 Manufacturing Quality
  • 86 Customer Support
  • 87 Key Points
  • 9 Managing the Implementation Program
  • 91 Management at the Vertically Integrated Company
  • 92 Management of the Distributed Supply Chain
  • 93 Comparison of Management Processes
  • 94 Relationship and Partnership Management
  • 95 Program Management
  • 96 Risk Management
  • 97 Design Productivity
  • 98 Key Points
  • 10 Future Trends
  • 101 Industry Stratifi cation and Opportunities
  • 102 Funding
  • 103 Alternatives to the IDM Model
  • 104 Virtual 「Re-Integration」/IFM
  • 105 Order Entry Methodology
  • 106 Managing Innovation
  • 107 The Role of Research Organizations
  • 108 Key Points
  • Appendices
  • A1 Business Plan Example
  • A2 Term Sheet Outline
  • B1 Transistor Scaling
  • B2 Yield Models
  • B3 Quality

編譯

個人感覺區別一個晶元設計者和晶元架構師的差別很大程度在於他對軟體的理解(還包括對產品和產業的理解,即上一本書的內容)。現在很少有不運行軟體的硬體,硬體的效能是由軟體介面體現的。而編譯器作為傳統上硬體和軟體最基本的橋樑,是升級你對硬體的理解應該了解的東西,特別是編譯優化(optimization)和run-time的相關內容。

目錄:

  • 1 Introduction
  • 2 A Simple Syntax-Directed Translator
  • 3 Lexical Analysis
  • 4 Syntax Analysis
  • 5 Syntax-Directed Translation
  • 6 Intermediate-Code Generation
  • 7 Run-Time Environments
  • 8 Code Generation
  • 9 Machine-Independent Optimizations
  • 10 Instruction-Level· Parallelism
  • 11 Optimizing for Parallelism and Locality
  • 12 Interprocedural Analysis
  • A A Complete Front End
  • B Finding Linearly Independent Solutions

除了第一本書之外,其它幾本其實是設計任何晶元都應該熟悉的內容(對編譯的理解算加分項吧)。而每本書涉及的範圍也很廣,真正搞懂並不容易,這一點從大家的評論也可以看出來。但你一旦真搞懂了,你的知識結構基本就沒有什麼死角了。另一方面,這也是你能夠融會貫通,舉一反三的起點。

這裡其實還缺了一個環節,就是晶元設計(把演算法和架構變成可以實現的電路的過程)。比如我之前寫過一本《數字IC設計:方法技巧與實踐》主要覆蓋設計語言,EDA工具等內容。不過這些主要是些技巧和經驗,在實踐中可以很快掌握,需要的時候查一下資料也就可以了。另外,這些內容主要是和數字晶元相關,針對目前比較流行的Deep Learning處理器;基於模擬電路的設計,我不是很熟悉,也就不推薦了。

有了這些背景知識,如果需要快速了解更有針對性的內容,可以看看我關於AI/ML/DL硬體的文章。

T.S.

歡迎關注我的微信公眾號:StarryHeavensAbove

題圖來自網路,版權歸原作者所有


推薦閱讀:

進軍最高水平精密製造--中國的集成電路製造業
模擬IC設計進階課程內容簡介
腦芯編(2):神經網路,卷積及硬體加速
電路大師課系列-模擬集成電路設計第六講:EKV模型(上)

TAG:人工智能 | 芯片集成电路 | 深度学习DeepLearning |