晶片層 開放閱讀

Runtime

Runtime

概念 ID
runtime
更新時間
2026-05-29
來源數量
待補

Runtime

3秒看懂

**Runtime(執行時)**是程式生命週期的執行階段,尤其指 AI 模型訓練/推論時,負責將模型描述(如計算圖、PyTorch 程式碼)轉化為實際硬體指令、管理記憶體/並行/通訊等資源的軟體層。它是連線開發者程式碼與底層晶片(GPU/ASIC/CPU)的關鍵中介軟體。

3分鐘產業解釋

在 AI 產業鏈中,Runtime 位於架構與硬體之間。開發者用 PyTorch/TensorFlow 編寫模型,但程式碼不是直接跑在 GPU 上——必須經過 Runtime 系統進行圖捕獲、圖最佳化、記憶體分配、核心排程、跨裝置通訊等。

  • 訓練側:分散式訓練 Runtime(如 NCCL、Megatron 的集合通訊層、Ray)負責梯度同步、彈性擴縮容;PyTorch 的 eager Runtime 提供動態執行與自動微分;TorchDynamo/Inductor 等編譯器級 Runtime 則用 JIT 編譯提升訓練速度。
  • 推論側:專用推論 Runtime(TensorRT、ONNX Runtime、OpenVINO)把模型轉換、融合運算元、量化,生成高度最佳化的執行計劃,顯著降低延遲、提高吞吐。
  • 硬體適配:NVIDIA 的 CUDA Runtime、AMD 的 ROCm、Intel 的 oneAPI Level Zero 是晶片廠商提供的底層 Runtime,上層的架構 Runtime 依賴它們來排程計算。

Runtime 的效能直接決定訓練成本(叢集利用率)和推論的使用者體驗(響應速度、功耗)。它雖不如晶片那麼“硬”,但卻是整個 AI 基礎設施的“作業系統”。

15分鐘專家深入

1. 圖執行模式:動態 vs 靜態 vs 編譯

  • Eager Mode(Define-by-Run):代表 PyTorch 預設模式。每個運算元立即執行,便於除錯,但缺少全圖最佳化,執行時開銷高(Python 直譯器、記憶體分配頻繁)。PyTorch 2.x 用 torch.compile 在 eager 外衣下引入圖編譯最佳化,平衡靈活性與效能。
  • Graph Mode(Define-and-Run):代表 TensorFlow 1.x Session、TorchScript(帶 torch.jit.trace/script)。先建圖,後最佳化執行,能做跨運算元融合、常量摺疊、靜態記憶體規劃,但對控制流和支援 Python 操作不夠友好。
  • Compiler Runtime:XLA(加速線性代數)、Glow、Apache TVM 等編譯器將模型 IR 進一步編譯成硬體原生程式碼。PyTorch 2.0 的 TorchInductor 將 FX 圖編譯為 Triton 或 C++ 核心,再通過底層 Runtime 執行。

2. 執行時記憶體與執行排程

  • 記憶體池:CUDA Runtime 提供 cudaMallocAsync 和 CUBLAS 工作空間預分配,避免在熱路徑上頻繁分配釋放。推論 Runtime(如 TensorRT)根據最大 batch size 預先分配所有張量記憶體,消除執行時調整。
  • 流與併發:將獨立的操作放入不同的 CUDA 流,實現 GPU 核心併發、複製與計算的 overlap。Runtime 負責流的依賴管理和同步,不當排程會導致 stalling。
  • 動態形狀支援:高階 Runtime(如 TensorRT 動態形狀、ONNX Runtime 支援動態 shape)需要在執行時檢查尺寸、重新編譯或選擇最優核心,增加複雜度。

3. 分散式通訊 Runtime

  • 集合通訊庫:NCCL(NVIDIA 專有)實現 AllReduce、AllGather 等操作,針對 NVLink、InfiniBand 拓撲做了 Ring/Tree 演算法最佳化。它是訓練 Runtime 的核心依賴。
  • 彈性訓練:架構 Runtime(如 TorchElastic)監視節點存活、動態調整 world size,並在節點故障後自動恢復訓練;底層依賴分散式鍵值儲存(如 etcd)和 rendezvous 機制。
  • MoE(專家混合)通訊:Megatron-LM 等模型的 All-to-All 分發/合併使用 NVIDIA 的 Transformer Engine 執行時,與 NCCL 協作降低 dispatch 開銷。

