AI系统-2AI算法介绍

发布时间:2026/5/20 4:00:53

AI系统-2AI算法介绍 了解AI算法其实就是了解AI是怎么工作的看似很神奇的可以智能控制对话等其内部原理是什么样本章节进行一个简单的介绍。本文主要参考ZOMI酱的https://chenzomi12.github.io/01Introduction/02Develop.html1. 训练和推理深度学习主要就是训练和推理两个过程训练training可以类比成在学校中学习。神经网络和大多数人一样为了完成一项工作需要接受教育。教育学习的内容就是数据集学习的方法就是算法经过反复的各种花样的学习最后形成在大脑中的经验知识就是模型。推理Inference就是利用训练好的模型对一个新的数据进行处理输出智能的结果。例如图片识别、对话等属于实战应用。一般针对数据集的训练形成的模型需要在数据集中表现良好并且对新的数据进行识别的准确度高那这个算法就是优异的。1.1 模型训练模型训练整体流程根据任务和数据特点选择合适的模型架构。例如对于图像识别任务可以选择卷积神经网络CNN对于序列预测任务可以选择循环神经网络RNN或Transformer等。准备并预处理数据收集数据获取与任务相关的数据集。数据预处理对原始数据进行必要的预处理如灰度化、二值化、噪声去除、数据增强如旋转、缩放、翻转等以及归一化或标准化等以提高模型的学习效果和泛化能力。划分数据集将数据集划分为训练集、验证集和测试集。训练集用于训练模型验证集用于调整模型参数和选择最优模型测试集用于评估模型的最终性能。设置训练参数 确定适当的超参数如学习率、批处理大小、训练周期或迭代次数、优化器等。这些参数对模型的训练效果和速度有重要影响。训练模型使用准备好的训练集和选择的模型架构进行模型训练。在训练过程中算法会不断调整模型的参数以最小化损失函数。损失函数用于衡量模型预测输出与真实输出之间的差距常用的损失函数包括均方误差MSE、交叉熵损失等。评估性能与调整参数:评估性能在验证集上评估模型的性能并记录关键指标如准确率、精度、召回率、F1分数等。这些指标用于衡量模型的预测能力和泛化能力。调整参数根据性能评估结果调整超参数如学习率、批处理大小等。可以采用网格搜索、随机搜索、贝叶斯优化等调参技术来自动寻找最优参数组合。训练Training过程训练的本质上是通过网络中的连接逐层向后传播总误差计算每个层中每个权重和偏差对总误差的贡献梯度 δw然后使用求解梯度的优化算法如梯度下降算法进行优化权重和偏差并最终最小化神经网络的总误差。如上图中上半部分所示训练过程就是根据用户给定的带有标签如图中的 CatDog 等输出标签的数据集不断通过优化算法进行学通过下面步骤学习出给定数据集下最优的模型权重 wn 的取值。推理过程常用的一些算法:前向传播Forward Propagation由输入到输出完成 AI 模型中各层矩阵计算例如卷积层池化层等产生输出并完成损失函数 LOSS 计算。反向传播Back Propagation由输出到输入反向完成 AI 模型中各层的权重和输出对损失函数的梯度求解。梯度更新Weight Update对模型权重通过梯度下降法完成模型权重针对梯度和指定学习率更新。不断重复以上3个步骤直到达到 AI 模型收敛或达到终止条件例如指定达到一定迭代Step次数然后停止执行。如上图所示当完成了模型训练意味着在给定的数据集上模型已经达到最佳或者满足需求的预测效果。在如果开发者对模型预测效果满意就可以进入模型部署进行推理和使用模型。一句话而言我们训练 AI 模型的过程就是通过不断的迭代计算使用梯度下降的优化算法使得损失函数越来越小。损失函数越小就表示算法达到数学意义上的最优。1.2 模型推理推理Inference过程推理只需要执行训练过程中的前向传播过程即可推理的原理是基于训练好的 AI 模型通过输入待预测的数据经过前向传播过程即通过 AI 模型定义的激活函数和非线性函数处理数据得到最终的预测结果。如图中下半部分所示由输入到输出完成 AI 模型中各层的矩阵计算例如卷积层池化层等产生输出。本例中输入是“马冬梅”的图片输出的结果为向量向量中的各个维度编码了图像的类别可能性其中“马冬梅”的类别概率最大判定为“马冬梅”后续应用可以根据输出类别信息通过程序转换为人可读的信息。1.3 模型评估模型评估Evaluation是指对训练完成的模型进行性能分析和测试的过程以确定模型在新数据上的表现如何。分类任务常见的评估指标包括准确率Accuracy、精确率Precision、召回率Recall和F1分数F1 Score等。1. 准确率Accuracy 定义准确率是最直观也最常被提及的评估指标之一它衡量的是模型预测正确的样本数占总样本数的比例。计算公式准确率 (真正例 真负例) / (真正例 假正例 真负例 假负例)2. 精确率Precision 定义精确率是指模型预测为正例中真正是正例的比例它反映了模型预测为正例的结果的可信度。计算公式精确率 真正例 / (真正例 假正例)3. 召回率Recall 定义召回率也称为灵敏度Sensitivity或真正例率True Positive Rate是指模型在所有实际为正类的样本中被正确预测为正类的样本的比例。它反映了模型捕获正类样本的能力。计算公式召回率 真正例 / (真正例 假负例)4. F1分数F1 Score 定义F1分数是精确率和召回率的调和平均数旨在综合两者的表现提供一个平衡指标。计算公式F1分数 2 * (精确率 * 召回率) / (精确率 召回率)参考https://blog.csdn.net/yanceyxin/article/details/134905522https://blog.csdn.net/m0_59614665/article/details/144232215https://chenzomi12.github.io/01Introduction/02Develop.html2. AI算法下面对典型的基本 AI 模型结构进行类型归纳卷积神经网络Convolutional Neural NetworkCNN以卷积层Convolution Layer为主池化层Pooling Layer全连接层Fully Connected Layer等算子Operator的组合形成的 AI 网络模型并在计算机视觉领域取得明显效果和广泛应用的模型结构。循环神经网络Recurrent Neural NetworkRNN以循环神经网络、长短时记忆LSTM等基本单元组合形成的适合时序数据预测例如自然语言处理、语音识别、监控时序数据等的模型结构。图神经网络Graph Neural NetworkGNN使用神经网络来学习图结构数据提取和发掘图结构数据中的特征和模式满足聚类、分类、预测、分割、生成等图学习任务需求的算法总称。目的是为了尽可能多的提取 “图” 中潜在的表征信息。生成对抗网络Generative Adversarial NetworkGAN该架构训练两个神经网络相互竞争从而从给定的训练数据集生成更真实的新数据。例如可以从现有图像数据库生成新图像也可以从歌曲数据库生成原创音乐。GAN 之所以被称为对抗网络是因为该架构训练两个不同的网络并使其相互对抗。扩散概率模型Diffusion Probabilistic Models扩散概率模型是一类潜变量模型是用变分估计训练的马尔可夫链。目标是通过对数据点在潜空间中的扩散方式进行建模来学习数据集的潜结构。如计算机视觉中意味着通过学习逆扩散过程训练神经网络使其能对叠加了高斯噪声的图像进行去噪。混合结构网络Model Ensemble组合卷积神经网络和循环神经网络进而解决如光学字符识别OCR等复杂应用场景的预测任务。基础模型的典型算子已经被 AI开发框架和底层 AI硬件做了较多优化但是 AI 模型已经不单纯只在算子层面产生变化其从网络结构搜索空间等方向演化出如下的新的趋势更大的模型以 Transformer 为基本结构的代表性预训练神经语言模型Neural Language Model例如BERT、GPT-3、LLAMA 等在自然语言处理和计算机视觉等场景应用越来越广泛。其不断增加的层数和参数量该模型对底层系统内存管理分布式训练和硬件设计提出了很大的挑战。更灵活的结构图神经网络模型、深度搜索树网模型等算法不断抽象多样且灵活的数据结构例如图 Graph树 Tree 等应对更为复杂的建模需求。进而衍生了新的算子例如图卷积等与计算框架例如图神经网络框架等。更稀疏的模型结构以多专家模型Mixture of ExpertsMoE和 Pathways 模型结构为代表的模型融合结构让运行时的 AI 系统执行模型更加动态Dynamic和稀疏Sparse提升模型的训练效率减少训练代价支持更多的任务。给系统设计静态分析带来了不小的挑战同时驱动运用即时编译Just In Time Compiling和运行时Runtime更加高效的调度与优化。更大规模的搜索空间用户定义更大规模的超参数与模型结构搜索空间通过超参数搜索优化HPO与神经网络结构搜索NAS自动化找到最优的模型结构。自动化机器学习AutoML为代表的训练方式衍生出多作业执行与多作业Multi-Jobs编排优化的系统需求。更多样的训练方式扩散模型Diffusion Model和深度强化学习Deep Reinforcement Learning为代表的算法有比传统训练方式更为复杂的过程。其衍生出训练推理数据处理混合部署与协同优化的系统需求。AI系统的三大支柱之前就提到过AI数据算法算力这三个因素也是催生AI发展的驱动力而未来AI技术的进步也将从这三个方面进行改进。3.1 大规模数据驱动互联网公司因为其有海量的用户这些用户不断使用互联网服务上传文字、图片、音频等数据又积累了更为丰富的数据。这些数据随着时间的流逝和新业务功能的推出数据量越来越大数据模式越来越丰富。所以互联网公司较早的开发和部署了的大数据管理与处理平台。基于这些海量数据互联网公司通过数据驱动的方式训练人工智能模型进而优化和提升业务用户体验如点击率预测让用户获取感兴趣的信息让更多的用户使用服务进而形成循环。由于天然的随着业务发展遇到更多需要应用人工智能技术的实际场景和需求相较于学术界互联网公司作为工业界的代表较早地将深度学习的发展推到了更加实用落地的阶段并不断投入研发推动人工智能算法与系统的不断演进和发展。在AI中使用的训练数据就是数据集以下几种服务中沉淀和形成了相应领域代表性的数据集搜索引擎Search Engine在图像检索Image Search邻域出现了如 ImageNetCoco 等计算机视觉数据集。在文本检索Text Search出现了 Wikipedia 等自然语言处理数据集。移动应用Application移动应用数据分析是用户获取和留存的强劲引擎。如图所示国内出现了优质的数据源的公司如知乎和小红书传统的贴吧如天涯论坛、百度网吧等充斥广告等地方已经不再是优质数据源。各家移动互联网如淘宝、拼多多收集了大量的用户购买和浏览记录形成庞大的推荐系统数据集广告数据集。海量数据集为 AI 系统的发展产生了以下的影响推动 AI 算法不断在确定任务上产生更高准确度与更低的误差。这样产生了针对 AI 系统发展的用户基础应用落地场景驱动力和研发资源投入。让 AI 有更广泛的应用进而产生商业价值让工业界和学术界看到其应用潜力并投入更多资源进行科学研究持续探索。传统的机器学习库不能满足相应的需求海量的数据集让单机越来越难以完成 AI 模型的训练进而产生了 AI 系统中分布式训练和 AI 集群的需求。多样的数据格式和任务驱动模型结构的复杂性驱动 AI 开发框架和针对 AI 的编译体系需要有更灵活的表达能力对 AI 问题进行表达与映射。同时伴随着性能等需求得到满足数据安全与模型安全问题挑战也变的日益突出。3.2 AI算法的发展算法研究员和工程师不断设计新的 AI算法和AI 模型提升预测效果其预测效果不断取得突破性进展。但是新的算法和模型结构需要 AI 开发框架提供便于对 AI 范式的编程表达力和灵活性对执行性能优化有可能会改变原有假设进而产生了对 AI 系统对于 AI 开发框架的开发过程和 AI 编译器的执行过程优化提出了新的挑战因而促进了 AI 系统的发展。精度提高以 MNIST 手写数字识别任务为例其作为一个手写数字图像数据集在早期通常用于训练和研究图像分类任务由于其样本与数据规模较小当前也常常用于教学。从图中可以观察了解到不同的机器学习算法取得的效果以及趋势1998 年简单的 CNN 可以接近 SVM 最好效果。2012 年CNN 可以将错误率降低到 0.23% (2012)这样的结果已经可以和人所达到的错误率 0.2% 非常接近。公开数据集的发展随着每年 ImageNet 数据集上的新模型取得突破新的神经网络模型结构和训练方式的潜力。更深、更大的模型结构有潜力提升当前预测的效果。1998 年的 Lenet 到 2012 年的 AlexNet不仅效果提升模型变大同时引入了 GPU 训练新的计算层如 ReLU 等。到 2015 年的 Inception模型的计算图进一步复杂且有新的计算层被提出。2015 年 ResNet 模型层数进一步加深甚至达到上百层。到 2019 年 MobileNet3 的 NAS模型设计逐渐朝着自动化的方式进行设计错误率进一步降低到 6.7% 以下。新的模型不断在以下方面演化进而提升效果更好的激活函数和层如 ReLU、Batch Norm 等更深更大的网络结构和更多的模型权重更好的训练技巧: 正则化Regularization、初始化Initialization、学习方法Learning Methods自动化机器学习与模型结构搜索等。上述取得更好效果的技巧和设计驱动算法工程师与研究员不断投入同时也要求 AI 系统提供新的算子Operator支持与优化进而驱动AI开发框架和AI编译器对前端、中间表达和系统算法协同设计的演进和发展。3.3 算力和计算机硬件体系结构的进步从 1960 年以来计算机性能的增长主要来自摩尔定律到二十世纪初大概增长了 10^8 倍。但是由于摩尔定律的停滞性能的增长逐渐放缓了。单纯靠工艺尺寸的进步无法满足各种应用对性能的要求。于是人们就开始为应用定制专用芯片通过把通用的功能移动到单独的核专用任务的硬件进行放大例如AI SoC中可能一半以上的晶体管都被NPU占用了。GPU最早使用图形图像处理器 GPU 就对图像类算法进行专用硬件加速。如上图所示后来出现 GPGPU即通用 GPU对适合于抽象为单指令流多数据流SIMD或者单指令多线程SIMT的并行算法与工作应用负载都能起到惊人的加速效果。NPUAI 芯片拥有更高的计算能力其中一个代表就是谷歌 TPUTensor Processing Unit通过对深度学习模型中的算子进行抽象转换为矩阵乘法或非线性变换根据专用负载特点进一步定制流水线化执行的脉动阵列Systolic Array进一步减少访存提升计算密度提高了 AI 模型的执行性能。华为昇腾 NPU神经网络处理器针对矩阵运算专门优化设计可解决传统芯片在神经网络运算时效率低下的问题。此外华为达芬奇架构面向 AI 计算设计通过独创 3D Cube 设计每时钟周期可进行 4096 次 MAC 运算为 AI 提供强大算力支持。算力的一些发展方向系统结构创新除了算子层面驱动的定制AI 层面的计算负载本身在算法层常常应用的稀疏性和量化等加速手段也逐渐被硬件厂商根据通用算子定制到专用加速器中例如英伟达推出的 Transformer Engine在专用计算领域进一步协同优化加速发掘深度学习的作业特点如稀疏性等通过算法系统硬件协同设计进一步提升计算效率和性能。。通过定制化硬件厂商又将处理器性能提升了大约 10^5 量级。并行计算除了单独芯片的不断迭代进行性能放大Scale Up系统工程师不断设计更好的分布式计算系统将计算并行来达到向外扩展Scale Out整体来看目前AI的智力跟人脑还有很多差距只能完成一些智商低一些的工作否则就不保真。其中GPU/NPU的进步很大算力已经远超人类大脑但是目前的算法相对人脑无数年的进化还跟不上现在AI芯片内部的代码还是人类制定的固定代码所以只能用算力来拼目前短期内算力仍然是一个瓶颈。算力的核心就芯片国内算法跟上还比较容易例如deepseek但是芯片只能去屯显卡还需要有很大的发展芯片几年前已经成为“卡脖子”的技术了。美国对一般芯片制造放的还比较宽例如手机芯片但是AI芯片特别是用于后端训练的大芯片基本一刀切的不给供了买也是买英伟达的旧款道路漫漫发展不易。后记芯片也是本系列之后要讲的一个重点往往在学校基本能学到AI算法的很多内容B站上例如李沐、吴恩达甚至一些国外的大学开源课也有很多教程。但是AI芯片的东西资料还比较少一是门槛可能高技术比较新另外一次流片就需要很多资金大公司才玩的起利益比较大尽管很多学者论文都有讲解学术界一般领先很多年就是技术迭代快的计算机也领先一二十年例如数据流框架早在几十年前BSP里面就引入了只是工业界懂的人又拿出在新领域真刀实枪的产品化应用而已但是AI芯片技术还没有进入大众普惠的时代后续会重点进行介绍。“啥都懂一点啥都不精通干啥都能干干啥啥不是专业入门劝退堪称程序员杂家”。欢迎各位有自己公众号的留言申请转载纯干货持续更新欢迎分享给朋友、点赞、收藏、在看、划线和评论交流公众号“那路谈OS与SoC嵌入式软件”欢迎关注个人文章汇总https://thatway1989.github.io

相关新闻