時間 | 版本 | 修改人 | 描述 |
---|---|---|---|
2024年5月10日10:13:54 | V0.1 | 宋全恒 | 新建文檔 |
2024年5月13日11:08:42 | V1.0 | 宋全恒 | 填充了訓練和推理的定義,并且對于推理加速的方面進行了詳細的介紹 |
簡介
?最近要坐推理時的動態量化,因此,需要認真理解一下推理的含義。
概念: 訓練(Training) **訓練是指通過將大量數據輸入到模型中,調整模型參數,從而使得模型能夠更好地適應特定任務的過程。**在訓練過程中,通常需要將數據劃分為訓練集和驗證集,然后使用訓練集來調整模型參數,最后使用驗證集來評估模型的性能。
概念: 推理(Inference)是指將經過訓練的模型應用于新數據或新情境,以做出預測或決策。在推理過程中,通常需要將輸入數據傳遞給模型,并生成相應的輸出結果。推理是人工智能應用中的最后一個階段,它可以將訓練好的模型應用于實際場景中,以解決實際問題。在推理過程中重要的問題是加速accelerattion,包括的關鍵技術有 模型壓縮、剪枝、量化,通過這些手段產生的結果是降低延遲,提升實時性能
網頁 | 描述 |
---|---|
【揭秘】AI訓練與推理,究竟有何玄機? - 知乎 | 提供了訓練和推理的概念理解 |
機器學習系統中的大模型訓練、推理加速與CUDA算子優化概覽 - 知乎 | 提到了推理加速 |
AI技術革命:如何通過推理加速優化你的大模型? - 知乎 | 👍大模型推理加速優化路線 1. 模型結構優化 2. 軟件框架和庫優化。 文章提到了Pre-training,Fine-turing,Alignment Traing的概念和彼此之間聯系 |
深度學習中模型壓縮(Network Compression)的幾種方法(李宏毅視頻課總結)_neuron pruning-CSDN博客 | 👍👍👍里面較清楚的講述了神經網絡壓縮,即推理加速的幾種技術。 |
10-09 周一 圖解機器學習之深度學習感知機學習_圖解感知機-CSDN博客 | 文章里包含了深度學習的基礎概念,日志包含了訓練,包含了深度學習訓練的典型過程,定義模型,定義損失,優化。 |
11-06 周一 神經網絡之前向傳播和反向傳播代碼實戰-CSDN博客 | 這里主要是介紹了前向傳播和反向傳播的概念,核心就是梯度下降的執行過程。 |
?下圖來自 機器學習系統中的大模型訓練、推理加速與CUDA算子優化概覽 - 知乎

?在框架結構優化中,主要包括:
推理定義
?什么是大模型訓練和推理 - 知乎
?推理:指利用訓練好的神經網絡模型進行運算,利用輸入的新數據來一次性獲得正確結論的過程。
?推理追求的事低延時,低功耗,更關注用戶體驗。
?在理解上,推理,其實就是相當于利用訓練得到的模型,執行一步前向傳播。將輸入映射到輸出,得到結果。

?這就涉及深度學習的主要內容,如李宏毅老師所說:

?上圖中,第一步定義了待訓練的模型,其參數為w和b,通過定義損失并結合梯度下降算法,根據一批樣本可以確定一個函數f,而f即經過訓練之后得到的模型,這個模型在深度學習中通常是神經網絡組成的。
?更具體的說,經過訓練的神經網絡可以利用自己學到的知識在數字世界中發揮作用,例如:識別圖像、口語、判斷血液疾病、或是換位思考,你可以將其稱之為——被簡化過的應用程序形式。這種更快速、高效的神經網絡基于訓練來推斷出所呈現的新數據,在AI詞典中,被稱之為“推理”。 具體參見深度學習訓練和推理之間有什么差異?
推理加速
模型結構優化
?即神經網絡壓縮,主要是包括剪枝,量化, 知識蒸餾。
?深度學習中模型壓縮(Network Compression)的幾種方法(李宏毅視頻課總結)_neuron pruning-CSDN博客 包括了李宏毅老師上課的內容。

軟件框架優化
軟件框架優化的含義,可以在模型結構保持不變的情況下進行。
優化策略
- KV Cache
- Iteration-level Scheduling
- PageAttention vLLM
- GPTQ量化 llama.cpp
- Fused kernels
神經網絡執行引擎
- TensorRT
- Tensorflow Serving
- TVM/MLC
與線性代數層的優化不同,執行引擎具備一種獨特的超能力,可以看到整個神經網絡的結構,同時處理多個來自客戶端的請求,因此能夠通過涉及多個算子、整個模型以及多個請求間的優化來提高執行效率
?策略
- 算子融合 Operator Fusion
- 量化Quantization
- 現在推理的**基線數據類型已經是FP16**,比幾年前的FP32提高了不少速度。然而,將模型量化為INT8進行推理,仍然可以帶來更快的速度,而在手機平臺上,量化推理更是一種降低魔法消耗的絕佳選擇。
- 分布式 Distribution 多卡推理和通信加速
- 批量化(Batching)
總結
?推理這個東西,其實是訓練過程中的一次前向傳播,這個筆記就先到這里,要抓緊時間了解量化的知識了。