4. 端側與邊緣 Runtime

  • 輕量化推論 Runtime:TFLite Micro、ONNX Runtime Mobile 針對微控制器、手機 NPU 做了極簡實現,支援無作業系統環境,記憶體佔用常數級。
  • Web Runtime:WebGPU/WebAssembly 執行時可讓瀏覽器直接執行 AI 模型,利用客戶端顯示卡加速。

技術原理(最深,講機制+關鍵引數,可 ASCII 圖,無據則定性)

以 PyTorch 執行一個 y = x.relu() 為例,Runtime 路徑如下:

Python 呼叫 tensor.relu()
   └─ 經由 C++ ATen 庫 (dispatch)
        └─ 檢查裝置型別、資料型別,選擇對應核心
             └─ 如果是 CUDA 裝置:
                   ├─ cudaSetDevice() 確保上下文
                   ├─ cudaMalloc/cudaFree 管理臨時記憶體
                   ├─ cudaLaunchKernelgrid, block, shared_mem, stream(kernel, args)
                   └─ cudaStreamSynchronize 或其他流原語
  • 運算元融合(Runtime 最佳化核心):多個小運算元(如 relu + add + batch_norm)合併為一個核心,消除中間全域性記憶體讀寫。TensorRT 的垂直融合(將卷積加偏置加啟用合併)就是這個原理。融合後記憶體頻寬利用率可顯著提升(具體倍數取決於運算元組合和硬體)。
  • 關鍵引數(受限於無具體廠商資料,僅示意):
    • CUDA 流最大併發數:由硬體 HyperQ 流數量決定(例如某些架構 32 個硬體工作佇列,但實際排程有效率約束)。
    • 核心啟動延遲:數微秒量級,過多小運算元會導致啟動開銷佔比大,所以圖融合很重要。
    • 記憶體複製頻寬:受 PCIe 或 NVLink 頻寬限制。Runtime 使用 pinned memory 和非同步複製最佳化。

分散式 AllReduce 演算法(無證據數字,定性說明):

  • Ring AllReduce:步驟 = 2*(N-1) 次 scatter-reduce + allgather,每次通訊量為 2(N-1)/N * 總資料量(近似於 2x 資料量),頻寬利用率近極限,延遲隨節點數線性增長。
  • Tree AllReduce:Reduce 需要 logP 步,但中間交換器流量大,易形成熱點;NVSwitch 輔助可實現更低的延遲。

推論 Runtime 最佳化流程示例(以 ONNX Runtime 為例)

模型 (ONNX) → 圖分割槽器 (Partitioner) → 消除冗餘節點 → 常量摺疊
→ 運算元融合 (Conv+BN+Relu) → 記憶體規劃 (預分配最大 workspace)
→ 分配 Execution Provider (CUDA/TensorRT/ROCM) → 並行執行計劃
→ 執行時執行迴圈: 喂資料 → 啟動核心 → 複製輸出

技術演進史

  • 2012-2015:Caffe、Theano 等使用靜態圖 Runtime,輸入模型定義,一次性編譯執行。使用者需預定義所有分支。
  • 2016-2018:TensorFlow 1.x 推崇 Graph Session,使用者習慣麻煩;Chainer、PyTorch 推出動態圖,降低門檻。分散式訓練出現 MPI-based ALLReduce 模式(Horovod)。
  • 2019-2021:推論側 Runtime 爆發:ONNX Runtime 推進標準模型互轉,TensorRT 深度繫結 NVIDIA,OpenVINO 專注 Intel 平台。模型服務化 Runtime(Triton Inference Server、TorchServe)出現,把模型變成微服務。
  • 2022-至今:編譯融合時代:PyTorch 2.x torch.compile 成為預設訓練加速方式;JAX 的 JIT 編譯越來越主流;TVM/MLIR 多級 IR 設計開始滲透進主流架構。彈性訓練 Runtime(Ray、Kubernetes Operator)成熟。大型模型時代對通訊 Runtime 提出更高要求(FP8 直接 allreduce、多級並行通訊排程)。

技術路線對比(量化表,受限於無檢索資料,僅定性評等,僅供參考)

