開始玩

← fab24hr 專欄

看懂晶片新聞約 5 分鐘

新聞說的「AI 晶片」是什麼?跟一般處理器差在哪

新聞常說的「AI 晶片」,是專門拿來跑 AI 的晶片的統稱。它最拿手的,是同時做非常多個很簡單的乘法和加法;一般的處理器(CPU)做這件事就慢得多。資料中心裡的繪圖處理器(GPU)、專為 AI 設計的加速器、手機裡那一小塊 NPU,新聞都可能叫它 AI 晶片,也有人叫 AI 半導體。先從 AI 在算什麼說起。

AI 到底在算什麼?

AI 模型裡裝著一大堆數字。用它的時候,做的事很像結帳:每樣東西的數量乘上單價,再全部加起來。

用認照片當例子。照片對電腦來說是一大串數字,記著每一個點的亮度和顏色。模型把每一個點的數字乘上自己的一個數字,全部加起來,得到一個分數;換一組數字,又是另一個分數。下一層拿這些分數當新的「數量」,再乘、再加。一層一層下去,最後的分數,就是「這張是貓」的可能有多大。

這種計算有三個特點:

  • 每一步都很簡單:乘一下、加一下。
  • 次數非常多:大的模型裡有幾十億個數字以上。聊天機器人每吐出一小段字,大量的數字都要拿來乘一次、加一次。
  • 大多互不相干:這一張帳單不用等那一張算完,可以同時算。

所以 AI 要的不是「一個算得很快」,而是「一次算很多個」。

一般處理器(CPU)擅長什麼?為什麼做 AI 比較慢?

CPU 是中央處理器,電腦和手機裡照著程式做事的那一塊。它一般有幾個到幾十個「核心」,每一個都能獨立做事,而且都很強:程式走到「如果……就……」的岔路,會先猜下一步;手邊還放著快取記憶體,要用的資料伸手就拿得到。它像幾位資深的會計師,什麼帳都會做,最適合開 App、跑網頁這種常要轉彎的事。

可是 CPU 每做一步,都要先讀一道指令、弄清楚要做什麼、再去拿數字。這些準備用的電,常常比那一次乘法本身還多。遇到幾十億次乘加,幾十個核心得排很久的隊。所以 AI 系統裡的 CPU 多半負責安排工作,乘加交給別人。

繪圖處理器(GPU)怎麼「一次做很多」?

GPU 原本是為了畫面做的。一個常見的螢幕有兩百多萬個點,每一點的顏色都用同一套算法各自算,一秒還要換好幾十張。所以它跟 CPU 反過來:放成百上千個比較簡單的計算單元,一道指令讓一大群單元同時動手,各算各的數字。

像一整個禮堂的人,每人一台計算機,聽到口令一起按。AI 的乘加剛好也是「同一件事做在很多數字上」,所以 GPU 後來被大量拿來跑 AI,新一代的 GPU 也加進了專門算乘加的單元。

專門的 AI 加速器又是什麼?

既然 AI 大部分是乘加,就把晶片上更多的地方拿來放乘加單元。常見的排法是方陣:數字從左邊和上面一格一格送進來,每一格乘一下、加一下,再傳給隔壁那一格。像排成一列傳水桶,數字搬進來一次,就在方陣裡被用很多次。這種排法,大學的研究在 1970 年代末就提出了。

另一招是少用幾位數。電腦裡的數字是一串 0 和 1,每一個叫一個位元,位元越多寫得越精細。AI 常常用 16 位元、8 位元甚至更少就夠了。乘法電路的大小大約跟位數的平方成正比:位數減一半,電路大約剩四分之一,同一塊地方放得下更多個,也更省電。

代價是不靈活,換別的工作就不行:GPU 像通才,加速器像專才。

為什麼 AI 晶片那麼吃記憶體?

乘加單元再多,數字送不進來也是白搭。模型的數字多到放不進晶片,大部分放在旁邊的記憶體,要用才搬過來,搬資料常常比算還花時間、還耗電。所以 AI 晶片旁邊常貼著好幾疊特別的記憶體,叫 HBM(新聞說的「HBM」是什麼?)。處理器和記憶體怎麼分工,見「記憶體和處理器差在哪?」。

為什麼要用最先進的製程和封裝?

