訓練模型需要多少計算量?

DeepSeek 問世後, 很多人討論它需要多少計算量? 我在此做個小整理.

基本上, 而一個 neural node 至少有 weighting 和 bias 要訓練. 而每層輸出共用一個 bias. 請 DeepSeek R1 想了 17 秒, 整理如下:

  • 對於 Dense layer, 參數 = Node 數 + 1.
  • 對於 convolution layer, 參數 = channel 數 * width * height + 1.
  • 對於 RNN layer, 參數 = (輸入維度 + hidden state 維度 h) * h + h.
  • 對於 LSTM, 參數=RNN * 4.
  • 對於 L 層 transformer, 參數 = L * (12h2 + 13h) * Vh ~= 12Lh2 , 其中 V 是 vocabulary size (詞表). [3]

如果是做研究, 可能要參考 [2] 的表 1.

不管是哪一種 weighting parameter, 只要可以被訓練, 我們就算它一個參數. 至於不能訓練的, 像是 ReLU, 這些都不會列入參數, 只會佔據 memory 和 CPU time.

接下來的問題是每個參數要被算幾次才完成 training. 如果去問 AI 的話, 有些回答真的很離譜, 像是 Gemini 算出來比別人大好幾個數量級; 有些 model 會說要除以 batch size. 實際上 batch size 只影響 gradient 的更新頻率. batch 愈多次應該要乘愈多次而不是除. 所以還是問人類比較可靠 [3], DeepSeek R1 也還行, 只是它想了 128 秒.

FLOP s≈ 6 × 參數數量 × 訓練總 token 總數.

例如 GPT-3 175B 參數, 訓練 300B token, 需要 3.15 * 1023 FLOPS. 和官方公布的 3.14* 1023 FLOPS 接近.

其中 6 來自 forward (矩陣, activation) 2 次計算和 backward (梯度, 參數更新) 的 4 次相加. 至於訓練總 token 數, 其實已經吸收了 batch size 參數. 這邊再找個證據.

根據 [2], 跳過各種英文或數學, 3.3 或 5.1. 裡面都引用了 C = 6NBS. 其中 C = training computing, B = batch size, S = number of parameter updates (訓練總 token 數), and N = non-embedding parameter count (參數數量).

什麼是 non-embedding parameter? 就是所有的 parameter 扣掉 token 和 position embedding . 包括:

  • Dense/Linear layers
  • Attention layers
  • Convolutional layers
  • Batch normalization layers
  • Any other trainable layers except embeddings

另外根據 Chinchilla 法則 [5], 訓練量應為參數的 20 倍. 所以 BS = 20N. 前面提到的 GPT-3 175B, 大約需要 3500 B token 的訓練才達到最佳效果. 它只訓練了 300B token, 理論上還有進步空間. 據說這是因為 GPT-3 發表於 2020 年, 而 Chinchilla 法則發表於 2022 年.

再回到風暴的起點, Deepseek 自稱是用 2.788K (pre-train 2664K) H800 GPU hours train 14.8 T tokens. 然而, 如果用上面的 6ND, 搭配 H800 Spec. 和論文中的數據 [7], MFU (Model FLOPS Utilization) 會超過 100%, 完全不合理.

MFU = 訓練需要的算力 / GPU 提供的算力 = (6 * 14.8T * 671B) / (2664 K Hours * 3600 second/Hours * 3026 TFLOPS) = 205%.

其中 MOE, MLA, MTP 可能有省到算力, 但就算把 MFU 壓到 100% 都解釋不通. 當然也可以說 DeepSeek 說謊 – 短報時數. 解決不了問題就解決人. 哈!

歸納起來, 此時不能用 6ND, 要參考 [8]. 用 “3 * 計算 Deepseek v3 的所有 forward 操作" 來代替 6ND. 如此就可以算出 MFU = 35~45% [6], 這樣起碼是落在合理範圍 (< 60%).

其實 [3] 和 [6] 都寫得很好, [6] 尤其完整. 不過我悶著頭寫了一大段才 reference 到他們, 只好改一改重點, 讓它們當配角了.

附帶一提. GPU 卡上的 RAM size, 決定了要用幾張卡才塞得下整個 model 的參數. Training 時要存 weighting, activation function, optimizer, gradient, 抓個 4 倍. Inference 時需要weighting, activation 和 bias. 抓 2.5 倍. 這是一般狀況, 非特別指DeepSeek.