特性/產品PyTorch EagerPyTorch compileTensorRT (推論)ONNX Runtime (GPU)OpenVINO (Intel)JAX (compile)
啟動開銷中(編譯耗時)中-高(最佳化耗時)中-高
推論延遲(GPU)一般較好極優很好較好較好
記憶體佔用最佳化手動自動圖最佳化激進預分配自適配自適配自適配
生態相容性最高最高僅限於NVIDIA跨硬體廠商跨Intel器件僅限於XLA後端
動態形狀支援原生支援支援支援支援有限制
分散式訓練支援需外部庫通過torchrun不涉及僅推論僅推論通過mpi4jax等
典型應用研究實驗訓練加速高階NVIDIA推論多硬體推論部署Intel CPU/GPU推論批次訓練

(注:延遲“極優”等詞彙為定性比較,並非精確量化數值,具體差異因模型和硬體而異。)

上下游

上游

  • 架構制定者:Meta(PyTorch)、Google(JAX、TF)、Microsoft(ONNX 規範)等定義 Runtime 的 IR 和 API。
  • 硬體廠商:NVIDIA(CUDA、cuDNN、TensorRT)、AMD(ROCm、MIGraphX)、Intel(oneAPI、OpenVINO)、華為(CANN、MindSpore Runtime)等提供底層驅動、數學庫和專用推論引擎。
  • 編譯器/中介軟體:LLVM/MLIR 社群、TVM 團隊、Triton 語言開發者,為 Runtime 提供新的程式碼生成策略。

下游

  • 雲端服務商:AWS Inferentia、Google TPU VM、Azure ML 等服務內嵌最佳化 Runtime,向客戶提供高吞吐推論例項。
  • AI 應用公司:自動駕駛、醫療影像、推薦系統等,將模型部署到自建或雲端端 Runtime 上。
  • 邊緣/IoT 裝置商:使用精簡 Runtime(TFLite Micro、ONNX Runtime)將 AI 放入功耗受限環境。

關鍵指標

  • 推論吞吐(Queries per second, QPS):單位時間處理的請求數,受 batch size 和併發流效率影響。
  • 推論延遲(P50/P99):P99 高意味著抖動嚴重,Runtime 的 GC、核心同步等可能成為瓶頸。
  • 首次推論初始化時間(冷啟動):包含載入模型、編譯/最佳化、記憶體分配,對 serverless 部署至關重要。
  • 記憶體佔用峰值(Peak GPU Memory):Runtime 的快取策略和記憶體複用策略決定能否執行更大型模型。
  • 通訊頻寬利用率(Bus Utilization):實際 AllReduce 頻寬 / 理論峰值頻寬,反映 Runtime 的通訊演算法和拓撲感知能力。
  • 擴充套件效率(Scaling Efficiency):N 卡訓練速度 /(單卡速度 × N),Runtime 的通訊開銷越小越接近 1。 (所有數值依賴具體硬體與模型,本文[未充分揭露]具體數值,僅解釋指標含義。)

供需與市場資料(因檢索缺失,無定量資料)

目前 AI Runtime 並不作為一個獨立的市場品類被統計,其價值內化在架構、雲端服務、晶片和推論部署平台中。但推論最佳化需求極其旺盛,IDC 等機構預測 AI 推論伺服器市場年複合增長率超過 40%(來源可參考 IDC 相關報告,此處不引具體數字)。Runtime 作為效能的“臨門一腳”,重要性持續上升,尤其在大型模型部署成本高昂的背景下,推論 Runtime 的最佳化成為企業 ROI 的關鍵。

代表公司與資本對映

  • NVIDIA:CUDA Runtime、TensorRT、Triton Inference Server、Magnum IO/NCCL,生態護城河極深,Runtime 與硬體強繫結,通過軟體許可和雲端服務變現(如 AI Enterprise)。
  • Meta:PyTorch 開源 Runtime,業界事實標準,不直接商業化,但通過吸引開發者來鞏固 AI 生態並反哺內部硬體(MTIA)最佳化。
  • Google:TensorFlow Runtime 及 XLA,JAX,以及用於 TPU 的閉源 Runtime(TPU VM),通過 GCP TPU 服務變現。
  • Microsoft:ONNX Runtime 開源,跨平台,與 Azure ML 和 Windows 深度整合,是去碎片化的戰略產品;OLIVE 工具鏈自動選擇最優 Runtime。
  • Intel:OpenVINO、oneAPI Level Zero,配合自家 CPU/GPU/Gaudi 加速器,推動硬體銷售。
  • AMD:ROCm(對標 CUDA),MIGraphX(推論最佳化),採取開源相容策略,追趕 NVIDIA。
  • 獨立廠商/初創:OctoML(Apache TVM 商業化)、BentoML(模型服務化執行時)、Seldon(推論執行時管理),多聚焦於多雲端、多硬體部署的便捷性。

