計算機組織與結構›Ch7 其他(Others)第 1 題/共 19 題
1. NPU、PCIe、LLM Inference、Accelerator
#CC-07-001中NPUPCIeLLM InferenceAccelerator
關於 LLM 推論的 CPU-加速器資料協調(data orchestration),考慮一個為 LLM 推論設計的系統,規格如下:
硬體配置:
- CPU:128 GB DDR5 記憶體,50 GB/s 記憶體頻寬,2 TFLOPS INT8 throughput
- NPU(Neural Processing Unit):8 GB on-chip SRAM,1 TB/s 內部頻寬,400 TFLOPS INT8 throughput
- 互連(Interconnect):PCIe 5.0 x16,50 GB/s 有效傳輸頻寬
模型特性(700億參數 LLM,INT8 量化):
- 總模型權重:70 GB
- Transformer layer 數:80
- 每層權重大小:875 MB
- 每層計算運算量:1400億次 INT8 運算
由於 NPU 提供比 CPU 高 200 倍的計算輸出量,單獨在 CPU 上執行推論會慢到不切實際(每個 token 35 秒,相較 NPU 上的 175 毫秒)。系統必須用 NPU 執行所有矩陣運算。然而,NPU 的 8 GB SRAM 無法容納整個 70 GB 的模型,因此推論期間必須從 CPU 記憶體串流傳輸 layer 權重。
下列程式碼產生單一個輸出 token:
void generate_one_token() {
// 依序處理全部80層
for (int L = 0; L < 80; L++) {
// 傳輸:CPU 記憶體 -> NPU SRAM(每層875 MB)
pcie_transfer_to_npu(weight[L], 875_MB);
// 計算:1400億次 INT8 運算,400 TFLOPS
npu_compute_layer(L);
}
sample_output_token();
}
每層計算出的延遲:
- PCIe 傳輸延遲:875 MB ÷ 50 GB/s = 17.5 ms
- NPU 計算延遲:140×10⁹ ops ÷ 400×10¹² ops/s = 0.35 ms
請選出正確的敘述。
參考答案與解析
答案 (A)(B)(C)。每層PCIe傳輸延遲17.5ms×80層=1.4秒;每層NPU運算延遲0.35ms×80層=28ms;1.4秒/28ms=50倍,系統明顯受限於PCIe頻寬,(A)對。INT8→INT4權重量減半(70GB→35GB),若系統是傳輸頻寬瓶頸,傳輸時間也大致減半(1.4秒→0.7秒),(B)對。若NPU SRAM足夠大到能常駐全部70GB權重,每個token就不需要重複透過PCIe搬運權重,延遲會降到只剩運算時間28ms,(C)對。(D)錯:題目已明確說明純CPU執行每個token要35秒,遠比NPU方案(PCIe+運算約1.4秒多)慢得多。(E)錯:把PCIe頻寬加倍只會讓『傳輸』那部分的時間減半(1.4秒→0.7秒),但運算的28ms不會跟著變化,總延遲從約1.428秒降到約0.728秒,減少約49%,不是『剛好』50%。
📄 台大115
▤完整推導請見《WH 資工筆記 · 計算機組織與結構》Ch7 其他(Others)