乘加單元是用電晶體組成的,電晶體就是用電控制的小開關(電晶體是什麼?)。新一代的製程,同樣大的地方放得下更多電晶體,每次開關用的電也更少(新聞說的「2 奈米」、摩爾定律是什麼?)。AI 晶片要塞很多乘加單元,又很耗電,兩件事都需要新一代。

可是晶片不能無限大:有些大的 AI 晶片,已經差不多到了曝光機一次印得下的上限,晶片越大,良率也越低。想再多放運算和記憶體,就把好幾顆晶片並排或疊起來,包在同一個封裝裡,這就是新聞說的「先進封裝」。

「訓練」和「推論」用的晶片差在哪?

訓練是教模型。一開始模型裡的數字是亂的:給它一個例子、算出答案、跟正確答案比,再倒回去算每一個數字該往哪邊調一點,這樣重複非常多次。每看一個例子,要算的大約是只算一遍的三倍,每個數字旁邊還要記著該怎麼調。所以訓練常要很多顆大晶片接在一起,連續算好幾天到好幾週,數字也要寫得比較精細。

推論是用學好的模型回答問題。數字已經固定,只要往前算一遍。每一次算得少,可是每個人每用一次就算一次,而且要快。很多時候用 8 位元這種比較粗的數字也夠。所以推論用的晶片更在意省電、反應快。很多晶片兩種都能做,差在設計時偏重哪一邊。

手機裡也有 AI 晶片嗎?

有,通常是手機主晶片裡的一小塊。手機主晶片把 CPU、GPU 和很多部分做在同一顆上(SoC 是什麼?),其中專做 AI 乘加的那一塊,常叫 NPU(神經網路處理器)。它做推論,例如整理照片、認出你的臉、把說的話變成文字。手機能長時間用的電只有幾瓦,所以它特別講究省電;太大的模型,還是送到資料中心去算。

下次看到新聞,可以這樣讀

  • 「AI 晶片供不應求」:資料中心用的大晶片做得不夠多。卡住的也可能是旁邊的記憶體或封裝。
  • 「訓練晶片」「推論晶片」:前者偏重教模型,後者偏重用學好的模型回答問題、更在意省電。
  • 「手機內建 NPU」「裝置端 AI」:手機主晶片裡有一塊專做 AI 乘加的地方,有些 AI 功能直接在手機上算。
  • 「客製化 AI 晶片」「ASIC」:為某一種工作專門設計的晶片(特殊應用積體電路),只做那件事,比通用的省電。

在 fab24hr 裡

遊戲裡沒有 AI 晶片,也沒有疊起來的封裝。主線「晶片的一生」的「螢火」,是一顆虛構的助聽器晶片:它最在意待機省電,用的是成熟的一代製程。

可是每一顆晶片都要走同樣幾段路(晶片是什麼?)。在晶圓廠,晶圓一層一層做出來:黃光印圖案、蝕刻照著刻、量線寬。到了封測廠,先針測每一顆,切割之後只拿好的去封裝,封好再做成品測試。按「進廠」、選「打工人的一天」,在「今天你是」卡片上點「量產廠」或「封測廠」,左右滑到製程工程師(再在名字下面點「黃光」或「蝕刻」)、測試工程師或封裝製程工程師,都碰得到;主線第 10 章「待機電流」、第 11 章「球掀起來了」也是測試和封裝。

遊戲裡的公司、晶片、人物都是虛構的;AI 晶片的部分照公開的一般資料寫,沒有統一數字的地方只寫量級。其他行話可以到「半導體晶圓廠的行話,白話解釋」查。

在遊戲裡你會在哪裡遇到它遊戲裡沒有 AI 晶片:主線「晶片的一生」的「螢火」是一顆虛構的助聽器晶片。可是印圖案、照著刻、測試、封裝這幾段路,每一顆晶片都要走:在「打工人的一天」選量產廠的製程工程師,或封測廠的測試工程師、封裝製程工程師,都碰得到。

fab24hr 裡沒有 AI 晶片;可是印圖案、刻、測、包,每一顆晶片都要走,遊戲裡每一站都有人顧著。

進廠,看一顆晶片怎麼一站一站做出來

給老師:這一篇可以搭配「在課堂上玩 fab24hr」用在課堂上。

其他文章

這個網站的其他頁