你按下 Enter 之後,那 20 萬個字背後有一整條產線在跑

你按下 Enter 之後,那 20 萬個字背後有一整條產線在跑

發布於
·16 分鐘閱讀
AIAI Agent開源半導體NVIDIA產業觀察商業投資SaaS創業

TL;DR

  • 一個 20 萬 token 的請求進到推理平台,先被問的是「你之前是不是問過類似的」,因為快取命中直接決定成本
  • 量化(把模型參數從高精度壓成低精度)不是壓越少越好,Baseten 發現挑對層數壓,誤差會互相抵消,品質反而比壓得少的版本更好
  • 模型一直輸出「sssss」的怪 bug,最後查出來是機房之間網路線速度不同暴露的競態條件,跟模型權重完全無關
  • 有人把 Kimi 的視覺編碼器接到 GLM 5.2 上,凍住兩邊只訓練中間那條「翻譯線」,開源模型正在變成樂高
  • 推理工程的優化幅度動輒兩成、一倍、兩倍,代表這個領域還非常年輕,跟量化金融算萬分之五的世界完全不同
  • 影片模型做不出一小時電影,卡在注意力的平方成長,五秒鐘就要處理三萬五千個 token

這集在講什麼

這集在二〇二六年八月三日播出的 Latent Space,主持人是 swyx(Shawn Wang)跟 Alessio Fanelli,這個節目定位很明確,就是給 AI Engineer 看的技術深談,找的來賓多半是實際在把模型跑進 production 的人,不是在講願景的人。

這次來了兩位 Baseten 的人。Baseten 是一家做模型推理(inference,指模型訓練完之後拿來實際跑、產生答案的階段)的公司,你可以理解成「開源模型的代跑商」,企業不想自己買卡自己調,就丟給他們。Philip Kiely 是 Baseten 的 AI 教育負責人,二〇二二年一月加入,最近寫了一本叫《Inference Engineering》的書,把四年來的踩坑整理成教材。另一位 Ali Taha 是滑鐵盧大學出身、做 ML 研究跟 GPU kernel 的工程師,X 帳號直接叫 waterloo_intern,之前在 Tesla 的工廠裡做過 Cybertruck 的設備工程。

兩個小時聊下來,我覺得最值得寫的不是那些縮寫名詞,是那些「原來如此」的瞬間。

你以為只是送出一個問題

主持人開場丟了一個很好的問題:我送 20 萬個 token 進去,後面到底發生什麼事?

Philip 的第一句話是「我最想問的是你之前有沒有送過這串東西」。因為如果有,前面那段就不用重算,成本跟速度都差一個等級。20 萬 token 通常代表你在寫程式或跑多輪 agent,這種場景本來就高度重複,所以平台第一件事是找一台「已經有你這段快取」的機器。

接下來會被拆成兩批 GPU。一批專門負責讀你的輸入、把它變成快取、吐出第一個字,另一批專門負責一個字一個字往下寫。這叫 prefill 跟 decode 拆開跑,因為這兩件事的性格完全不同,一個吃算力一個吃記憶體頻寬,硬綁在一起就是互相拖累。

再來是投機解碼(speculative decoding)。這個機制最好懂的比喻是:大模型像一個很貴的資深主管,一次只能簽一個字。所以旁邊配一個超快的實習生,先一口氣猜三個字,主管一次驗收,猜對就三個字一起過,猜錯就作廢重來。有趣的地方是這個實習生可以針對你的用途去訓練。如果你都在寫程式,就拿程式碼訓練它,命中率就會很高。但如果你突然叫它幫你摘要哈利波特全集,它就會一直猜錯,速度直接掉下來。

這也是為什麼 Philip 說,公開 API 用一陣子之後,很多人會轉去租專屬機器。不是為了省錢,是為了拿到「為自己流量訓練的實習生」,順便不用跟別人的壓力測試搶資源。

壓縮得更多,結果更準

這段是我整集最喜歡的。

量化的直覺是:把 16 位元壓成 4 位元,資訊變少,模型變笨,所以能不壓就不壓。Baseten 有位研究實習生 Joshua 做了一份原本七十二頁、砍到四十五頁才敢發的論文,結論剛好相反。

量化每一層都會產生誤差,但誤差有方向。有的往左偏,有的往右偏。如果你能算出哪些層的誤差會互相抵消,那你把這幾層一起壓,最後輸出的機率分布反而更接近原始模型。結果就是他們的 GLM 5.2 量化版本比 NVIDIA 官方的多壓了兩成,吞吐量高兩成,品質還更好。

驗證方式也很講究。他們不看 benchmark 分數,因為那東西雜訊太大,隨便跑跑都能差個零點幾。他們直接比 KL 散度,看量化後的機率分布跟原始模型有多接近。這個判準比考試分數誠實多了。

Ali 補了一句我覺得很值得記下來的原則:做圖像模型的時候,他不動 modulation 層跟 out projection 層,因為「out projection 是使用者看到的東西,modulation 是模型理解到的東西」。這兩個地方壞了,其他做再好都沒用。

那個一直輸出 s 的怪 bug

有些模型在特定情況下會突然壞掉,一直輸出同一個字元,最常見的就是「sssssss」。Baseten 的做法很土:同一個 token 連續出現四次以上就直接掐掉重跑。

但真正有意思的是原因。同樣的權重,換一個推理引擎就不會發生。同樣的引擎,放在 A 機房會壞,放在 B 機房不會。查到最後,是因為兩個機房之間節點的網路互連速度不一樣,快取搬運的時間差暴露了 GPU kernel 裡一個競態條件(race condition,多個執行緒搶讀寫同一塊資料造成的不確定行為)。

