05-10 周五 推理是什么

05-10 周五 推理是什么

时间 版本 修改人 描述
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)

总结

推理这个东西,其实是训练过程中的一次前向传播,这个笔记就先到这里,要抓紧时间了解量化的知识了。

相关推荐
Hiweir ·2 分钟前
word2vector训练代码详解
python·深度学习·机器学习·自然语言处理·word2vec
Jumbuck_104 分钟前
YOLOv8-pose+streamlit 实现人体关键点检测/姿态估计系统
python·深度学习·yolo·计算机视觉·姿态估计·关键点检测·健身
新缸中之脑8 分钟前
神经网络修剪实战
人工智能·深度学习·神经网络
微雨盈萍cbb1 小时前
LLaMa-Factory入门教程
人工智能·深度学习·llama
不喝咖啡iiiiii2 小时前
卷积神经网络 循环神经网络
rnn·深度学习·cnn
小森( ﹡ˆoˆ﹡ )2 小时前
Chroma 向量数据入门
数据库·人工智能·python·深度学习·机器学习·自然语言处理
橙子小哥的代码世界2 小时前
【深度学习】04-Cnn卷积神经网络-01- 卷积神经网络概述/卷积层/池化层/分类案例精讲
人工智能·深度学习·cnn
sp_fyf_20242 小时前
[大语言模型] 情感认知在大型语言模型中的近期进展-2024-09-26
人工智能·深度学习·神经网络·语言模型·自然语言处理·数据挖掘·nlp
sp_fyf_20242 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-27
人工智能·深度学习·神经网络·算法·语言模型·自然语言处理
Joemt3 小时前
u2net网络模型训练自己数据集
深度学习