AI 生命周期
AI生命周期是规划、训练、部署和维护 AI 系统的结构化迭代过程。AI解决方案并非孤立设计或部署,它们是动态系统,且其持续效能依赖于精心规划和严格监控。
- 问题定义:确认要使用AI解决的具体问题
- 数据收集和准备:训练数据的质量和数量是影响 AI 模型性能的最重要因素
- 模型选择:选择最适合当前需求、训练数据和计算资源的模型架构
- 模型训练:计算密集型过程,模型会分析庞大的数据集,以学习其中的模式和关系
- 模型评估:评估模型是否能很好泛化到未见过的数据
- 模型部署:在实际生产环境中运行模型
- 模型监控:持续监控模型性能指标和用户反馈
AI 框架
框架组成
人工智能 (AI) 框架由用于开发 AI 系统的数据集、库、包和工具组成。这一数字生态系统为创建定制化的 AI 解决方案和个性化的 AI 应用提供了一个结构化的基础。尽管各个框架不尽相同,但通常都包含以下元素:
- 用于准备、处理和加载数据集的软件包和库
- 常用机器学习算法的实现
- 预先配置且可随时进行微调或部署的预训练模型
- 用于模型训练和模型评估的方法
- 用于在不同编程语言中促进 AI 开发的应用程序编程接口 (API)
- 用于优化超参数和模型性能的扩展功能
一些框架还具备以下高级功能:
- 分布式训练 API 和库,支持在多台机器或 GPU 上通过并行计算训练模型
- MLOps 工具(适用于模型部署和监控)
- 通过权重和偏差的直方图、学习曲线和模型预测的图表,以及准确度和损失等指标的图形,来更好地理解模型的可视化工具
框架选择
AI 框架将机器学习的复杂性封装到模块中,从而减少了理解底层数学和统计知识并将其转化为软件代码所花费的时间和精力。 AI 框架的主要优势包括:
- 降低开发成本
- 标准化工作流程
- 更快地实施
在选择 AI 框架时,需要考虑以下几个因素:
- 使用便捷
- 集成
- 可解释性与可说明性
- 开源与专有
- 性能和可扩展性
随着 AI 技术的不断进步,相关框架也在持续改进,目前最新、最常用的 AI 框架如下所示:
- Hugging Face
- IBM Watson Studio
- Keras
- LangChain
- PyTorch
- Scikit-learn
- TensorFlow
模型
人工智能 (AI) 模型是一种在包含大量信息的数据集上训练而成的计算机程序或算法。训练过程使 AI 模型能够学习数据中的模式和关系,从而对未曾见过的新数据进行预测或决策。
AI、机器学习和深度学习是彼此关联但不完全相同的概念。以下是它们之间的主要区别:
- AI 模型是一个广义概念,涵盖机器学习、深度学习模型,以及基于规则的系统、专家系统等其他技术。凡是展现出智能行为的模型,都属于此范畴。
- 机器学习模型是 AI 模型的子集,利用统计方法从数据中学习,无需明确编程。它们可以采用多种技术,包括但不限于神经网络。
- 深度学习模型是机器学习模型的进一步细分,依靠多层人工神经网络从数据中进行学习。它们在图片识别和语音识别等复杂任务中尤为有效。
训练和推理
训练
训练是机器学习中开展“学习”的环节。在模型训练中,机器学习模型会对一批训练数据示例进行预测。在监督学习中,损失函数会计算每次预测的平均误差(或“损失”),而优化算法则可用于更新模型参数以减少损失。此流程会不断重复,直到损失最小化到可接受的水平。强化学习的工作原理与之类似,但其目标是最大化奖励函数,而非最小化损失函数。
简而言之,AI 训练通常包括前向传播(模型根据每个输入生成输出)和反向传播(计算模型参数的潜在改进)。这些参数更新构成了机器学习模型的“知识”。
训练AI模型一般会向其输入大量数据,并让其从中学习模式。使用的数据类型取决于模型的具体训练任务。例如,要训练模型识别图片中的鞋子,可以向其提供一个图片数据集,并标注哪些图片包含鞋子,哪些不包含。这是一个持续进行的过程,涵盖多个关键步骤:
- 数据准备:包括数据收集、清理、标记、转换处理,以及从数据中提取和构建特征。这一步至关重要,会影响模型的性能、可伸缩性和成本效益。
- 模型选择:选择合适的 AI 模型取决于问题类型、数据特征、模型复杂度和对可解释性的需求。需要考虑避免欠拟合(模型过于简单)和过拟合(模型过于复杂)。
- 模型训练:这包括将准备好的数据提供给所选模型,并调整参数以尽量减少误差、提升准确率。
- 参数调优:通过调整控制学习过程的设置,寻找最佳配置,以实现最优性能并平衡偏差与方差的权衡。
预训练 AI 模型(或者称为基础模型)是指已经使用大量数据进行训练的 AI 模型,通常作为构建新 AI 模型的起点,有助于开发者节省大量时间和精力。
在应对常见 AI 任务时,使用预训练模型是比从头构建模型更高效的替代方案。这些模型可以直接使用,也可以根据特定应用场景进行微调。如果要执行的任务与预训练模型原本的任务类似,那么微调该模型通常比从零开始训练新模型更高效、更简单。
微调模型是指在使用预训练模型的基础上,将其在较小的、特定任务的数据集上继续训练,以使其能力更好地适应您的需求。不过,使用预训练模型也可能存在一些潜在的缺点:可能不适合所有任务,有时还会反映原始训练数据中存在的偏差。在某些情况下,可能需要从头开始训练模型,才能达到所需的准确性和自定义程度。
模型训练完成后,应在其未曾接触过的独立数据集上进行测试,这样做是为了评估模型对新数据的泛化能力,并识别可能存在的问题。
推理
在 AI 推理中,经训练的模型随后会对真实输入数据进行预测。AI 推理的工作原理是利用它“学到”的知识(即为提高其对训练数据的性能而进行的模型参数更新)来推断新输入数据的正确输出。与模型训练不同,推理只需要前向传播。
一个用于识别照片中物体的 AI 模型的推理过程如下:
- 输入数据准备:首先提供输入数据(照片),可能需要将其大小调整为训练时所用的照片大小。
- 模型执行:接下来,AI模型会分析准备好的照片。它会寻找与训练期间所学内容相匹配的模式,例如颜色、形状和纹理。这种快速分析称为“前向传递”,是一个只读步骤。
- 输出生成:模型生成结果,对于照片分析可能是概率得分,例如图片包含“狗”的概率为95%。
虽然训练和推理通常是独立的不同阶段,但值得注意的是它们并非相互排斥。例如,某个社交媒体平台的推荐算法在您加入平台之前便已基于大量用户行为数据集进行训练,且每次向您提供内容建议时都会进行推理。但是,经训练的此模型还会不断根据您的个人行为进行微调,并根据您个人与内容互动的方式完善其建议。
设计 AI 生态系统时,最重要的考虑因素之一是决定推理工作负载实际运行的位置。换句话说,则是硬件的位置以及访问该硬件的方式。部署环境通常分为四类:
- 云端部署:推理在数据中心强大的远程服务器上运行
- 以数据主权为代价下实现可扩展性的最快途径
- 数据网往返云端,延迟不可控
- 边缘部署:直接在生成数据的设备(例如智能手机或工业传感器)上执行推理
- 延迟低
- 隐私保护强
- 带宽费用低
- 可以离线运行
- 受限于设备本身的计算能力
硬件
AI 训练和推理是一个高度计算密集型的流程,需要专门的硬件和软件。
- 图形处理单元 (GPU)
- 张量处理单元 (TPU)
- 神经处理单元 (NPU)
- 现场可编程门阵列
- 专用集成电路
参考
https://www.ibm.com/cn-zh/think/topics/ai-lifecycle
https://www.ibm.com/cn-zh/think/topics/ai-frameworks
https://www.ibm.com/cn-zh/think/topics/ai-inference
https://www.redhat.com/zh-cn/topics/ai/what-is-ai-inference
https://cloud.google.com/discover/what-is-an-ai-model?hl=zh-CN
https://cloud.google.com/discover/what-is-ai-inference?hl=zh-CN
