AI 浪潮下,專用晶片將成為 AI 發展中不可或缺且成長快速的一員
2023 年隨 ChatGPT 爆紅,加上各大科技巨頭紛紛投入 AI 的競爭,爭相推出各種 AI 模型、自研 AI 晶片,亦或是購買 (GP)GPU 提升算力,AI 成為了最熱門的話題,彷彿回到了 2000 年網路(.com)的出現一樣,回顧歷史,我們認為,也許一個新的時代,目前也正在開啟,本篇文章將從過去處理器所經歷的一連串因新興應用推出而產生的專用晶片的發展開始討論,進而推論在 AI 浪潮下最重要的硬體基礎就是訓練 AI、 進行 AI 推論運算的各種晶片,也是台灣半導體產業下一波成長的重要機會。
下圖是目前主流處理器發展的過程,以下就會依這個發展順序依序介紹。
資料來源:富果研究部
從上圖可以發現,最早的處理器發展是由 CPU 開始,之後隨著電腦圖形介面的出現,以及遊戲產業的快速發展,而有了 GPU 的圖形專用處理晶片出現,進而帶動了 NVIDIA 過去超過 10 年的一代盛世;2016 年,在 AlphaGo 打敗世界棋王後,機器學習 / 深度學習變成顯學,Google 推出了 TPU 這樣的專責處理器來加速機器學習的運算,而近年來,隨著手機照相要有各種自動修圖、細節處理、還有語音辨識等機器學習或 AI 的應用,NPU 開始廣泛出現在各家手機處理晶片中,在 2023-2024 年這個 AI 快速發展的元年,未來是不是又有什麼應用帶動新的晶片(xPU)成長?這篇文章將帶大家鑑往知來,從過去各種處理器的發展,發掘未來 AI 所帶來的成長可能方向。
中央處理器 CPU(Central Processing Unit)— 所有處理器的總指揮
中央處理器 CPU(以下同),負責執行和處理電腦上主要的工作和運算,可獨立運作,也能調度其他處理器的資源進行運算,是任何電腦設備中不可或缺的一環。
CPU 身為「通用處理器」,能處理所有類型的工作,但對於一些特定應用場景,CPU 逐漸無法有效率的解決這類運算需求,為了分攤 CPU 的運算壓力,從而開始出現各種專用的 xPU,也就是計算卸載(Computation offloading)的概念,將原本 CPU 執行的各種工作,依功能分給對應的「專用 xPU」,讓 CPU 能專注在它最適合的任務上。
註:通用處理器代表各類型的運算都能進行,不會受限於應用,目前僅 CPU 及 GPU 兩種為公認的通用處理器。
這樣的概念下,首顆 xPU 的出現就是目前與 CPU 同為通用處理器的 GPU,以解決圖形處理任務為首要目標。
圖形處理器 GPU(Graphics Processing Unit)— 加速數據運算的重要推手
GPU 前身為圖形加速器,是在電腦進入圖形使用者介面 GUI(Graphical User Interface)的時代,加上各類電動遊戲、街機崛起的背景下所誕生的,功能是在 CPU 進行圖像運算完後,將圖像繪製並顯現在螢幕上。曾紅極一時的 3dfx Voodoo(巫毒卡)就是依靠 3D 圖像處理的優秀性能,在圖形加速卡市場一度擁超過 85%的市佔率。
不過隨電動遊戲開始走進個人電腦、以及 3D 圖像技術發展的遊戲快速成長,圖像運算任務漸趨繁重,從而有 NVIDIA 推出了第一顆 GPU 「GeForce 256」,不同於過往的圖形加速器,GPU 的核心在支持硬體 T&L(註),讓原本 CPU 做的絕大部分運算轉移到 GPU 上,為 CPU 減少大量繁重運算,至此,電腦單機遊戲獲得了硬體 GPU 獨立顯卡的支援,各式大作如雨後春筍的出現,開啟了超過 20 年的 gaming 黃金發展階段。
註:硬體 T&L(Transform & Lighting)指的是圖像晶片內建 T&L 運算單元,讓 GPU 能運算原本 CPU 才能運算的 T&L 資訊,而 T&L 指的便是座標轉換 T(決定視角旋轉後各多邊形的位置)跟光源處理 L(影響物體光線及背後陰影分布、形狀),是在 3D 圖像繪製過程中相當重要的兩部分。
另一個 GPU 應用的突破是 2006 年 NVIDIA 推出的統一計算架構 CUDA(Compute Unified Device Architecture) 技術,解放 GPU 的平行運算能力,也帶來了圖形處理器通用計算 GPGPU(General-purpose computing on graphics processing units)的概念。
GPU 的平行運算能力是來自 GPU 大量的計算單元,而線性代數或矩陣運算的特性適合拆成多個小運算,分散給 GPU 裡大量的compute units 同時運行以提升運算速度。在 CUDA 推出前一直沒被完整開發,主因是沒有合適語言去寫出適合 GPU 進行平行運算的程式。
資料來源:AMD – MI200 GPU 架構圖
註:平行運算概念可參考 NVIDIA DEMO 影片
https://www.youtube.com/watch?v=-P28LKWTzrI&source_ve_path=MjM4NTE&feature=emb_title
隨 CUDA 的推出並開始支援 C 語言,搭配 NVIDIA 自家程式設計模型後,平行運算的程式設計更加便利、直觀,加速 GPU 平行運算能力的開展,GPU 從此不再只能執行圖形運算,更能進行通用運算,也就是所謂的 GPGPU,開始應用到科學、氣象、生物等領域的計算上,也為現今人工智能的發展奠定了良好基礎。
註:CUDA 推出前其實有可編程的 GPU,當時使用 NVIDIA 在 C 語言基礎上所開發的 CG 語言,不過缺點一是新語言需培養人才、市場學習,二是當時主要只給圖像運算使用,所以發展較緩,但為後續的 CUDA 奠定了基礎。
GPU 生態成熟、AI 應用多元化後,各大廠為訓練 AI 模型,對 GPU 的需求也持續提升,因為訓練 AI 模型相當仰賴 GPU 的算力,但問題在 GPU 需消耗大量的運算資源,衍生出龐大運算成本,2023 年隨著大型語言模型 LLM(large language model),更大幅加速了 GPGPU 的需求上升,在供不應求的狀況下,GPU 價格居高不下,對於一些特定應用的場景,其實用不到整個 GPGPU 的能力,用昂貴的全功能 GPU 來處理並不合適,讓許多科技大廠開始另闢蹊徑,選擇了 ASIC 晶片的道路,從而有了 TPU、NPU 的出現。
AI 趨勢發展下誕生的 ASIC 晶片:張量處理器 TPU / 神經網路處理器 NPU
ASIC 是特定應用積體電路(英語:Application Specific Integrated Circuit)的縮寫,指依產品需求不同而全定製的特殊規格積體電路,而張量處理器 TPU(Tensor Processing Unit) 跟神經網路處理器 NPU(Neural-network Processing Unit)都屬於 ASIC 的一種,其發展背景及特性接近,主要有以下幾個共通點:
- 為了尋求低成本的 AI 「專用」運算應運而生
- 須仰賴 CPU 的控制才能運作
- 較 CPU、GPU 具低功耗優勢
- 都是特定應用積體電路 ASIC(Application Specific Integrated Circuit) 晶片
張量處理器 TPU
張量處理器 TPU 是專門用來進行神經網路工作的矩陣處理器,架構上配置了大量的乘法器、加法器及龐大內存記憶體(內存佔晶片面積 37%,同期 NVIDIA K80 GPU 僅佔 10%),大量減少從晶片外訪緩存(外部記憶體)的過程損耗。運行過程是 TPU 從外部記憶體抓完資料給乘法器進行運算後,將運算結果直接傳遞給下個乘法器同時求和,而非存回記憶體,使得運算吞吐量增加的同時也降低了功耗。
2010 年代後,在手機、4G 網路的趨勢下,帶動語音辨識、自動修圖、即時翻譯等應用的大幅成長,都相當仰賴機器學習的基礎,加上 Google 從 2012 年 ImageNet 圖像分類競賽中看到了深度學習的潛力,投入了大量資源推進深度學習,不過當時問題在深度學習極度仰賴 GPU 的算力,需消耗大量運算資源及成本訓練 AI 模型,於是 Google 便於 2015 年推出專用於深度學習的 TPU v1,除了在訓練自家模型上較 GPU 速度、能耗更優秀,也大幅降低了成本。
在 TPU 能耗低、競爭力強(結合雲端業務)的優勢下,推出 2 年後 Google 就宣布讓 TPU 上雲,從原本供自家訓練 AI 為主,拓展到給有 AI 需求、卻沒資金自行建置硬體的開發者及雲端用戶,讓用戶透過付費訂閱制,使用 Google 的 TPU 進行 AI 訓練及推論。
2021 年開始 Google 更將 TPU 配置到 Pixel 6 的自研晶片 Google Tensor 上,當中具代表性的功能可分為語言及照相兩大類。語言部份,透過 Tensor 晶片裝置能在語音轉錄文字時更能清楚理解內容,從而加上標點符號,讓語句看起來更加自然,即時語音翻譯、打字翻譯、語音助理等功能也較其他手機流暢許多;照相部分也是 Pixel 主打的特色,不同於其他廠商透過增加光學鏡頭來提升照相能力,google 則是透過大量的機器學習,在照相當下即時運算,讓不論是夜拍或廣角都有清楚自然的照片外,還推出能清除照片中物件的「魔術橡皮擦」、修復模糊等仰賴 AI 圖像處理的功能,大幅提升了使用者在拍照方面的體驗。
從資料中心到手機的發展,都可看出 TPU 做為 AI 專責運算 IC 重要性,也成為 Google 在 AI 領域自研晶片的發展重心之一。
神經網路處理器 NPU
閱讀進度