[REF]

  1. GPT-3, The Model Simply Knows! – Analixa
  2. Scaling Laws for Neural Language Models
  3. AI大模型训练相关参数如何估算?有这一篇就够了
  4. https://zhuanlan.zhihu.com/p/606038646
  5. https://arxiv.org/pdf/2203.15556
  6. 【LLM 專欄】Deepseek v3 的訓練時間到底合不合理?淺談 LLM Training efficiency
  7. https://en.wikipedia.org/wiki/DeepSeek
  8. https://zhuanlan.zhihu.com/p/16445683081

DeepSeek 重點分解 – PTX和蒸餾

先前做了一些 DeepSeek 算法上的研讀, 不過其實它的亮點還有很多. 這邊補充一小一大兩個東西. 第一個是 PTX, 第二個是蒸餾.

先前在 “輝達之道" 那篇稍微提到 PTX (Parallel Thread Execution). 在還沒有 CUDA 之前, 輝達就可以使用 Cg, OpenGL 或是 PTX 寫程式. 根據幾篇報導 [1-2] 指出, 這次 DeepSeek 不使用 CUDA, 直接使用 PTX 所以榨出更多的效能.

效能問題只是一個角度, 就好像說我的 code 都是用組合語言寫的, 所以效能更好. 人家可能說你神經病. 但跳過 CUDA 確實不一樣. 很多人認為, 就算大陸做出一個新模型, 效能更好, 還是逃不開輝達的 CUDA, 所以輝達的護城河仍在!像是我相當佩服得美投君 [3] 的新片也是這樣想.

[3] 影片 8’37″

不過我更願意相信, DeepSeek 有意擺脫 CUDA, 而不只是單純為了提升效能. 首先 PTX 類似 Java, 是 just in time 的編譯器 (virtual ISA), 針對不同的硬體可以做二次移植. 其次是 AMD GPU 和華為的 NPU 都支援 DeepSeek [4]. 華為的 Huawei Ascend NPU [5] 是什麼概念呢? 它可以中國產商不買輝達 GPU, 美國掐不住它的脖子 [6-7].

其次談一下蒸餾 (distillation). 我們知道這是一個老師教學生的演算法, 大模型教小模型, 小模型甚至能青出於藍, 但計算量就省下來了! DeepSeek 是一個大模型, 就算 MOE 等方法可以讓它只激活部分參數, 那還是很巨大啊!

但讓世人震撼的另外一面是 DeepSeek R1! 現在如果問 DeepSeek 關於它自己的技術, 它會有點故意誤導, 不知道是不是政治干擾? 根據 HuggingFace 上的說明: “DeepSeek-R1-Zero & DeepSeek-R1 are trained based on DeepSeek-V3-Base." [8] 但 DeepSeek 自己倒是說 “R1 可能是 DeepSeek 的早期版本或基础版本", 連自己的身世都胡扯, 哈!

回到正題, R1 比 V3 更強大 [8], 它對標的是 OpenAI o1 – 1217. V3 是最右邊偏矮的那一個. AI 要做得好, 除了硬體和演算法, 就是要靠好的教材. V3 反映了演算法, R1 彰顯的就是好的教材.

R1 有兩個版本, DeepSeek R1 和 DeepSeek R1- Zero. 在官網講得有點不清楚, 我先引用曲博的影片 [9], 再補充名詞解釋.

R1-Zero = V3 + RL => 無盡的重複、可讀性差、語言混雜 => 有缺點.

R1 參考下圖.

[9] 17’19″

其中:

  • RL = large-scale reinforcement learning, SFT = supervisor fine tuning,
  • cold start = 通常是指參數是未訓練過、隨機的. 但 SFT 後再 cold start 有點怪怪的. 這部分還不理解.
  • GRPO (group relative Policy Optimization) = 群內相對評比. 也就是標準答案不從外面給, 而是自己比較哪個答案好? 例如寫兩段 code, 誰的效率高自己知道.

