05-10 周五 推理是什么

05-10 周五 推理是什么
時間版本修改人描述
2024年5月10日10:13:54V0.1宋全恒新建文檔
2024年5月13日11:08:42V1.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算子優化概覽 - 知乎

img

?在框架結構優化中,主要包括:img

推理定義

?什么是大模型訓練和推理 - 知乎

?推理:指利用訓練好的神經網絡模型進行運算,利用輸入的新數據來一次性獲得正確結論的過程。

?推理追求的事低延時,低功耗,更關注用戶體驗。

?在理解上,推理,其實就是相當于利用訓練得到的模型,執行一步前向傳播。將輸入映射到輸出,得到結果。

image-20240510113531919

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

image-20240510114118453

?上圖中,第一步定義了待訓練的模型,其參數為w和b,通過定義損失并結合梯度下降算法,根據一批樣本可以確定一個函數f,而f即經過訓練之后得到的模型,這個模型在深度學習中通常是神經網絡組成的。

?更具體的說,經過訓練的神經網絡可以利用自己學到的知識在數字世界中發揮作用,例如:識別圖像、口語、判斷血液疾病、或是換位思考,你可以將其稱之為——被簡化過的應用程序形式。這種更快速、高效的神經網絡基于訓練來推斷出所呈現的新數據,在AI詞典中,被稱之為“推理”。 具體參見深度學習訓練和推理之間有什么差異?

推理加速

模型結構優化

?即神經網絡壓縮,主要是包括剪枝,量化, 知識蒸餾。

?深度學習中模型壓縮(Network Compression)的幾種方法(李宏毅視頻課總結)_neuron pruning-CSDN博客 包括了李宏毅老師上課的內容。

image-20240510113103052

軟件框架優化

軟件框架優化的含義,可以在模型結構保持不變的情況下進行。

優化策略

  • 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)

總結

?推理這個東西,其實是訓練過程中的一次前向傳播,這個筆記就先到這里,要抓緊時間了解量化的知識了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/12124.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/12124.shtml
英文地址,請注明出處:http://en.pswp.cn/web/12124.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

獨立游戲《星塵異變》UE5 C++程序開發日志3——實現一個存存組件

本篇日志中,我將會介紹如何實現一個有格子,每個格子有容量的物品庫存,如下圖: 一.庫存容器 1.儲存數據的容器 庫存容器最重要的目的就是存儲每一種類的物品擁有的數量,這里我用的是哈希表: std::unordere…

huggingface:利用git克隆目標資源

前言 因為有很多模型資源都被放在了huggingface上,為了下載它們,著實讓一個不懂git的人犯了難,繞了很多遠路,甚至將不需要解決的問題也都拿上了臺面,因此我將在本篇博客中記載一些關于【huggingface】中利用git克隆目標…

【c++】全面理解C++多態:虛函數表深度剖析與實踐應用

🔥個人主頁:Quitecoder 🔥專欄:c筆記倉 朋友們大家好,通過本篇文章,來詳細理解多態的內容 目錄 1.多態的定義及實現1.1多態的構成條件1.2虛函數的重寫1.3 C11 override 和 final1.4重載、覆蓋(重寫)、隱藏…

wireshark協議大致過濾規則

參考鏈接&#xff1a;真保姆鏈接 1、比較操作符 等于 &#xff01;不等于 >大于 <小于 >大于等于 <小于等于 2、協議類型 直接在Filter框中直接輸入協議名即可。注意&#xff1a;協議名稱需要輸入小寫。 tcp&#xff0c;只顯示TCP協議的數據包列表udp&#xff0c…

鴻蒙內核源碼分析 (內核啟動篇) | 從匯編到 main ()

這應該是系列篇最難寫的一篇&#xff0c;全是匯編代碼&#xff0c;需大量的底層知識&#xff0c;涉及協處理器&#xff0c;內核鏡像重定位&#xff0c;創建內核映射表&#xff0c;初始化 CPU 模式棧&#xff0c;熱啟動&#xff0c;到最后熟悉的 main() 。 內核入口 在鏈接文件…

在k8s中安裝Grafana并對接Prometheus,實現k8s集群監控數據的展示

&#x1f407;明明跟你說過&#xff1a;個人主頁 &#x1f3c5;個人專欄&#xff1a;《Grafana&#xff1a;讓數據說話的魔術師》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目錄 一、引言 1、Grafana簡介 2、Grafana的重要性與影響力 …

強化訓練:day9(添加逗號、跳臺階、撲克牌順子)

文章目錄 前言1. 添加逗號1.1 題目描述2.2 解題思路2.3 代碼實現 2. 跳臺階2.1 題目描述2.2 解題思路2.3 代碼實現 3. 撲克牌順子3.1 題目描述3.2 解題思路3.3 代碼實現 總結 前言 1. 添加逗號 ??2. 跳臺階 ??3. 撲克牌順子 1. 添加逗號 1.1 題目描述 2.2 解題思路 我的寫…

【Vue】vue中動態樣式綁定

