我是一名教通信芯片設計基礎的大學老師,也是這個號「網絡交換FPGA」的作者——老讀者知道,這個號平時聊的是交換芯片、網絡加速和 FPGA 設計。
今年 2 月,我刷到一條新聞:加拿大公司 Taalas 把 Llama 大模型的全部參數,直接"寫死"進了硅片——出 token 的速度沖到 17000 個/秒,是英偉達 GPU 的 70 多倍,功耗只有 200 瓦。
盯著這條新聞,我冒出一個念頭:這種"把大模型焊進芯片"的本事,能不能讓我的本科生,用一學期練出個雛形?
同事聽完直搖頭:訓練、量化、硬件設計、上板調試,這是四個工種的活,研究生課題組的工作量。
我還是把題出了。
一學期后,四個學生交上來的東西讓我在辦公室坐了很久。讓我動容的不是他們成功了——而是一張他們主動打印出來的"失敗"截圖。
這篇文章講三件事:他們怎么把"迷你 GPT"塞進一塊 3.9 瓦的芯片;那張失敗截圖為什么比滿分答卷更值錢;以及我出這道題的真正意圖——一個可能屬于未來十年的方向。
驗收演示在一個字符界面的串口終端上進行。學生敲下一句話,芯片這樣回答:
You> ROMEO, speak to Juliet
AI> Romeo would turn toward Juliet
and say: the night is deep,
yet love keeps a bright signal.回答問題的不是云端服務器,而是桌上一塊 FPGA 開發板。

沒有操作系統,沒有網絡,沒有顯卡。功耗 3.9 瓦——大約是充電寶給手機充電的功率。
它連自我介紹都帶著戲味:"FPGA 出借它的矩陣引擎,而我小小的記憶把回答編成清晰的舞臺腔。"

▲ 板端實測截圖。注意統計欄里 PL_matmul_calls=1 這個數字,它是后面的伏筆
不過我當場就按下了一個疑問:
這段對話,流利得有點過分了。
一個塞進 3.9 瓦芯片的迷你模型,真能說出這么工整的句子?先記住這個疑問,第 06 節揭曉——那里藏著這個項目最值錢的東西。
學生們的藍本是 Karpathy 的 nanoGPT:6 層、384 維、詞表只有 65 個字符,用莎士比亞全集喂大。
它和 ChatGPT 是同一個物種(Transformer),只是體型從大象縮到了倉鼠。
這一步真正值錢的產出不是模型,而是一套逐層金標準:把每一層的輸入輸出全部存檔,往后硬件每做一步,都拿它來對答案。
先立標尺,再動手——這個習慣貫穿了整個項目,也是我最想讓學生帶走的東西之一。
32 位浮點的模型太胖,塞不進芯片。
他們用 INT8 量化把參數壓成 8 位定點數——好比把精裝菜譜抄成便簽紙:紙薄了 4 倍,菜的味道基本不變(困惑度回退控制在 10% 以內)。
權重、縮放系數、金標準統一導出成 C 頭文件。軟硬件從此共用一套賬本,誰算錯了一查便知。

GPU 像標準化大工廠,什么活都接但耗電驚人;FPGA 像一盒電子樂高,可以為每道工序單獨搭一條流水線。
先交代平臺底盤,給同行一個資源概念。目標器件是 Zynq UltraScale+ MPSoC,xczu7ev-ffvc1156-2-i:PL 側 23 萬 LUT、46 萬 FF、1728 個 DSP48E2、312 塊 BRAM36 外加 96 塊 UltraRAM,PS 側四核 Cortex-A53。工具鏈統一 2024.2,PL 時鐘 100 MHz,HLS 綜合目標周期 10 ns。
他們用 Vitis HLS 實現了 11 個 INT8 加速核,把 Transformer 的每個算子都變成一塊硬件電路:

▲ 系統全景:軟件側導出模型資產,ARM 調度,FPGA 里 11 個加速核干活
主角是矩陣乘引擎 matmul_int8_v2:單實例 64 個 DSP48E2、16 路并行乘累加,核心循環列方向分塊、累加器數組完全劃分、內層 UNROLL;三個獨立 m_axi 通道分別承載輸入、權重、輸出,64 拍突發把 DDR 帶寬喂飽。接口統一 AXI4-Master 搬數 + AXI4-Lite 控制、ap_ctrl_hs 握手——PS 寫指針寄存器、置位 ap_start、輪詢 ap_done 即可驅動。
全部 11 個核在 100 MHz 下時序閉合,C 綜合估計關鍵路徑 7.3 ns,對應最高約 137 MHz,留了 37% 的裕量——考試要求 60 分,考了 82 分。
更讓我意外的是驗證的完成度。他們用 QuestaSim 把綜合后的電路網表全部重新仿真了一遍,核心乘累加單元的激勵里,特意塞了 127、-128 這樣的 INT8 邊界值,語句覆蓋率 100%。

會主動打邊界值的工程師,和只測"1+1=2"的工程師,完全不在一個段位。
這個設計讓我印象深刻:開機后串口菜單的第 5 項,赫然是**"大作業驗收指標自檢"。**
我不用翻報告——按一個鍵,芯片自己跑完全部驗收項,逐項打印 PASS/FAIL。
矩陣乘自檢用的例子,小學生都能驗算:

▲
誤差為 0。 這意味著這條鏈路上從量化、內存搬運到 DSP 陣列,沒有丟一個比特。
文本生成演示連續輸出超過 100 個 token,逐 token 延遲滿足 200 ms 指標,五項板級驗收全部通過。
他們甚至做了雙版本。給同行報一下 Vivado 實現后的關鍵數據:
低資源版(交付版):matmul_int8×1 精簡鏈路,LUT 12%、FF 8%、BRAM 4%、DSP 僅 3%;WNS +4.786 ns、TNS 為 0,無失敗端點;片上功耗 3.901 W,結溫 28.8 ℃。
高資源版(探索版):四路 matmul_int8_v2 并行,LUT 52%、FF 27%、BRAM 11%、DSP 46%;WNS +1.614 ns、TNS 同樣為 0;功耗 4.612 W,結溫 29.5 ℃。
兩版同一器件、同一驗證流程,全部時序收斂。WNS 還剩 4.7 ns 的設計意味著什么,常跑時序收斂的朋友都懂——這不是"勉強過",是"余量大到能再翻倍提頻"。
先保一個穩的,再沖一個快的。這份風險管理意識,成熟得不像學生作業。
現在回收第 01 節的疑問:那段莎劇腔對話,為什么流利得過分?
答案在統計欄里:PL_matmul_calls=1——每次回復只調用了 1 次硬件矩陣乘。
而在這套實現里,完整模型每生成一個 token,平均要調用 73 次矩陣乘。
也就是說,那條對話通道是"硬件在環"的演示:它真實驅動了 FPGA 的矩陣引擎,但臺詞并非完整模型逐字算出來的。
關鍵在于:這不是遮掩,是設計。
他們在固件里把演示和真相明確分開,并把完整 6 層模型的真實運行結果,也原樣打印了出來:
AI> ..........
my soul,
He is very hath some touch heirs
[raw full-model sample;
quality gate failed]
avg_ms_per_token = 777 (目標≤200)
status = FAIL/PARTIAL"He is very hath some touch heirs"——語法破碎、似通非通。這才是一個 INT8 迷你模型在真實硬件上的本來面目。
每 token 777 毫秒,是指標的近 4 倍。固件自動判定不合格,并打印:請把本次運行當作 FAIL/PARTIAL證據。

▲ 全項目信息量最大的一屏:破的文本、完整演示歸演示,真相歸真相。這種"把丑話寫進固件"的誠實,比流利的臺詞珍貴得多。
而且這張截圖直接給出了因:

▲ 77.8 秒里,95.5% 在做矩陣乘——大頭是權重反復進出內存。
不是乘法器算得慢,而是"跑腿"太多:就像廚師手藝再快,每炒一道菜要跑 73 趟倉庫領原料,飯點必然來不及。
優化方向也隨之浮現:讓權重駐留在片上,不再搬家。
記住這個結論,它馬上要和開頭那條新聞接上了。
論速度,RTX 5090 以 1.93 ms/token 碾壓全場。
但按"每生成一個 token 花多少能量"排名,冠軍換人。

▲ 每 token 能量:FPGA ≤780 mJ,反超所有平臺(按 200 ms 達標口徑估算)
要誠實地補一句:這頂冠軍帽按達標口徑計,777 ms 的實測若不優化,優勢不成立——能否兌現,恰恰取決于上一節定位出的瓶頸。