接下來就是蒸餾的部分, DeepSeek 推出了它當老師教小模型的版本. 其中交 Qwen2.5-32B 就已經很厲害, 教 Llama 70B 的部分, 在下表 [8] 的比試幾乎全勝! 只有 CodeForces rating 這項還輸 o1-mini 而已.

這表示什麼呢? 這說明就算你的系統還跑不了 V3 或是更優化的 R1, 只要用它去教小模型, 小模型也堪用. 像是它教出來的 Qwen 只有 1.5B, 好幾項測試都還贏 OpenAI 的 Claude 3.5 Sonnet, 這個還要花錢買耶 (我! QQ). Qwen 卻是 open source.

所以我感覺 DeepSeek 的發布不只是火力展示, 它的目的是要從算法、數據 (能教人是好老師) 兩方面展示不輸老美的優勢. 強強相爭, 以後 AI 會進步地更快吧! 只要不消滅人類都是好事!

[後記]

寫完之後, 發現老高也來評論了 [11]. 他講到一個值得補充的地方. ChatGPT 4o 對標 DeepSeek V3, 訴求全能. ChatGPT 01 對標 DeepSeek R1, 訴求推理過程 (chain of thought).

[REF]

  1. DeepSeek 绕开 CUDA 垄断,针对英伟达 PTX 进行优化实现最大性能,英伟达护城河还在吗
  2. https://technews.tw/2025/01/29/deepseek-bypass-cuda-and-using-ptx-for-better-optimization/
  3. https://www.youtube.com/watch?v=81cbmeXTQcg
  4. https://huggingface.co/deepseek-ai/DeepSeek-V3
  5. https://medium.com/huawei-developers/world-of-huawei-ascend-future-with-npus-5843c18993f3
  6. https://blog.csdn.net/qq_54958500/article/details/144064251
  7. https://udn.com/news/story/7333/8022387
  8. https://huggingface.co/deepseek-ai/DeepSeek-R1
  9. https://www.youtube.com/watch?v=spoPf8CjjBo
  10. https://www.bnext.com.tw/article/79507/claude-3.5-sonnet-best-ai?
  11. https://www.youtube.com/watch?v=uKBI1Ea8VO0

DeepSeek 重點分解 – MTP 小整理

先前分析了 V2 的主力武器, 但 V3 還是比 V2 厲害一截. 所以來談一下 V3 新增的 multi-token prediction (MTP). 雖然 V3 還有厲害的 pre-train 和 fine tune, 但那部份無法用數學或是圖形表示, 只好略過.

本圖取材自 https://github.com/deepseek-ai/DeepSeek-V3

顧名思義, multi-token prediction 就是一次預測好幾個 token. 問題來了, 究竟是一次預測好幾個 tokens (下圖左)?還是預測完一個繼續預測下一個 (下圖中)?還是一次預測好幾個又連續預測好幾步 (下圖右)?

本圖取材自 https://arxiv.org/html/2410.03132v3

其實眼尖一點就可以看到上圖右 (Ours) 一定是該論文認為最好的. 但是這種暴力美學好像跟 DeepSeek 省吃儉用的調性不合. 我們來看看下圖的 DeepSeek V3 架構又是怎做的?

本圖取材自 https://github.com/deepseek-ai/DeepSeek-V3/blob/main/DeepSeek_V3.pdf

我們輸入的 token 是上圖下方的 input t1, t2, t3,… 這些 token, 預測的輸出是上圖上方的 t2, t3, t4….等. 如果我們放置愈多的 MTP module, 就可以預測更深的深度 (Depth). 例如 D = 2, 就是用 t1 預測 t2 和 t3, 用 t2 預測 t3 和 t4, 依此類推. D 愈大, 預測的深度就愈長, 因此它符合 MTP in a single step.

可是一次要預測好幾個 token, 計算不會很大嗎?PDF 提到, 圖裡面的 embedding layer, Output head 雖然畫了好幾個, 但他們都是公用的 (shared).

當我們預測 t2時, 看向上面圖中的 MTP module 1 . 它有且只有兩個輸入, 一個是 t2 經過 embedding, 一個是 t1 在 main Model 的產出物.

至於預測 t3時, 看向上面圖中的 MTP module 2. 它有且只有兩個輸入, 一個是 t3 經過 embedding, 一個是 t2 在 MTP Module 1 的產出物.

