目录
一般智算平台产品的主要使用流程图如下:
一、概览
1. 项目空间
是一个独立的工作区域,用于组织和管理与特定项目相关的所有资源,包括数据、代码、模型、文档等。项目空间可以提供隔离和权限控制,确保项目成员可以在一个相对独立的环境中协作开发,可对项目空间进行文件存储的项目成员指定(根据RAM账号)、配额分配、专属集群的配额。
2. 专属集群
把整个节点独立给客户使用,提供了更高的安全性和隔离性。在物理和逻辑上都与其他用户完全隔离,只有该用户或组织能够访问和使用这些资源,大大降低了数据泄露、被攻击的风险,满足对数据安全和隐私要求极高的行业需求,如政府、医疗等领域。
3. 共享集群
性能可能会受到同一集群中其他用户行为的影响。在业务高峰时期,如果同一集群中的其他用户大量占用资源,可能会导致部分计算资源的性能下降,出现响应变慢、处理速度降低等情况,适用于小规模客户,即用即取。
二、数据准备
1. 智算文件
指与智能计算相关的文件,这些文件可以包含各种数据、代码、模型等信息。智算文件通常用于在智能计算平台上进行数据存储、模型训练、推理等操作,所以在进行训推等行为之前,需要先上传相关文件至智算文件中。在进行训推任务时,会自动将上面的文件挂载到相应的集群中。
2. 数据处理(IDE)
IDE 即集成开发环境(Integrated Development Environment),数据处理 IDE 是专门为数据处理任务设计的软件开发环境。它提供了代码编辑、调试、运行、版本控制等一系列功能,支持用户使用各种数据处理语言(如 Python、SQL 等)编写和执行数据处理脚本。可在数据处理(IDE)模块中创建/管理数据处理实例。
3. 数据处理(算子)
数据处理(算子)提供开箱即用的数据清洗和数据增强等能力,通过对用户的原始数据进行一定的筛选或增强,提升数据质量,优化模型训练效果。算子其原理为对根据某些特定的条件匹配的数据进行替换、新增、删除等操作,如异常清洗中的繁体转简体、去除IP地址、数据去重等都属于算子。目前移动云提供5种不同的数据处理模版提供给用户选择,包含文本数据处理、图片数据处理、音频数据处理、文本数据增强和图片数据增强。
4. 数据标注
该模块提供图片、文本、视频、音频等数据标注能力,可帮助用户快速高效的获取高质量标注数据集。
在模型训练中,数据处理环节至关重要,首先原始数据往往包含噪声、错误或不完整的信息,通过数据清洗可以有效提升数据质量,为后续分析奠定坚实基础。其次数据来源多样,格式可能不一致,因此需要进行标准化处理,以统一数据格式,使模型能够更高效地处理数据。此外,数据分布可能存在不均衡的问题,通过采样技术可以平衡数据分布,从而提升模型的泛化能力。而且原始数据通常包含大量特征,其中许多可能是冗余或无关的。通过特征筛选,可以降低数据维度,提高计算效率,同时避免模型过拟合。所以,数据处理是模型训练中不可或缺的一环,通过清洗、标准化、采样、特征筛选、数据增强等步骤,可以显著提升数据质量,为模型的高效训练和性能优化提供有力支持。
三、模型开发与训练
1. 模型开发
大模型开发镜像与云主机镜像在多个方面具有相似作用。在环境一致性上,云主机镜像能打包操作系统、预装软件及配置文件,使基于其创建的新实例拥有一致运行环境,避免环境差异带来的软件兼容性问题;大模型开发镜像则包含特定版本的深度学习框架、编程语言、必要库以及计算芯片驱动等,让开发人员在不同节点或服务器使用时保证模型开发和训练环境一致,减少配置不一致引发的错误。快速部署方面,云主机镜像可快速创建新实例,节省部署时间,如企业可基于其迅速扩展业务服务器;大模型开发镜像能避免开发中复杂的软件安装与配置,使开发者直接启动开发环境,快速开展模型开发与训练。可重复性上,云主机镜像可保证系统环境重复复制重建,新主机功能配置与原主机相同;大模型开发镜像对于开发而言至关重要,能确保不同人员、阶段和实验在相同环境下进行,保证结果可重复和可比。
常见镜像
- NVIDIA CUDA 镜像:CUDA(Compute Unified Device Architecture)是NVIDIA推出的一种并行计算平台和编程模型,用于在NVIDIA GPU上进行通用计算。CUDA镜像包含了CUDA Toolkit,这是开发GPU加速应用程序所必需的工具包。许多深度学习框架,如TensorFlow和PyTorch,都依赖于CUDA来实现高效的GPU计算。使用CUDA镜像可以确保开发环境中具备正确的CUDA版本,从而使深度学习模型能够在GPU上顺利运行。
- Anaconda 镜像:Anaconda是一个流行的Python和R编程语言的科学计算和数据科学平台。它包含了大量的科学计算库和工具,如NumPy、pandas、Scikit-learn等。Anaconda镜像提供了一个预配置的环境,可以方便地安装和管理这些库。在大模型开发中,Anaconda镜像可以帮助开发者快速搭建起一个包含所需依赖的开发环境,减少配置时间和错误。
- TensorFlow 官方镜像:TensorFlow是Google开发的一个开源深度学习框架,被广泛应用于各种机器学习和深度学习任务。TensorFlow官方镜像提供了不同版本的TensorFlow,以及相应的依赖库。这些镜像可以帮助开发者快速部署和运行TensorFlow模型,同时也提供了与其他工具和框架的集成支持。例如,TensorFlow官方镜像通常会包含CUDA和cuDNN的支持,以便在GPU上加速模型训练。
- PyTorch 官方镜像:PyTorch是由Facebook开发的另一个流行的深度学习框架,以其动态计算图和易于使用的接口而受到欢迎。PyTorch官方镜像提供了不同版本的PyTorch,以及相应的依赖库。与TensorFlow类似,PyTorch官方镜像也支持在GPU上运行,并且提供了与其他工具和框架的集成支持。使用PyTorch官方镜像可以帮助开发者快速搭建起一个适合开发和训练PyTorch模型的环境。
- Keras 镜像:Keras是一个高层神经网络API,用Python编写,能够运行在TensorFlow、CNTK或Theano之上。Keras镜像提供了预配置的Keras环境,以及所需的依赖库。对于那些希望使用Keras进行快速原型开发和实验的开发者来说,Keras镜像是一个方便的选择。它可以帮助开发者快速搭建起一个包含Keras和相关库的环境,从而专注于模型的设计和训练。
- MXNet 镜像:MXNet是一个开源的深度学习计算平台,支持多机多节点和多GPU计算。MXNet镜像提供了预配置的MXNet环境,以及所需的依赖库。MXNet在分布式训练和移动端应用方面具有一定的优势,因此对于那些需要在这些场景下开发大模型的开发者来说,MXNet镜像是一个不错的选择。使用MXNet镜像可以帮助开发者快速搭建起一个适合开发和训练MXNet模型的环境。
镜像名称解析举例
modellink - develop - model:1.1.0 - pytorch2.1.0 - py3.10 - npu - cann8.0.rc2.2.business - ubuntu22.04
- 镜像用途:用于模型开发,modellink 项目的 1.1.0 版本,适用于商业场景。
- 关键组件:
- 深度学习框架:PyTorch 2.1.0。
- Python 版本:Python 3.10。
- 计算芯片与驱动:NPU 和 CANN 8.0.rc2.2。
- 操作系统:Ubuntu 22.04。
目前支持Jupyter和vscode进行模型的调试开发,可以针对已开发过的实例进行保存镜像(保存在CIS(容器镜像服务) ,需要提前购买CIS产品)。
2. 模型训练
模型训练是使用训练数据对模型进行优化的过程。在训练过程中,模型会根据输入的数据和对应的标签,不断调整自身的参数,以最小化预测结果与真实标签之间的误差。目前移动云支持创建预训练和微调任务。
Tensorboard:是一个用于可视化深度学习模型训练过程和结果的强大工具,它是 TensorFlow 的一个组件,但也可以与其他深度学习框架结合使用,主要功能有:
- 标量可视化:用于展示训练和验证过程中的各种标量指标,如召回率(recall)、准确率(accuracy)等随训练轮次的变化情况,帮助用户直观地了解模型的训练进度和性能。
- 图像可视化:可以展示训练数据中的图像样本、模型生成的图像等。这对于计算机视觉任务,如图像分类、目标检测、图像生成等非常有用。
- 图形可视化:展示 TensorFlow 计算图的结构,帮助用户理解模型的架构和数据流向,便于调试和优化模型。
- 直方图可视化:显示张量(如权重、偏置等)的分布情况,有助于分析模型参数的更新和变化。
- 嵌入可视化:在高维空间中可视化数据点的分布,例如将词向量或图像特征向量投影到二维或三维空间,帮助用户理解数据的聚类和分布特征。
模型训练过程中支持可视化运维参数(cpu、npu、内存、网络)监控。
微调和一般训练(从头开始训练)是深度学习中两种不同的训练方式,存在多方面区别。在模型起始状态上,一般训练从随机初始化的参数开始,需从大量数据中学习通用特征;而微调基于在大规模数据集上预训练好的参数,模型已有一定的先验知识。数据需求方面,一般训练需要大量数据以避免过拟合,微调对数据量要求相对较低。训练时间和计算资源上,一般训练耗时久且资源消耗大,微调则耗时短、资源消耗少。应用场景上,一般训练适用于无合适预训练模型或任务差异大的情况,微调广泛用于实际任务尤其是数据量有限时。在模型性能上,一般训练若条件合适能得到适配特定任务的模型,但受多种因素影响;微调通常能较快获得较好性能,不过若预训练模型与目标任务差异大,效果会受限。
四、模型推理
提供统一AI算法封装标准,灵活支持多框架模型的统一纳管,各类Ai能力可快速上架纳管,可以将训练好的模型进行推理,目前支持镜像部署和模型部署,其中模型部署服务中的各个模型来源说明如下:
- 智算文件:之前训练好的模型
- 已注册模型:已经保存过版本的模型
- 微调后模型:执行过微调训练的模型
- 预置模型:移动云内置的开源模型
创建好推理任务后可发布推理服务,将API调用至实际的应用中(也可对接至智能体)。
五、Q&A
智算平台和大模型平台之间有什么关系?
它们的功能互补和协同工作,智算平台提供了强大的算力资源,而大模型服务平台则提供了开源模型和模型部署的环境。大模型服务平台支持用户订购智算平台的算力资源,以便能够部署和推理模型,用户可以在大模型服务平台上使用智算平台的算力资源来运行和执行模型,从而实现模型的推理功能。