但方向清楚了:手機、機器人、衛星、助聽器,這些既沒有 575 瓦電源、也塞不下顯卡風扇的地方,正是大模型落地的下一站。
很多同行問我:這個工作量,本科生怎么可能一學期完成?
答案在報告的"AI 協同開發"一節:11 個加速核,都是學生用自然語言描述需求,AI 編程助手生成初版,再拿綜合工具的反饋迭代優化,直到達標。
AI 負責產出,人負責守門。
守門靠什么?靠第 02 節就立好的金標準,靠第 04 節的邊界值仿真,靠第 06 節那張自動判 FAIL 的截圖。
需求提得越準、驗證網織得越密、證據留得越誠實,AI 的杠桿就越大。
他們甚至還有余力做了道沒人要求的附加題:用 hls4ml 把 LeNet-5 手寫數字識別也部署上板,10 張測試圖全對。

回到開頭那條新聞。
Taalas 把 Llama 3.1 8B 寫死進硅片,代價是這顆芯片一輩子只能跑這一個模型,回報是 17000 token/s——是最快對手的 9 倍、GPU 的 70 多倍。
原理和第 06 節那張失敗截圖說的是同一件事:
大模型推理 95% 的時間不是在算,而是在搬權重。權重不搬家,速度翻兩個數量級。
Taalas 還有一個更重要的數字:靠只改兩層金屬掩膜的工藝,為一個新模型定制芯片,只要兩個月。定制芯片正在從巨頭的奢侈品,變成可以下單的工業品。
所以我把這道題出給了學生。FPGA 可重構、試錯成本低,是定制芯片的天然練兵場;走通"模型 → 量化 → 硬件 → 驗證"這條鏈路的人,將來就有能力做一件事。這件事,我想給它起個名字:
專用定制大模型芯片。
不追求什么都會的萬億參數,而是把一個領域的專家知識蒸餾進 30 億級的小模型,固化進專屬硬件。
賬算得過來:30 億參數 INT4 量化后約 1.5 GB,一塊帶 HBM 的 FPGA 就裝得下,兩到四片級聯能跑 70 億級。硬件投入十幾萬,之后 token 無限量、出詞飛快、數據不出門——而 8 卡 H100 服務器兩百萬起步。
哪些領域最適合?四條標準:詞表窄、任務閉、延遲或隱私敏感、不需要開放世界知識。
當然有坑:小模型會一本正經地胡說,高價值領域必須配驗證層——這恰是"金標準對拍 + 自動判 FAIL"思維的放大版:讓系統知道自己什么時候不可信。
萬卡集群賣的是"什么都會",定制專用大模型芯片賣的是"這件事上無限量、飛快、不出門"。
Taalas 驗證了通用模型的固化路線。而各行各業的專家模型定制,是一片剛剛顯形、還沒人插旗的開闊地。
這道大作業,就是為將來去插旗的人準備的第一課。
有讀者可能會問:幾片 FPGA 級聯跑大模型,是不是老師你的一廂情愿?
還真不是。前段時間為了寫一份項目申報書,我把近幾年 FPGA 跑 Transformer 的論文翻了個遍。把這摞論文和最新進展放在一起看,結論很清楚:可行性已經被反復驗證,瓶頸也已經暴露得明明白白。
先說三個里程碑,難度逐級加碼。
單片跑 7B——FlightLLM(清華系團隊,FPGA'24)。 一片 Alveo U280,靠稀疏化 DSP 鏈和"權重常駐片上"的解碼方案,跑通 LLaMA2-7B。單批次能效是 V100S GPU 的 6 倍、成本效益 1.8 倍;換上新一代 Versal 器件后,吞吐甚至反超 A100。
四片跑 GPT 生成——DFX(KAIST,2022)。 四片帶 HBM 的 U280 用 100 Gb/s 光口連成環,把每層矩陣乘切開分工。比同級 GPU 方案快 5.58 倍、能效高 3.99 倍。更重要的是它給出了擴展性數據:每加一片 FPGA,性能大約變為 1.5 倍——不是理想的 2 倍,通信要收稅,但確實在漲。
九片跑 70B——CD-LLM(2025)。 這個設計最有"定制"味道:一片帶 HBM 的 V80 當主卡,專啃吃帶寬的注意力計算;八片便宜的 DDR 板卡 U250 當從卡,專啃吃算力的矩陣乘——誰擅長什么就干什么。跑 Llama-3.1-70B,吞吐是 8 卡 RTX3090 服務器的 6.11 倍,總擁有成本反而降到 1/4.71。
所以"兩到四片級聯跑 70 億級"不是暢想,是論文里已經復現過的配置。
那瓶頸在哪?這摞論文同樣誠實,三座山:
第一座山:帶寬墻。 這正是學生們那張 FAIL 截圖的放大版——生成每個 token 都要把全部權重從頭到尾搬一遍。FPGA 的 HBM 只有約 460 GB/s,不到 GPU 旗艦的零頭;所以 3~4 比特量化在這條路線上不是加分項,是必答題(CD-LLM 把 70B 壓到了平均 3.45 比特)。
第二座山:利用率墻。 FPGA 的 DSP、BRAM 位置是出廠焊死的,設計只能遷就布局,時序跑不高。DFX、FlightLLM 只能跑在 200-245 MHz,只發揮了器件峰值算力的 6%-23%。CD-LLM 靠"計算專用"架構把頻率推到 600 MHz,說明這座山能翻,但要靠架構功力。
第三座山:互聯與工程墻。 矩陣乘一切分,每層算完都要跨片同步,拓撲、協議、流控全要自己搭;而且每換一個模型就要重新綜合布線好幾個小時——這也是為什么"編譯工具鏈"本身都能發一篇頂會論文。
看懂這三座山,就看懂了為什么我說窄領域小模型恰好繞開了最陡的坡:30 億級模型單片就裝得下,帶寬壓力小一個數量級,不用跨片切矩陣,第三座山直接消失。學界用九片板卡證明了 70B 可行,而定制專用大模型芯片要走的,是一條坡度緩得多的路。
這門課的"卷面",是串口輸出、波形圖和 Git 提交記錄。
學生交付的是一整套"真實":真實工具鏈、真實指標、真實的失敗與剖析、真實的開源工程。
十五五教育規劃說,要破除唯論文導向,把創新能力與實踐經歷納入考核。我理解的落地樣子,就是這樣一間教室:
篩選人才的尺子,正在從"考了多少分",換成"做成過什么、驗證到什么程度、失敗了能不能說清為什么"。
而創新力、實操力,以及那道沒人要求卻主動去做的附加題所代表的內驅力,就是新尺子上最清晰的三條刻度。
一個好消息。
6 月 29 日到 7 月 17 日的科研創新課堂上,我把這道大作業升級成了一門新課:《用 AI 在 FPGA 上復現 Transformer 大模型》。
通信工程學院的 8 位同學選了課。這一次,他們要在 ZedBoard(Zynq-7000,XC7Z020)上,把這條鏈路完整地再走一遍——從模型訓練、INT8 量化,到 HLS 加速核、上板驗證。
懂行的朋友看到型號就笑了:XC7Z020 只有 5.3 萬 LUT、220 個 DSP48E1、140 塊 BRAM——LUT 不到大作業那塊 xczu7ev 的四分之一,DSP 不到八分之一,連 UltraRAM 都沒有。同樣的模型、小得多的地盤,量化更狠、分塊更細、取舍更痛——這正是我想要的:資源越緊張,工程功力越藏不住。
板子小了,要練的本事一樣不少:怎么向 AI 精確地描述需求,怎么搭一張讓錯誤無處遁形的驗證網,怎么在資源受限的真實硬件上做取舍。
三周后他們交出什么,我會在這個公眾號繼續寫。
最后,把鏡頭拉到最遠,說說我為什么堅持開這種"費力"的課。
AI 時代有一個殘酷的翻轉:知識的獲取成本趨近于零,但能力的鍛造成本一分沒降。
背下 Transformer 的公式,大模型三秒就能給你;但把它在一塊真實的芯片上跑通、跑對、跑快,沒有任何捷徑可走。前者正在快速貶值,后者正在快速升值。
這類課程真正訓練的,是三種 AI 拿不走的元能力:
一是定義問題的能力。 AI 協同開發把工程師的重心從"寫代碼"挪到了"提需求"——需求描述得越精確,AI 的杠桿越大。而精確地定義問題,恰恰是最難教、也最值錢的本事。
二是驗證結果的能力。 AI 可以無限產出,但對錯要人來判。金標準對拍、邊界值仿真、自動判 FAIL——這套"守門"的功夫,是 AI 時代工程師的立身之本。未來行業里最稀缺的,不是會用 AI 的人,而是敢為 AI 的輸出簽字負責的人。
三是直面真實世界的能力。 仿真通過不等于上板能亮,演示流利不等于系統能用。真實硬件會用一次次 FAIL 教會學生:世界不按你的 PPT 運行。這種挫折免疫力和誠實匯報的品格,坐在教室里永遠學不會。
對本科生,這樣的課是一次"全棧貫通"的啟蒙——讓他知道從算法到硅片之間隔著什么,也讓他知道自己站在哪一層、還能往哪里走。
對研究生,這是一次"研究品味"的塑造——什么問題值得做、證據鏈怎么搭、失敗怎么變成下一步的路標。
說到底,大學教育在 AI 時代的新使命,不是和 AI 比誰記得多,而是培養能指揮 AI、能驗證 AI、能超越 AI 的人。
一塊 3.9 瓦的芯片、一段莎士比亞腔的問候、一張誠實的失敗截圖——這就是我理解的,AI 時代該有的一堂課。
1. 先立標尺,再動手。 把每一層的"標準答案"提前存檔,出錯時一查便知問題在哪一環。
2. 把驗收寫進交付物。 按一個鍵就能復現全部結論——可復現,是工程可信度的最高形態。
3. 演示與真相分開,且都擺上臺面。 誠實標注失敗,比失敗本身更能證明你懂系統。
4. 速度和能效是兩場比賽。 GPU 贏延遲,專用硬件贏每 token 能量——端側 AI 拼的是后者。
5. AI 協同的正確姿勢:AI 產出,人守門。 驗證網織得越密,AI 的杠桿越大。
6. "定制專用大模型芯片"這條路已經打開。 窄領域小模型 + 權重固化 + 幾片 FPGA 起步——不是每個問題都需要萬卡集群來回答。
最后送一句我想對學生、也想對讀者說的話:
誠實,是工程師最貴的器件。
你所在的行業里,哪個環節最適合一臺"無限量 token 的專家盒子"?評論區聊聊。
如果這篇文章讓你想起某位正在選專業、或正在帶學生的朋友,轉發給 TA。
一周后,8 位同學在 ZedBoard 上的戰報,也會發在「網絡交換FPGA」。關注這個號,我們下期見。
注:文中對話文本、驗收數據、性能統計均截自該項目開源倉庫(My_Transformer_on_fpga)的板端實測記錄;平臺 Zynq UltraScale+ MPSoC(xczu7ev),工具鏈 Vivado/Vitis/Vitis HLS 2024.2。GPU/CPU 功耗取器件典型 TDP,FPGA 每 token 能量按課程 200 ms 達標口徑估算。
Taalas HC1 數據來自 EE Times、heise 等 2026 年 2 月報道:TSMC 6nm、815 mm2、530 億晶體管、固化 Llama 3.1 8B、實測 14000–17000 token/s/用戶、功耗約 200 W;
對比數據(Cerebras 2000、Groq 600、H200 230 token/s)來自 Artificial Analysis 與廠商基線。
第 10 節學術數據來源:1、FlightLLM(Zeng et al., FPGA 2024,U280 vs V100S 能效 6.0×、成本效益 1.8×,VHK158 吞吐超 A100 1.2×);2、DFX(Hong et al., MICRO 2022 / Hot Chips 34,4×U280 環形互聯,vs GPU 方案加速 5.58×、能效 3.99×,擴展系數約 1.5×/片);3、CD-LLM(ACM TRETS 2025,1×V80 + 8×U250 主從架構,Llama-3.1-70B 壓縮至平均 3.45 比特,批量 256 時 2721.79 token/s,vs 8×RTX3090 吞吐 6.11×、TCO 降低 4.71×);器件峰值利用率 6%23%(DFX 5.76% / Allo 7.10% / FlightLLM 23.31%,數據引自 CD-LLM 論文)。