因此 D 愈大, 計算的確愈多, 並且有額外的 latency. 但是額外增加的幅度並不等效於再重複一次 main model. 而且這樣有一個好處, 就是 training 時可以好好吸收長距離依賴 (long-range dependencies), 因為它每個預測都以過去歷史為本, 不會即興創作.

至於 multi-token prediction in multiple steps (Autoregressive Chunking) 的方法, DeepSeek 認為在 inference 時確實比較好. 但是在 training 的時候, MTP in one step (Action Chunking) 比較能控制因果關係和長距離依賴.

好!不愛數學的可以停在這裡. 接下來是講公式的部份. 其實跟上面一模一樣, 只是 step 3 增加了以logits 做 softmax() 去字典找字.

Step 1: Combining Representations

For the 𝑖-th input token 𝑡𝑖 at the 𝑘th prediction depth:

  1. The representation of the 𝑖th token at the (𝑘−1)th depth, denoted as h𝑘−1i∈ ℝ^𝑑, is taken. If 𝑘 = 1, h𝑘−1𝑖 is the representation provided by the main model.
  2. The embedding of the (𝑖+𝑘)th token, Emb(𝑡𝑖+𝑘) ∈ ℝ^𝑑, is computed using the shared embedding layer.
  3. Both h𝑘−1𝑖 and Emb(𝑡𝑖+𝑘) are normalized using RMSNorm (Root Mean Square Normalization).
  4. The normalized representations are concatenated ([·; ·]) and linearly projected using the projection matrix𝑀𝑘 :
    • h′ki= Mk[RMSNorm(hk−1i); RMSNorm(Emb(ti+k))].
    • Here, h′𝑘𝑖 is the combined representation that serves as the input to the Transformer block at the 𝑘th depth.

Step 2: Transformer Block

The combined representation h′𝑘𝑖 is passed through the 𝑘th Transformer block (TRM𝑘(·)): h𝑘1:𝑇−𝑘 = TRM𝑘(h′𝑘1:𝑇−𝑘).

This produces the output representation h𝑘𝑖 for the 𝑖th token at the 𝑘th depth. The slicing operation 1:𝑇−𝑘 ensures that the sequence length is adjusted appropriately for each prediction depth.


Step 3: Output Head

The output representation h𝑘𝑖 is passed through the shared output head (OutHead(·)), which:

  1. Linearly maps h𝑘𝑖 to logits.
  2. Applies the Softmax function to compute the probability distribution over the vocabulary:𝑃𝑘𝑖+𝑘+1 = OutHead(h𝑘𝑖).
    • Here, 𝑃𝑘𝑖+𝑘+1 ∈ ℝ^𝑉 represents the probability distribution for the (𝑖+𝑘+1)th token, where 𝑉 is the vocabulary size.

最後一個重點來了. DeepSeek 只有在 training 的時候使用 one step MTP. 在 inference 的時候, 用的演算法又有不同. “We can also repurpose these MTP modules for speculative decoding (預言家, 投機演算法) [2] to further improve the generation latency."[1]

Training 的 loss function 計算也給出來了. 首先, 針對每個 depth (k) 都做計算, P 就是上面的 P. 最後把不同深度的 loss function 取平均值.

其中 𝜆 當然就是 weighting factor, 或是以前電力機械教授老包所說的 “那麼大”. γ𝜆 = “柑仔那麼大", 是我對這堂課最深的印象.

[REF]

  1. https://github.com/deepseek-ai/DeepSeek-V3/blob/main/DeepSeek_V3.pdf
  2. https://hackmd.io/@shaoeChen/rJESTVr40

我讀 «張忠謀自傳» – 2

雖然前面講得好像張老的主管都是科技白癡, 但他們都有自己的想法. 海格底的失誤在於他看好自動化測試, 所以遲遲不願意在海外建立測試據點降低成本 – 很多年後還是建了. 夏伯特認為每個家庭都需要家庭電腦, 但這個想法超出當時 TI 的技術能力至少十年以上.

張老接手的消費者集團主要有三個產品: 消費者計算機 – 原本看起來可以賺大錢, 但是被金寶這些台灣公司打趴了; 科技計算機 – 能賺錢但量很小; 電子錶 – 虧損, 完全是惡性競爭. 開發中的產品則是教育玩具和家庭電腦.