在Vue中&#xff0c;可以使用動態樣式綁定來根據數據的變化來動態修改元素的樣式。動態樣式綁定可以通過以下幾種方式實現&#xff1a; 對象語法 <template><div :style"dynamicStyles"></div> </template><script> export default {…

STM32學習和實踐筆記(28):printf重定向實驗

1.printf重定向簡介 在C語言中printf函數里&#xff0c;默認輸出設備是顯示器&#xff0c;如果想要用這個函數將輸出結果到串口或者LCD上顯示&#xff0c;就必須重定義標準庫函數里中printf函數調用的與輸出設備相關的函數。 比如要使用printf輸出到串口&#xff0c;需要先將f…

linux 任務管理(臨時任務定時任務) 實驗

目錄 任務管理臨時任務管理周期任務管理 任務管理 臨時任務管理 執行如下命令添加單次任務&#xff0c;輸入完成后按組合鍵Ctrl-D。 [rootopenEuler ~]# at now5min warning: commands will be executed using /bin/sh at> echo "aaa" >> /tmp/at.log at&g…

什么是 PL/SQL

PL/SQL 是 Oracle 公司開發的一種過程化擴展 SQL 語言&#xff0c;它結合了 SQL 語句和過程化編程的特點&#xff0c;允許開發者在一個塊&#xff08;block&#xff09;中編寫聲明、條件語句、循環等&#xff0c;使得數據庫編程更加靈活和強大。PL/SQL 常用于 Oracle 數據庫系統…

bash腳本 報錯:/bin/bash^M:解釋器錯誤: 沒有那個文件或目錄

bash腳本 報錯&#xff1a;/bin/bash^M&#xff1a;解釋器錯誤: 沒有那個文件或目錄 出現這個問題是因為該腳本文件在windows下編輯過 在windows下&#xff0c;每一行的結尾是\n\r&#xff0c;而在linux下文件的結尾是\n&#xff0c;那么你在windows下編輯過的文件在linux下打…

J-STAGE (日本電子科學與技術信息集成)數據庫介紹及文獻下載

J-STAGE (日本電子科學與技術信息集成)是日本學術出版物的平臺。它由日本科學技術振興機構&#xff08;JST&#xff09;開發和管理。該系統不僅包括期刊&#xff0c;還有論文集&#xff0c;研究報告、技術報告等。文獻多為英文&#xff0c;少數為日文。目前網站上所發布的內容來…

零基礎學Java第十三天之日期類

日期時間類 1、Date 1、理解 表示特定的瞬間&#xff1a;Date對象表示從"epoch"&#xff08;即1970年1月1日 00:00:00 GMT&#xff09;開始計算的毫秒偏移量。不包含時區信息&#xff1a;原始的Date類不直接處理時區。它只是一個時間點&#xff0c;沒有與時區關聯。…

使用Vue調用ColaAI Plus大模型,實現聊天(簡陋版)

首先去百度文心注冊申請自己的api 官網地址&#xff1a;LuckyCola 注冊點開個人中心 查看這個文檔自己申請一個ColaAI Plus定制增強大模型API | LuckyColahttps://luckycola.com.cn/public/docs/shares/api/colaAi.html來到vue的頁面 寫個樣式 <template><Header …

ICode國際青少年編程競賽- Python-5級訓練場-綜合練習6

ICode國際青少年編程競賽- Python-5級訓練場-綜合練習6 1、 for i in range(3):Dev.step(2 * (i 1))Dev.turnLeft()while Flyer[2 - i].disappear():wait()Dev.step(2 * (i 1))Dev.turnRight()while Dev.x ! Item[i].x:wait()2、 for i in range(3):Dev.step(2 * i 1)while …

用Python的pynput庫成為按鍵記錄高手

哈嘍&#xff0c;大家好&#xff0c;我是木頭左&#xff01; 揭秘鍵盤輸入&#xff1a;pynput庫的基本介紹 無論是為了安全審計、數據分析還是創建熱鍵操作&#xff0c;能夠記錄和處理鍵盤事件都顯得尤為關鍵。這就是pynput庫發揮作用的地方。pynput是一個Python庫&#xff0c…

Java 對象序列化

序列化&#xff1a;把對象轉化為可傳輸的字節序列過程稱為序列化。 反序列化&#xff1a;把字節序列還原為對象的過程稱為反序列化 序列化的作用是方便存儲和傳輸&#xff0c;細節可參考如下文章&#xff1a; 序列化理解起來很簡單 - 知乎序列化的定義 序列化&#xff1a;把對…

echarts map地圖添加背景圖

給map地圖添加了一個陰影3d的效果&#xff0c;添加一張背景圖&#xff0c;給人感覺有3d的效果 具體配置如下&#xff1a; html代碼模塊&#xff1a; <div class"echart_img" style"position: fixed; visibility: hidden;"></div><div id&q…

Autoware內容學習與初步探索(一)

0. 簡介 之前作者主要是基于ROS2&#xff0c;CyberRT還有AutoSar等中間件完成搭建的。有一說一&#xff0c;這種從頭開發當然有從頭開發的好處&#xff0c;但是如果說絕大多數的公司還是基于現成的Apollo以及Autoware來完成的。這些現成的框架中也有很多非常好的方法。目前作者…