孟繁岐並不是第一次聽說DeepSeek的名字,雖然此前DS在大眾之中不能說是完全無人知曉,但說它是籍籍無名也不為過。
比起天然擁有海量客戶的網際網路大廠們推出的AI模型,DS即便免費,但終究天然地在積累使用者方面有著巨大的劣勢。
孟繁岐此前注意到DS,主要便是因為他們的技術路線與孟繁岐的幾個設想相似。
由於在降低技術成本上頗有建樹,DS的API價格要低於市場平均水平許多,這使得它慢慢積累了一些技術型的使用者。不過這個規模在孟繁岐眼中,還遠遠上不了桌。
前兩個月,DeepSeek已經迭代到了第三代。
逐漸縮小的效能差異並沒有引起孟繁岐足夠的重視。
而今天,詳細的技術報告以及R1版本的釋出,才終於讓他明白,自己實在是後知後覺。
震撼到孟繁岐的並不是單純效能上的逼近,而是諸多技術細節透露出的海量資訊。
比如,FP8的成功實現。
孟繁岐有些不相信這個事實。
半精度和FP8是他一直在大力推動的事情,而現在,DS反而成為了首個在超大規模模型上證明了FP8訓練完全可行的公司。
孟繁岐沉著臉,翻閱著DS的技術報告,他們對框架內部的操作細節並不吝嗇。
哪些核心操作做了FP8的量化,在什麼步驟應該轉回BF16,又在哪裡應該使用全精度FP32計算,標註十分詳細。
向量層、輸出層、MoE門控模組、標準化運算和注意力運算模組進行了精度保留,而前向,啟用反向,權重反向則用FP8執行。
針對前向反向採用FP8會帶來的許多問題,報告中也知無不言。
在低精度訓練框架中,由於 FP8格式的指數位較少導致其動態範圍受限,經常出現數值溢位和下溢的問題。傳統方法是將輸入張量的最大絕對值對映到 FP8格式的最大可表示值,將輸入分佈對齊到可表示範圍內。然而,這種方法使得低精度訓練對啟用值中的極端值特別敏感,可能導致量化精度顯著下降。
孟繁岐也走到過這一步,部分FP8,部分BF16/FP32。僅僅如此是不夠的。
DS最終採用的方案是在核心運算元內部GEMM操作裡引入縮放因子,這同樣是孟繁岐曾經考慮過的事情。
但closeai最終沒有這樣做,因為英偉達顯示卡的FP8並不直接支援這一功能。
長期居於龍頭位置的closeai程式設計師們並沒有選擇下苦工用其他的方式實現這一功能,而是選擇了與英偉達溝通,以求讓英偉達在下代硬體框架中支援細粒度縮放格式。
孟繁岐回憶起那個時候,欲言又止。
這稱得上是錯誤嗎?其實也不見得。
因為closeai的建議為英偉達提供了重要參考。
下一代硬體框架中支援該功能無疑是非常正確的決定。
但...沒有它真的就做不了嗎?很顯然,DS回答了這個問題,現有的條件之下,技術並不是無法實現的。
另一件讓孟繁岐感到扼腕嘆息的事情,是雙方在“稀疏”這一概念上的分歧。
在FP8問題上,孟繁岐與DS是一致的。