張老說: “假使我那時 (1978 年) 有我現在的勇氣, 我會說取消家庭電腦案!" (p. 241) 1979 年 TI 的家庭電腦 TI-99/4 推出時, 售價 1,150 美元. 但沒有什麼 APP 可以用. 即使是 PC 的Windows 3.1 – 第一個比較堪用的版本也是 1992 年才問世. 回推 13 年的科技水準是怎麼樣呢? 1978 年最紅的電腦是王安電腦的文字處理機, 就是能編輯檔案而已.

家庭電腦賣不好, 敲響了張老在 TI 仕途的喪鐘. 1980 年張老改任 “品質與生產力總監". 此時張老 50 歲. 夏伯特在佈達的時候, 還是很給面子地說 “在品質上. Morris 代表我" (p.250). 於是乎張老就開始努力學品質. 他去跟當時的幾位品質大師上課. 像是戴明, 這位現在應該還有人記得.

畢竟他都代表總裁管理品質了, 當然是先花錢找大師學藝, 總不能直接跑去產線盯品質. 不過這段經歷確實影響了後來台積電的作風. 張老講的都是顛撲不破的大道理, 但另外一方面, GG 的人又公開但打馬賽克地吐槽產線文化, 彷彿是兩個平行宇宙. 哈!

總之, 張老送了上萬人去參加 Joseph Juran (裘蘭) 的品質課程. 雖然我不知道 TI 的良率因此提升了多少? 但 TI 的文件實在做得很厲害! 老闆彪夏也說張老已經放在對的位置上.

1981 年 TI 日本廠開始生產記憶體, 良率直接衝到 4~50%, 而休士頓廠只有 20% 多. 總裁夏伯特大感震驚, 叫張老想辦法改進良率. 張老研究之後, 認為日本廠學歷較高, 多數是大學畢業. 但美國廠招不到本科系的學生, 經歷也通常是修車之類的. 夏伯特對這個答案很不滿, “我要的是可以立刻改進良率的方案, 你的分析對我毫無用處." (p. 257)

夏伯特自己想到一招, 就是把日本廠長找來美國當廠長. 不過日本團隊適應不良, 最後紛紛請求調回日本. 這事大概讓張老再記一支小過. 但後來台積電都是這麼幹, 連廠線也要找高學歷本科系的. “諷刺地, 它成為我幾年後創辦台積電的靈感和憑藉." (p. 257)

1982 年 9 月, 張老已經把老闆得罪完了. 他的職級從 42 級降到 38 級. 於是張老決定要離職. 1983 年 10 月, 被綁的股票承購權已經拿到, 張老正式遞出辭呈, 當然老闆也不會留. 我們護國神山的大老, 在 51 歲時為了五斗米折腰, 真是英雄氣短xm,. 那包承購權大約 1~2M USD, 換算今天的購買力大概是 6~7M USD (Monica 說的), 真的很難不要.

略過細節不提, 張老下一份工作是 1984 年 1 月去通用器材當董事暨總經理暨營運長. 雖然入職時也是風風光光. 但 1985 年 8 月公司業績逆轉, 董事長 Frank G. Hickey (歇基) 找了前副總喬治來分散張老的管轄權. 後來雙方 (另一方兩個人) 矛盾愈來愈大, 歇基發新聞稿逼張老 “被辭職".

1983 年, 李國鼎政委曾力邀張老到台灣幫忙. 等到張老拿到他的 stock option, 台灣反而失聯了. 倒是 1985 年張老二度失業時, 李政委又來邀他當工研院院長. P. 304 說: “為什麼這次李政委冷淡, 對我至今是一個謎." 我猜可能是沒缺吧! 哈! 歷經幾番曲折, 張老當上了工研院院長.

張老在工研院院長任內, 打算推 3 大改革: (1) 十年內一半經費來自民間企業, (2) 衍生公司, 把人也移過去, (3) 每年考績最低 3% 員工留職查看. 當然, 這些政策不受官員和院民歡迎, 改革失敗! 我們李前總統不太喜歡他, 陳履安 (經濟) 部長不喜歡他, 底下的主力助手胡定華因為被俞國華院長認定張老需要留人, 所以不讓胡定華當交大校長. 胡定華知道了後憤而離職. 愈院長認為這是張老不擅處理人事, 對他評價不佳. 張老這次又差不多把人得罪光了, 1988 年決定請辭院長. 轉任無實權的董事長.

