尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

AI基础设施实战:从华为云ModelArts看AI工程化落地

AI基础设施实战:从华为云ModelArts看AI工程化落地 最近AI 领域的热词层出不穷从 AI Agent 到 AI 绘画再到 AI 编程似乎每个细分方向都在快速迭代。然而对于大多数开发者和企业而言一个更根本的问题正在浮现当所有人都想“上车”AI时我们脚下的“路”和“车”本身是否已经足够坚实、可靠且易于驾驭即将到来的华为云 HC2026 大会其主题“全智能战略与 AI 基础设施”恰好指向了这个核心痛点。它没有停留在展示某个炫酷的模型或应用而是将焦点对准了支撑所有 AI 创新得以规模化、高效落地的底层基座。这释放了一个强烈的信号AI 竞争的下半场已经从“模型竞赛”转向了“基础设施竞赛”。对于技术决策者和一线开发者来说理解这场竞赛的规则和工具可能比追逐某个单一的热门模型更为重要。本文将带你深入解读“AI 基础设施”这一概念在当下的具体内涵并基于华为云可能的技术动向为你梳理作为一名开发者如何评估、选择并利用好云上的 AI 基础设施来真正提升你的 AI 应用开发效率与工程化水平。我们不仅会探讨“是什么”更会聚焦于“怎么用”和“为什么重要”。1. 这篇文章真正要解决的问题从“玩模型”到“建工程”的鸿沟很多开发者都有过这样的经历在本地用 Jupyter Notebook 跑通了一个开源大模型效果惊艳感觉“AI 也就那么回事”。但一旦试图将其集成到自己的业务系统部署上线服务真实用户各种问题便接踵而至算力从哪里来模型如何版本管理推理服务如何高可用、低延迟流量大了怎么扩容成本如何控制安全与合规如何保障这中间的鸿沟就是“AI 实验”与“AI 工程”之间的差距。“AI 基础设施”正是为了填平这道鸿沟而存在的。它不是一个具体的算法而是一整套工具、平台和服务的集合旨在让 AI 应用的开发、部署、运维和管理变得像开发一个普通 Web 服务一样标准化和流程化。华为云在 HC2026 上强调“全智能战略与 AI 基础设施”其潜台词是未来的 AI 能力将如同水电煤一样通过强大的基础设施被无缝、稳定、经济地输送到千行百业。对于开发者而言这意味着关注点的转移你可以更专注于业务逻辑和模型调优而不是耗费大量精力在环境搭建、资源调度和运维救火上。效率的质变一套好的基础设施能将模型从实验到上线的周期从“月”缩短到“天”甚至“小时”。成本的优化通过池化算力、弹性伸缩、混合精度推理等技术基础设施能显著降低 AI 应用的总体拥有成本TCO。因此本文要解决的正是开发者如何借助云厂商提供的 AI 基础设施能力跨越从模型原型到生产系统的工程化挑战。我们将以华为云可能的布局为线索拆解一个现代 AI 基础设施应具备的核心组件并提供具象化的实践思路。2. 基础概念什么是“AI 基础设施”在深入之前我们需要明确几个容易混淆的概念。很多人将“AI 基础设施”等同于“GPU 服务器集群”这其实是一个很大的误解。AI 基础设施是一个分层体系我们可以用一个“AI 应用工厂”来类比计算层“动力车间”这确实是基础包括 GPU、NPU如华为昇腾、CPU 等异构算力。但关键不在于硬件本身而在于云上如何对这些算力进行池化、调度和弹性供给。你需要的是“按需获取算力”的能力而不是管理物理服务器。框架与平台层“生产线与流水线”开发框架如 PyTorch, TensorFlow, MindSpore华为自研。基础设施需要提供对这些框架的深度优化和便捷环境。机器学习平台MLOps Platform这是核心。它涵盖了从数据准备、模型训练、评估、注册、部署到监控的全生命周期管理MLOps。类似于 DevOps 对于软件工程的意义。模型服务层“产品包装与发货”模型训练好后如何变成可调用的 API 服务这涉及模型仓库、在线推理服务、批量预测、边缘部署等能力。需要关注服务的高可用、自动扩缩容、版本灰度发布、流量治理等。工具与生态层“标准件与工具箱”包括 Prompt 管理工具、向量数据库、Agent 开发框架如相关热词中提到的harness这类围绕 Agent 逻辑的基础设施层、可视化工具、安全与合规工具等。这些工具能极大提升特定场景下的开发效率。华为云“全智能战略”的可能内涵不仅仅是提供上述某一层的能力而是试图提供端到端、软硬协同、跨云边端的一体化解决方案。例如用自家昇腾硬件MindSpore 框架在云上进行大规模训练然后轻松将模型部署到边缘设备如华为擎云终端或 IoT 设备如 ESP32上并实现统一的模型管理和 OTA 更新。对于开发者理解这个分层结构的意义在于当你在选择云服务时可以系统地评估其 AI 基础设施是否覆盖了你的全流程需求而不仅仅是看它有没有最新的 GPU 型号。3. 环境准备从零体验云上 AI 基础设施理论之后我们进入实践。要体验 AI 基础设施第一步就是拥有一个云环境。这里我们以华为云为例演示如何快速搭建一个用于 AI 开发与部署的基础环境。前置条件一个华为云账号注册过程略。完成企业实名认证个人认证也可用于体验。准备一定的充值金额或使用新用户赠金用于创建按需计费的资源。3.1 创建基础 VPC 与安全组AI 计算资源通常需要放入私有网络VPC中以确保安全。登录华为云控制台进入虚拟私有云 VPC服务。点击“创建虚拟私有云”填写名称如vpc-ai-demoCIDR 块建议使用192.168.0.0/16。在同一页面或稍后创建子网如subnet-ai-01CIDR192.168.1.0/24并选择可用区。进入安全组服务为 AI 计算资源创建一个新的安全组如sg-ai-compute。添加入方向规则允许来自0.0.0.0/0的 TCP 端口22SSH和8888Jupyter Notebook 常用端口访问仅用于测试生产环境务必严格限制 IP。添加入方向规则允许本安全组内所有流量互通源选择本安全组sg-ai-compute。3.2 申请 AI 算力资源以 GPU 实例为例华为云提供了多种带 GPU 的弹性云服务器ECS规格。进入弹性云服务器 ECS服务点击“购买弹性云服务器”。在“基础配置”中选择“公共镜像”。对于 AI 开发建议选择Ubuntu 20.04/22.04或CentOS的镜像。华为云也提供了预装 AI 框架的市场镜像可以搜索“PyTorch”、“TensorFlow”或“MindSpore”选择官方或认证的镜像能省去大量环境配置时间。在“规格”中筛选“GPU 加速型”。根据需求选择例如对于学习和小型模型p3.2xlarge.8配备 1 张 V100 GPU可能足够对于更大规模训练可以选择p3.8xlarge.8或基于昇腾的ai1s系列实例。在“网络配置”中选择刚才创建的vpc-ai-demo和subnet-ai-01安全组选择sg-ai-compute。设置登录密钥对推荐或密码。配置系统盘和数据盘AI 训练需要较大数据存储空间建议额外挂载一块高性能 SSD 盘。完成购买并等待实例创建成功。3.3 配置开发环境以预装 PyTorch 的镜像为例如果选择了预装镜像很多环境已经就绪。我们通过 SSH 连接进行验证和补充配置。# 1. SSH 连接到你的 ECS 实例 (替换 YOUR_ECS_EIP 为你的公网IP) ssh -i your-key.pem ubuntuYOUR_ECS_EIP # 2. 验证 Python 和 PyTorch 环境 python3 --version pip3 list | grep torch # 3. 安装 Jupyter Notebook 以便在浏览器中开发 (可选但推荐) pip3 install jupyter # 生成配置文件 jupyter notebook --generate-config # 设置密码 jupyter notebook password # 修改配置文件允许远程访问 sed -i s/# c.NotebookApp.ip localhost/c.NotebookApp.ip */ ~/.jupyter/jupyter_notebook_config.py sed -i s/# c.NotebookApp.open_browser True/c.NotebookApp.open_browser False/ ~/.jupyter/jupyter_notebook_config.py # 4. 后台启动 Jupyter Notebook nohup jupyter notebook --allow-root ~/jupyter.log 21 现在你可以在浏览器中访问http://YOUR_ECS_EIP:8888输入设置的密码即可开始云端 AI 开发。这个环境已经具备了强大的算力和基础的 AI 框架。4. 核心流程拆解基于 ModelArts 平台完成 AI 项目生命周期在拥有基础算力后更高效的方式是使用华为云的ModelArts平台它是一个典型的 MLOps 平台体现了 AI 基础设施在“平台层”的核心能力。我们以一个简单的图像分类项目为例拆解全流程。项目目标使用 PyTorch 和 ResNet 模型在 CIFAR-10 数据集上训练一个图像分类器并将其部署为在线服务。4.1 数据准备与上传在 AI 项目中数据管理是第一步。ModelArts 提供了数据集管理功能。登录华为云控制台进入ModelArts服务。在左侧菜单进入数据管理 数据集。点击“创建数据集”选择“物体检测”或“图像分类”根据任务填写名称cifar10-demo。数据来源选择“OBS”对象存储服务。你需要先在OBS服务中创建一个桶如obs-ai-demo并将 CIFAR-10 数据集可通过脚本下载并整理为特定目录结构上传至该桶的某个路径下如/cifar10/。在创建数据集时指定 OBS 路径并完成数据标注如果使用已标注数据集可跳过标注步骤。ModelArts 也支持智能标注可以大幅减少人工工作量。4.2 模型训练Notebook 与训练作业两种方式方式一在 ModelArts 的 Notebook 中开发与调试ModelArts 提供了云端 Notebook预置了多种环境无需自己维护 ECS。在 ModelArts 控制台进入开发环境 Notebook。点击“创建”选择适合的 GPU 规格和预置镜像如 PyTorch 1.11。创建成功后打开 Notebook你可以像在本地一样编写代码。以下是一个简化的训练脚本train_cifar10.py的核心部分# train_cifar10.py import torch import torch.nn as nn import torch.optim as optim import torchvision import torchvision.transforms as transforms from torch.utils.data import DataLoader # ... 其他导入 # 1. 数据加载 (假设数据已挂载或从OBS读取) transform transforms.Compose([transforms.ToTensor(), transforms.Normalize(...)]) trainset torchvision.datasets.CIFAR10(root./data, trainTrue, downloadTrue, transformtransform) trainloader DataLoader(trainset, batch_size128, shuffleTrue) # 2. 模型定义 model torchvision.models.resnet18(pretrainedFalse, num_classes10) model model.cuda() # 使用GPU # 3. 损失函数与优化器 criterion nn.CrossEntropyLoss() optimizer optim.SGD(model.parameters(), lr0.01, momentum0.9) # 4. 训练循环 for epoch in range(10): running_loss 0.0 for i, data in enumerate(trainloader): inputs, labels data inputs, labels inputs.cuda(), labels.cuda() optimizer.zero_grad() outputs model(inputs) loss criterion(outputs, labels) loss.backward() optimizer.step() # ... 打印日志 # 每个epoch结束后可将模型保存到OBS torch.save(model.state_dict(), f/home/ma-user/work/model_epoch_{epoch}.pth) print(Finished Training)方式二创建训练作业进行大规模分布式训练对于更正式的训练应使用“训练作业”它能更好地管理资源、版本和日志。在 ModelArts 控制台进入训练管理 训练作业。点击“创建”选择“常用框架”PyTorch。配置作业算法来源选择“常用框架”后需要指定代码目录OBS路径包含你的训练脚本和依赖文件requirements.txt。数据来源添加之前创建的数据集cifar10-demo并设置容器内的挂载路径如/home/ma-user/data。运行参数指定启动命令如python /home/ma-user/work/train_cifar10.py。资源池选择带 GPU 的规格可以设置多个节点进行分布式训练。输出位置指定一个 OBS 路径用于保存训练输出的模型文件。提交作业ModelArts 会自动拉起资源、执行训练、保存日志和模型。你可以在控制台实时查看训练状态和日志。4.3 模型管理与部署训练完成后模型文件保存在 OBS 中。下一步是将其纳入管理并部署为服务。模型注册进入模型管理 模型。点击“导入”选择“从训练作业导入”或“从 OBS 导入”。指定模型文件所在的 OBS 路径、AI 引擎PyTorch、版本等。ModelArts 会自动识别模型格式并生成模型配置文件。模型部署在线服务在模型列表中找到刚注册的模型点击“部署” - “在线服务”。填写服务名称选择资源规格如 CPU/GPU 实例配置弹性伸缩策略根据并发请求自动调整实例数。部署完成后会生成一个调用地址URL和认证 Token。服务测试在服务详情页ModelArts 提供了“预测”标签页可以上传一张测试图片进行在线预测。你也可以通过任何 HTTP 客户端如curl或 Pythonrequests调用该服务。# test_service.py import requests import json import base64 # 服务地址和token url https://your-service-endpoint.apigw.cn-north-4.huaweicloud.com/v1/infers/your-model-id token your-token # 读取图片并编码 with open(test_cat.jpg, rb) as f: img_base64 base64.b64encode(f.read()).decode(utf-8) # 构造请求体 payload { images: [{data: img_base64}] } headers { X-Auth-Token: token, Content-Type: application/json } # 发送请求 response requests.post(url, headersheaders, datajson.dumps(payload)) print(response.json()) # 输出可能为: {predicted_label: cat, scores: [...]}至此我们完成了一个完整的 AI 项目在云平台上的闭环数据 - 训练 - 模型 - 部署 - 服务。这个过程充分体现了 AI 基础设施在自动化、流程化和资源管理上的价值。5. 进阶实践AI 基础设施的深度能力探索除了基础的训练和部署现代 AI 基础设施还提供了更多提升工程效率的能力。5.1 自动化机器学习AutoML对于希望快速尝试不同模型架构和超参数的开发者ModelArts 提供了 AutoML 功能。进入自动学习板块选择“图像分类”。仍然使用之前创建的cifar10-demo数据集。系统会自动进行数据校验、特征工程、模型选择、超参调优和训练。你几乎不需要编写代码只需等待结果。训练出的最佳模型可以直接部署。这对于业务团队快速验证 AI 可行性非常有用。5.2 模型优化与压缩在生产环境中模型的大小和推理速度至关重要。ModelArts 提供了模型优化服务。在模型管理中找到已注册的模型。点击“更多” - “模型优化”。选择优化目标如“减小模型大小”、“提升推理速度”并指定优化后的精度损失容忍度。平台会应用剪枝、量化等技术生成一个优化后的模型该模型更适合边缘设备或高并发场景部署。5.3 工作流编排Pipeline对于复杂的、多步骤的 AI 流程如数据清洗 - 特征工程 - 多模型训练 - 模型集成可以使用工作流Pipeline进行可视化编排。进入AI Gallery或工作流模块有很多预置的模板。你可以通过拖拽组件数据输入、训练、评估、判断、部署的方式构建一个完整的机器学习流水线。工作流可以定时调度或由事件触发实现 AI 任务的自动化运维。6. 常见问题与排查思路在实际使用云上 AI 基础设施时你可能会遇到以下典型问题问题现象可能原因排查方式解决方案训练作业一直处于“等待中”或“初始化中”1. 所选规格资源售罄。2. 配额不足。3. 镜像拉取失败。1. 查看作业事件日志。2. 检查“资源配额”页面。3. 尝试更换可用区或规格。1. 联系技术支持申请扩大配额。2. 选择其他可用区的资源。3. 检查自定义镜像的地址和权限。模型部署失败1. 模型文件格式不正确或框架版本不匹配。2. 依赖包缺失。3. 资源配置不足。1. 查看部署任务的详细错误日志。2. 检查模型配置文件config.json。3. 确认requirements.txt已包含所有依赖。1. 使用 ModelArts 推荐的模型保存方式如torch.save整个模型或torch.jit.trace。2. 在本地或 Notebook 中验证模型能正常加载和推理。3. 增加部署实例的 CPU/内存规格。在线服务调用超时或返回 5xx 错误1. 服务实例冷启动。2. 单次推理耗时过长。3. 并发请求超过实例处理能力。4. 内部代码异常。1. 查看服务的监控指标CPU、内存、请求数、延迟。2. 查看服务的运行日志。3. 使用压力测试工具模拟请求。1. 配置弹性伸缩策略设置最小实例数避免冷启动。2. 优化模型见5.2节或升级实例规格。3. 在代码中增加完善的异常捕获和日志记录。从公网无法访问 Notebook 或在线服务1. 安全组未开放对应端口。2. 服务部署在子网未绑定弹性公网 IPEIP或负载均衡器ELB。3. 网络 ACL 限制。1. 检查 ECS 实例或 ELB 的安全组规则。2. 检查服务是否配置了公网访问地址。3. 检查子网的网络 ACL。1. 为服务配置公网访问在线服务部署时可选择。2. 为 ECS 实例绑定 EIP并正确配置安全组。3. 将服务部署在具有公网能力的子网或通过 API 网关APIG对外暴露。训练或推理结果不符合预期1. 数据预处理不一致训练 vs 推理。2. 模型在保存/加载过程中状态丢失。3. 硬件差异如 CPU/GPU 数值精度。1. 对比训练脚本和推理脚本的数据处理流程。2. 使用相同的环境镜像进行本地验证。3. 在推理前对模型调用model.eval()。1.标准化数据处理将预处理代码封装成函数在训练和推理中复用。2.端到端测试在部署前编写一个从原始输入到最终输出的完整测试用例。7. 最佳实践与工程建议基于上述流程和常见问题我们总结出在华为云及其他云平台上构建 AI 应用的最佳实践资源规划与成本控制开发阶段使用按需计费的 GPU 实例或 ModelArts 的按需 Notebook用完即停。训练阶段对于大规模训练使用训练作业它通常比长期运行一台同等规格的 ECS 更便宜且支持断点续训和竞价实例如果平台提供。推理阶段根据流量模式选择实例规格。对于流量波动大的服务务必启用弹性伸缩对于稳定流量预留实例可能更划算。数据与模型的生命周期管理数据版本化使用 ModelArts 数据集管理或自行在 OBS 上建立data/v1/,data/v2/的目录结构记录每次训练使用的数据快照。模型版本化利用 ModelArts 的模型管理功能为每次训练产出注册新版本并添加清晰的描述如“使用数据v2学习率0.01”。流水线化将数据预处理、训练、评估、部署等步骤编排成工作流Pipeline实现可重复、可审计的自动化流程。开发与运维MLOps代码与配置分离将超参数、文件路径等写入配置文件如config.yaml不要硬编码在脚本中。完善的日志在训练和推理代码中使用标准日志库如 Pythonlogging记录关键信息、指标和异常并确保日志能输出到 ModelArts 或云日志服务LTS供查看。监控与告警为在线服务配置监控告警关注请求量、响应延迟、错误率和资源利用率。设置阈值在异常时及时通知。安全与合规网络隔离生产环境的训练和推理资源应部署在独立的 VPC 或子网中通过安全组和网络 ACL 严格控制访问。数据加密确保 OBS 桶中的数据在传输和静态时都启用了加密。权限最小化使用 IAM统一身份认证服务为不同的团队成员数据科学家、算法工程师、运维分配精确到 API 级别的操作权限避免使用主账号密钥。性能优化推理优化务必对部署模型进行优化剪枝、量化这通常能带来数倍的性能提升和成本下降。批处理如果业务允许设计推理 API 时支持批量输入能极大提升 GPU 利用率和吞吐量。使用专属资源池对于长期稳定、性能要求极高的场景可以考虑申请专属的 GPU 计算资源池避免与其他租户争抢资源。华为云 HC2026 大会所强调的“全智能战略与 AI 基础设施”其最终价值正是通过上述这些最佳实践赋能开发者和企业将 AI 从高深的技术概念转化为稳定、高效、可管理的生产级能力。作为开发者我们的任务不再是仅仅理解某个模型的原理更是要掌握如何利用好这些基础设施构建出真正可靠、可扩展、可维护的智能系统。从这个角度看对 AI 基础设施的熟悉程度正在成为下一代开发者核心竞争力的关键组成部分。
返回列表