投資邏輯

  • 生態鎖定價值:NVIDIA 的 CUDA Runtime + cuDNN 組合讓使用者模型遷移成本極高,構成持續收費的護城河。
  • 去碎片化機遇:ONNX、MLIR 等標準 Runtime 如果成功,將削弱單一硬體繫結,使推論部署更靈活,相關服務商受益(如模組化推論平台)。
  • 大型模型推論爆發:隨著 LLM 推論成本成為企業最大支出,Runtime 最佳化的價值凸顯,尤其能降低 token 生成延遲和成本的技術(Continuous batching、KV cache 管理)成為創業熱點。
  • 風險:開源 Runtime 大多免費,純 Runtime 最佳化商需要轉型為平台或結合硬體才能產生穩定營收;硬體廠商自研 Runtime 加劇碎片化。

常見誤讀糾偏

  1. “Runtime 只是推論引擎” 糾偏:Runtime 涵蓋訓練和推論兩個階段。分散式訓練執行時(AllReduce 通訊、彈性容錯)同樣複雜且關鍵,只是使用者感知不強。推論引擎是 Runtime 的一個子集。
  2. “用 PyTorch 訓好模型,部署時原樣跑就行” 糾偏:Eager Runtime 的靈活性帶來大量效能損失,直接用於生產延遲高、吞吐低。通常必須經過 torch.export、TensorRT 或 ONNX 最佳化,生產中的 Runtime 和訓練時可能完全不同。
  3. “ONNX Runtime 跑任何模型都能達到最佳效能” 糾偏:ONNX 有運算元覆蓋問題,部分自定義運算元會 fallback 到 CPU 或以 subgraph 形式交給低效後端,最終效能可能遠不如原生 Runtime(如 TensorRT 對 NVIDIA GPU 的極致調優)。實際部署需 benchmark。
  4. “Runtime 效能瓶頸在單卡算力,和軟體層無關” 糾偏:糟糕的 Runtime 排程(如頻繁 CPU-GPU 同步、未做運算元融合)能讓高階 GPU 利用率不到 30%,好的 Runtime 最佳化比提升硬體能效比更經濟。

學習路徑

  • 入門(2-4 周):瞭解 PyTorch torch.compiletorch.cuda.Stream 基本用法;執行 ONNX Runtime 示例轉換 ResNet,觀察延遲變化。
  • 進階(1-2 個月):學習 CUDA 程式設計基礎(記憶體模型、流、核心啟動);閱讀 NCCL 官方文件理解集合通訊;剖析 TensorRT 的 builder 日誌,分析融合圖層。
  • 專家(3 個月以上):閱讀 TVM Bring Your Own Codegen 教程,嘗試為自定義運算元生成程式碼;研究 PyTorch Dynamo 原始碼,瞭解 FX Graph 捕獲;參與 ONNX Runtime 或 TorchInductor 開源貢獻;精讀論文《Efficiently Scaling Transformer Inference》、《GSPMD》、《Alpa》,理解編譯器與 Runtime 協同。

一句話總結

AI Runtime 是演算法與算力之間的“無縫翻譯層”,它決定了模型程式碼在真實晶片上能跑到多快、多省,以及能否彈性、容錯地服務億萬使用者——是 AI 產業不可忽視的底層作業系統。

延伸閱讀與來源

注意:以下為通用權威來源建議,本文因聯網檢索失敗,所有技術描述均為定性行業通識,未引具體定量資料,請讀者查閱原始資料獲取精確規格。

  • PyTorch 官方部落格:《A deep dive into TorchDynamo》
  • NVIDIA 開發者文件:CUDA Runtime API、TensorRT Developer Guide
  • ONNX Runtime GitHub 倉庫及效能測試報告
  • 論文:XLA: Optimizing Compiler for Machine Learning (Google);TVM: An Automated End-to-End Optimizing Compiler for Deep Learning
  • 行業分析:IDC/Forrester 關於 AI 推論基礎設施的報告(可自行搜尋最新版)
  • 分散式訓練:NCCL 官方文件 & Megatron-LM 論文
source: 公開揭露與公開資料整理 本頁僅用於產業鏈學習、資訊檢索和研究輔助;不構成投資建議,不預測漲跌,不提供買賣、部位或目標價建議。
完整概念頁 複盤 13 節結構 公司投研頁 沿產業鏈找到受益公司 投資課 把概念轉成可跟蹤模型