所以那個問題既不是模型的錯,也不是量化的錯,是硬體佈線的錯。Ali 最後的處理方式很務實:這個模型就不放那個叢集了。

我覺得這件事對一般人的啟發是,很多你以為的「AI 變笨了」,可能根本跟智慧無關。這一層水面下的複雜度,跟之前寫過的Modal CTO 談 AI 基礎建設其實是同一件事的兩面。

把 Kimi 的眼睛接到 GLM 的腦子上

GLM 5.2 沒有視覺能力。Baseten 有位工程師想給它視覺,做法是把 Kimi 的視覺編碼器整個搬過來,然後把兩邊都凍住,只訓練中間那條負責翻譯的「投影層」,參數只有幾百萬。

Ali 的比喻很好:腦子是凍的,眼睛也是凍的,我只是在接視神經。

一開始的訓練方式是「描述這張圖」,效果不好。後來改成針對每張圖問一堆是非題:這張圖裡有沒有鳥?有沒有科學家?在哪個角落?靠問答硬是把理解力練出來。最後就算它認不出霍金,也會回答「這是愛因斯坦」,代表它至少知道這是一個有成就的男性科學家。

跑完之後你得到的是什麼?Kimi 的視覺、GLM 的權重、DeepSeek 的注意力機制,全部裝在同一個模型裡。這就是開源生態現在真正的威力,各家的零件可以互相拆裝。Jensen Huang 為開放權重發第一則推文那件事,背後保的就是這種東西。

這個領域還年輕得可怕

Philip 講了一段對照,我覺得很值得放在心裡。

在量化金融,你的研究成果進步是用 basis point 算的,也就是萬分之一。改善萬分之五就是大新聞,因為那個領域已經被榨了五十年。但推理工程現在的優化幅度是兩成、一倍、兩倍。把量化、投機解碼、prefill/decode 拆開三個東西疊起來,各自翻一倍,就是八倍。

換句話說,什麼時候你會知道這個領域成熟了?當大家開始發論文炫耀「我快了百分之一」的時候。現在離那個階段還很遠。

Ali 也提醒了另一半的事實:有些速度差距是「換車」換來的,不是「開車技術」。同樣的硬體、同樣的卡數,靠純軟體優化大概是兩到四倍。剩下的靠 B200 換 H100。這個區分很重要,看到別人喊十倍要先問是哪一種。這也是AI 晶片戰爭那條線一直在打的仗。

為什麼還沒有 AI 拍的長片

這段對一般人最有感。

大家都看過 AI 生成的短影片,也都注意到它們幾乎都在五到十秒。原因是數學。生成一段五秒鐘的高畫質影片,壓縮到潛在空間之後大約還有三萬五千個 token,而注意力機制的成本是平方成長。十秒就是四倍,三十秒就是三十六倍。要生成一分鐘的完整鏡頭,算力根本不夠。

所以現在只有兩條路。一條是接續生成,拿上一段的最後一格當起點續拍,但會漂移,第二段比第一段暗一點,第三段又暗一點,到二十五秒左右就變全黑。Ali 說他們本來想在節目上示範,實在太丟臉就算了。

另一條路是改成自迴歸(像文字模型那樣一格一格往前生成),這樣可以邊生成邊播,但目前所有自迴歸影片模型的品質都很爛。Ali 的原話是,跟正經影片模型比起來,那東西「像畫質很差的湯姆貓與傑利鼠」。

差別在方向。文字是單向的,你從左寫到右,偶爾回頭改一下就好。影片不是,左上角那顆像素跟右下角那顆像素得互相看到,才知道整個畫面的邏輯對不對。這也是為什麼影片走擴散、語音走自迴歸。順帶一提,開源影片模型跟閉源的差距,比文字模型大太多了,文字這邊幾乎已經追平,影片那邊還是天差地遠。

模型開始優化自己的推理

最後一件有點科幻但已經在發生的事。

Baseten 內部把 GLM 5.2 接進 Claude Code,讓它跑效能追蹤,自己找出哪些 GPU kernel 是瓶頸,然後自己重寫,再跑一次追蹤驗證,好了就打包上傳。有一段時間,他們推理引擎裡跑 GLM 5.2 的 kernel,是 GLM 5.2 自己寫的。

Ali 講得很誠實:它還是常常想抄近路,決策能力不太行,所以離全自動還有距離。但「模型優化自己的推理」這件事,已經不是投影片上的概念了。

我自己的判斷是,這比「模型訓練模型」更值得注意。訓練是離線的、慢的、貴的,推理優化是即時的、可驗證的、有明確數字可以比對的。一個有明確 reward signal 又能快速迭代的迴圈,通常就是最先被機器吃掉的那一塊。

至於最後那個關於持續學習的辯論也很精彩:要把新知識寫進權重,還是靠 KV 快取壓縮?Ali 舉的例子很傳神,你把「滑鐵盧是世界最好的大學」直接編輯進權重,模型會答對這題,但你問它「應該去滑鐵盧還是 MIT 找實習生」,它會說兩邊都不錯。你改了事實,但它不會拿這個事實去推理。他最後承認同事是對的,KV 快取那條路才走得通。

聽完最大的感受是,我們每天在用的那個對話框,底下是硬體、kernel、網路拓撲、訓練技巧攪在一起的一團東西。當有人跟你說「這個模型好像變笨了」,答案可能藏在某一條網路線上。

想看更多這種把技術底層攤開來講的整理,都會發在 wilsonhuang.xyz,歡迎訂閱。

Sources:

推薦閱讀

喜歡這篇文章嗎?

訂閱電子報,每週收到精選技術文章與產業洞察,直送你的信箱。

💌 隨時可以取消訂閱,不會收到垃圾郵件