However, 張老剛接工研院的時候就負責設立台積電, 因此他就是官股的台積電董事長. 當時台積電前途未卜, 還沒有人想要搶這個位置. 何況成立台積電時很多人 (官) 就不看好, 民間也不願意投資. 如果不是飛利浦願意認股 27.6%, 恐怕都辦不起來. 在退無可退之下, 張老按照他的意志, 順利地把 TSMC 做成了台灣的第一. 1994 年台積電上市, 張老也辭去工研院董事長的職務.

我覺得自傳下冊, 張老走下坡又逆轉的這段故事最精彩. 以我的印象, 忘了是哪一頁. 書上有提到 TSMC 才是他可以自由發揮的空間. 上面不再有董事長指揮或怪罪, 官股民股都恨不得趕快套現脫手, 所以張老才能獲得經營上的自由. 台積電這部分當然占全書不少篇幅, 有機會大家可以自己去了解. 因為 TSMC 這麼出名, 除了本書之外, 各類訊息想必非常多又容易取得. 倒是張老一生曾有這麼多不順遂, 真是大大出乎我意料之外, 所以特別為它做個筆記.

我讀 «張忠謀自傳» – 1

我這才發現, 其實我沒有為本書的上冊寫過心得. 當時可能是想等下冊讀完一起寫吧?! 誰知這一等可不得了, 從 2018 等到 2024 年才出版. 等我有空讀它又已經是 2025 年了! 基本上, 下冊真的比較刺激, 來談談下冊吧!

在大家的印象中, 張老原本就是高材生, 以華人身分在美國頂級公司做到二把手. 然後又被政府請回來領導台積電, 後來變成護國神山. 這樣的人生勝利組好像不太能給我們什麼啟發? 就是讓我們羨慕和崇拜而已. However,…

如果看了自傳下冊就不會這樣想了. 張老自述他的職涯並不是一帆風順. 反倒是認為自己除了台積電之外, 幾乎每個工作都黯然收場. 若不是真有一身本事, 早就消失在世人眼中了. 所以我就專門談他的職涯吧, 且不談他的管理理念.

張老大學是讀機械, 應徵了福特汽車和希凡尼亞半導體. 前者開價月薪 479 美元, 後者開價 480 美元. 張老本想去福特, 不過這薪水比人家少 1 塊, 於是他打電話希望福特多少加 10~20 元. 但是福特對他的要求很不客氣, 叫他 “袂爽麥來". 所以張老只好憤而進入半導體業. [1]

因為隔行如隔山, 張老在希凡尼亞自修半導體三年. 不過這家公司的總經理自己說: “賣得出的東西我們做不出,我們做得出的東西我們賣不出。" [2]. 顯然這家公司也沒辦法待一輩子. 張老在 27 歲跳槽到 TI.

從 1958 年起的前 15 年, 是張老的上坡路. 其中 1961~1964 年, TI 送他去史丹佛全職全薪進修, 並取得電機工程博士學位. 雖然返回公司後, 原本的同事都高升了, 張老還是從鍺電晶體部研發經理做起, 一路立功晉升, 在 1972 年做到 TI 集團副總裁兼全球半導體事業集團總經理. 這年張老 41 歲.

張老從鍺部研發經理升官的關鍵是完成一個 IBM 的案子. 先前的研發處長和鍺電晶體總經理都搞不定. 拖了一年多. 張老學成述職後, 就收到這個大禮包. 真所謂是福不是禍, 是禍躲不過. 張老找一位他看好的助手 (在別的計畫), 在 2 個月內就做到可以量產.

於是, 張老最服氣的老闆 – 助理副總裁 James Reese (呂斯) 就宣布張老接任鍺部總經理, 管 3,000 人. 本書稱呂斯做 “最好的上司". 只不過這位老闆在 1967 年被罷黜, 他的上司換成 J. Fred Bucy (彪希). 張老不太喜歡這位主管, 這位也不欣賞張老.

張老對彪希的評價是, 對方在擔任半導體集團總經理前, 並沒有半導體經驗, 又不刻意努力學習. 對方能夠升上執行副總, 還不是靠張老在下面救了積體電路部. 嗯, 看起來兩人有點過節. 身為讀者而已, 我們就順便回顧一下張老的另一頁功勞簿.

積體電路的前負責人是 Statt (史厥特), 他原本是張老的下屬. 張老去唸書回來, 他已連升三級, 比張老高一階. 積體電路部的防守範圍是 bipolar (雙極), 雖然別家也做得風生水起, 但 TI 就是輸給摩托羅拉等對手. 於是這位長官也下了台, 換張老做做看.

張老怎麼做呢? 首先提升士氣, 然後 (1) 提升技術. 把 IC 設計工程師從 2~30 人增加到 4~50 人. (2) 提高良率. 當時業界的良率大概是 20% 左右. 張老覺得達拉斯晶圓廠環境亂糟糟的, 於是開了另外一個直接對他負責的休士頓廠和舊廠 PK. 結果新廠的良率直接上 40%, 舊廠也發憤圖強有顯著的進步. (3) 接 ASIC 生意提高單價, (4) 宣布每季減價.

由上面幾招看來, 張老的確是一步一腳印地做出貢獻. 那長官沒有輔導的功勞嗎? 下冊 p. 159 明確說到: “…我每天早上開技術會議, 有時彪希也來參加, 但他可以說完全不懂半導體技術, 所以在我們會議加忙遠勝過幫忙."

1972 年, 張老登上 TI 的事業高峰. 1972~1978 年則是他的高原期. 張老不認同 TI 做消費者產品 (和客戶競爭) 和記憶體, 但老闆興致勃勃. 張老升任半導體事業集團總經理後, 開發記憶體當然就是他的防守範圍. 由於公司主力分散兵力在 “消費者產品集團" 做計算機 (calculator), 所以記憶體部門人手有些不足, 1K 的記憶體始終做不出來.

張老上任後選擇跳過 1K, 直接做 4K. 結果兩年後 (1974) 做出來了, 並且達到市占率 50%. 張老把下一個目標定在 16K, 打算甩開對手. 結果不幸地 16K 難產, Mostek 搶走市場. 彪希和董事長 Mark Shepherd (夏伯特) 開始懷疑張老的能力, 1976 年決定成立另外一個團隊抄 Mostek. 1977 年, 負責抄對手的團隊已經可以量產, 但張老這邊還是卡關, 於是他就開始黑了.

黑歸黑, 張老還是帶領他的團隊再直攻 64k 雪恥. 最後不但領先對手, 而且產生許多強大的專利. P. 205 寫道: “64K 的成功來得太晚, 第一批成功的樣品出來時, 我已被調任消費者產品總經理, 但我收到一封 64K 團隊連署的非常溫暖的信, 告訴我第一批樣品已做出, 全信語氣把我視為與他們同在一條陣線上的戰友, 而不只是前任上司, 這是最使我感動的一刻."

書上提到: 張老認為 TI 開發自己的技術是對的. 若不是用自己的技術做出 64K, TI 在 80、90 年代業績不振時, 哪有辦法靠收專利授權過活? 即使他非常不看好 TI 做記憶體, 他還是奉命執行了, 做不好再怪他, 張老也心存埋怨.

1978~1980 年被張老視為下山驛站. 他在 16 K 記憶體失利後, 長官們認為他策略錯誤. 彪夏在張老出差時, 對他的下屬批評張老領導不夠強力. 而更上級的夏伯特則是在聽完整天簡報後, 問他 “你們真的在做 64K 嗎?" 言下之意是懷疑張老做不出 16K, 所以弄個假議題維持人力吧. 既然上面兩層主管都不挺, 張老在 1977 年底自請離職.

彪夏和夏伯特討論之後, 給張老兩個選擇. 一是做消費者產品集團總經理, 另一個是 “公司成長" 資深副總裁. 由於張老不喜歡當幕僚, 所以選了他不看好的消費者產品主管. 不喜歡怎麼能做得好呢? 於是後面果然就一路向下了.

[REF]

  1. 張忠謀赴台大演講 親曝自己當年第1份工作為何選希凡尼亞!不選福特汽車
  2. 張忠謀曝當年挫折:股東客戶都覺得我做得好,卻仍被迫離職