基于华为云 ModelArts 完成模型训练与部署 — 学习笔记
# 基于华为云 ModelArts 完成模型训练与部署 — 学习笔记
## 课程目标
- 掌握大模型预处理数据方法与模型开发流程
- 了解模型训练方法,理解轻量化 / 全量微调技术
- 熟知模型评估体系、部署形态与推理优化手段,了解推理框架 vLLM-Ascend
- 掌握华为云 ModelArts 定位、功能、核心模块及完整开发流程
- 能依托 ModelArts 完成大模型训练、推理实操
---
## 一、数据预处理
### 1.1 大模型能力分层(L1~L5)
| 层级 | 能力 | 说明 |
|------|------|------|
| L1 | 提示工程 | 通过设计优化输入提示,引导模型生成高质量输出 |
| L2 | RAG | 通过外挂技能拓展模型能力边界 |
| L3 | 后训练(Post-training) | 调整参数"改造"大模型 |
| L4 | 预训练开发 | 从零训练全新大模型(仅顶尖机构可做) |
| L5 | Agent | 能力封装 |
**何时需要后训练**:当 Prompt 和 RAG 都无法满足需求时(特定输出风格、行业逻辑、价值观与安全边界),用高质量领域数据或人类反馈数据对基座模型做参数更新。
### 1.2 数据来源与采集(四类)
| 来源 | 特点 | 获取方式 |
|------|------|----------|
| 开源数据集 | 通用免费基础资源(Wikipedia、BookCorpus) | 开源下载 |
| 企业私有数据 | 沉淀业务流程的核心资产,领域适配性极强 | 系统导出 |
| 合规网络数据 | 补充实时性内容,保持知识新鲜度 | 合规爬取/标注 |
| AI 生成数据 | 合成数据,用于长尾补全、小样本学习、数据增强 | 模型生成 |
### 1.3 行业主流通用数据集
| 数据集 | 用途 |
|--------|------|
| Wikipedia | 百科通用语料,通识知识/逻辑/常识底料(GPT、LLaMA、文心、通义均以其为基础) |
| Common Crawl | 万亿级网页语料,建立语言语感与海量语义基础 |
| BooksCorpus | 正版书籍文本,提升叙事能力与长文本理解 |
| Stack Exchange | 技术问答,提升专业问答、代码理解、技术推理 |
垂类补充:对话数据(ShareGPT、Alpaca)、安全对齐(HH-RLHF)、专业领域(金融/医疗/法律)。
### 1.4 数据清洗六步流程
1. **冗余去重** — 删除重复条目,降低训练负担
2. **违规过滤** — 规则 + 模型识别,规避内容安全风险
3. **敏感脱敏** — 姓名身份证手机号等加密/模糊化
4. **格式归一** — 统一字段命名与数值单位
5. **低质剔除** — 移除噪声、缺失值过多、逻辑错误样本
6. **质量校验** — 人工抽检 + 自动化工具,达标入库
### 1.5 数据格式选择
| 格式 | 适用场景 |
|------|----------|
| 纯文本 .txt | 简单存储,快但无结构元数据 |
| JSONL .jsonl | 每行一个 JSON 对象,结构化训练数据常用格式 |
| 对话格式 | 标注"角色(用户/助手)+ 内容",对话模型训练首选 |
多模态数据(图像/音频/视频)体量达 TB 级,标注清洗围绕空间特征/时间轴对齐/音画同步展开,合规管控最复杂。
---
## 二、模型训练
### 2.1 基本概念
- **模型训练**:用数据喂 AI,通过算法调参数,从"瞎猜"到"精准预测"。核心闭环:预测输出 vs 目标输出 → 损失函数 → 优化方法。
- **预训练**:海量通用数据上基础训练,构建知识底座。
| 特征 | 传统 NLP 模型 | 预训练模型 |
|------|--------------|-----------|
| 数据需求 | 大量标注数据 | 少量标注数据 |
| 训练方式 | 从零开始 | 预训练 + 微调 |
| 泛化能力 | 任务特定 | 跨任务通用 |
| 开发效率 | 低 | 高 |
### 2.2 微调(Fine-tuning)
将预训练模型的通用能力迁移聚焦到特定下游任务。优势:落地成本更低、垂直领域适配快、灵活定制输出。
**微调技术多维梳理:**
| 划分维度 | 技术 | 要点 |
|----------|------|------|
| 可训练参数量 | 全量微调 | 解冻全部权重,开销大,易知识遗忘 |
| | 轻量化微调(PEFT) | 冻结主干,只训少量新增参数,小样本低显存可落地 |
| 训练目标 | SFT 监督微调 | 拟合标准答案,行业基础方式 |
| | RL 偏好微调 | 基于人类打分优化偏好,代表:RLHF/DPO/ORPO |
| 硬件方案 | 单机普通微调 | 单卡,适合 ≤7B 模型 |
| | 分布式微调 | DeepSpeed/MindSpeed,用于 13B~70B |
| | 量化微调 | 4bit/8bit 低精度,代表 QLoRA |
| 数据形式 | 有标注 / 无监督 / 偏好对比样本 | 分别用于 SFT、持续预训练、DPO/RLHF |
### 2.3 全量微调流程
1. **数据处理**:整理为 `instruction-input-output` 标准指令格式
2. **模型加载**:导入基座模型(LLaMA-2-7B、Mistral-7B),放开全部参数
3. **参数配置**:小学习率(1e-5 ~ 5e-5),避免覆盖通用知识
4. **训练执行**:迭代 2~5 轮,反向传播更新全部权重
5. **权重保存**:导出完整权重(大小与基座一致,7B 约 13GB)
```json
{
"instruction": "撰写保温杯电商详情文案",
"input": "电商零售场景",
"output": "保温杯采用304不锈钢内胆,真空隔热,保温时长12小时……"
}
```
- `instruction`:人类指令(必填)
- `input`:补充上下文(选填)
- `output`:标准回复(必填)
### 2.4 轻量化微调(PEFT)技术对比
| 方法 | 核心原理 | 参数位置 | 显存 | 推理延迟 | 适用场景 |
|------|----------|----------|------|----------|----------|
| **LoRA** | 权重矩阵旁增低秩矩阵(可融合) | 权重层旁路 | 中等 | 无 | 通用大模型微调、对话 SFT |
| **QLoRA** | 4bit 量化冻结 + LoRA | 权重层旁路 | 极低 | 无 | 小显存单机、超大模型调优 |
| Adapter Tuning | 层间插入小型独立网络 | 编码器层中间 | 较高 | 增加 | 多模态、复杂生成 |
| Prompt Tuning | 输入头部加训练嵌入向量 | 输入层前端 | 极低 | 轻微增加 | 简单分类、短文本 |
| Prefix Tuning | 每层加可训练上下文前缀向量 | 每层输入头部 | 偏低 | 轻微增加 | 中等复杂度生成 |
| P-Tuning | LSTM 生成虚拟提示嵌入 | 输入层前端 | 偏低 | 轻微增加 | 少量样本、简单生成 |
| P-Tuning V2 | 去 LSTM 每层插虚拟 Token(改进 Prefix) | 每层输入头部 | 中等 | 轻微增加 | 长文本、复杂垂类(前缀类最优) |
**LoRA 原理**(核心四步):
1. 确定微调目标权重矩阵(多头条自注意力 + FFN 部分)
2. 引入两个低秩矩阵 A(d×r)和 B(r×d),r 远小于 d
3. 低秩更新:乘积 AB 生成低秩近似调整
4. 叠加原始权重:**新权重 = 原始权重 + AB**,大部分权重不变
### 2.5 强化学习基础
- **两个实体**:智能体(Agent)+ 环境(Environment)
- **交互三要素**:状态空间 S、动作空间 A、奖励 R
- **目标**:找到策略,根据环境状态和奖励反馈选择最佳动作
- **深度强化学习** = 强化学习的决策框架 + 深度学习的感知与表示能力
### 2.6 RL 后训练全流程
**三个阶段**(训推共存):
1. **推理阶段**(数据生成/rollout)— 依赖推理后端(vLLM、SGLang)
2. **评价阶段**(奖励计算)— 依赖训练引擎,精度对齐
3. **训练阶段**(模型更新)— 依赖训练后端(Megatron、FSDP)
调度层:Ray 训推资源调度;底层:昇腾系列硬件。
### 2.7 大模型专属 RL 对齐算法对比
| 算法 | 核心原理 | 优势 | 缺点 | 场景 |
|------|----------|------|------|------|
| **RLHF** | 三段式:SFT → 独立奖励模型 → PPO | 效果成熟,行业标准 | 流程繁琐、标注成本高 | 通用对话大模型对齐 |
| RLAIF | 用成熟大模型替代人工打分 | 降低标注人力 | AI 偏见 | 低成本快速微调 |
| **DPO** | 去掉奖励模型,偏好损失融入策略训练,单阶段 | 流程简、算力低、收敛快 | 复杂场景略逊 PPO-RLHF | 垂类小模型、快速迭代 |
| ORPO | 监督损失+偏好损失融合,离线训练 | 无需在线交互 | 数据质量要求极高 | 小样本、无在线交互环境 |
| KTO | 区分正负样本 + 知识权重约束 | 抑制幻觉 | 调参复杂 | 知识问答、金融/法律 |
| IPO | 隐式构建奖励函数 | 训练稳定、内存低 | 理论复杂 | 科研场景 |
---
## 三、模型评估与推理部署
### 3.1 模型推理
训练完成后停止参数更新,仅用固化权重对输入做正向计算生成输出。
基本流程:加载模型 → 预处理输入 → 执行推理 → 后处理结果(解码/过滤)。
### 3.2 vLLM 推理引擎
- 开源时间 2023 年 6 月,核心算法 **PagedAttention**(KV Cache 有效管理)
- 吞吐量比 HuggingFace Transformers 高 **14~24 倍**
- 支持 100+ 生成式大模型(MoE/稠密/多模态/Pooling)
- 权重支持 HF Safetensor、PyTorch .bin/.pt
关键特性:PagedAttention、Continuous Batching(连续批处理)、张量并行、流式输出、兼容 OpenAI 接口、无缝集成 HuggingFace。
### 3.3 vLLM-Ascend 推理部署流程
```
环境准备(驱动固件 + Docker + 启动容器)
→ 模型准备(选择模型 + 下载权重)
→ 安装 vLLM / vLLM-Ascend(镜像下载 + 环境变量)
→ 模型推理(在线推理 / 离线推理)
```
两种 v1 engine 模式:
- **ACLGraph 模式**(默认):基于昇腾 ACL 框架,静态图优化、算子融合、高效显存管理
- **单算子模式**:不编译不融合,逐算子执行,用于调试定位算子级问题
- 离线推理:Python 接口自定义推理参数
- 在线推理:`vllm server` 启动服务侦听 HTTP → curl 发送请求
### 3.4 模型评估体系
核心价值:验证训练效果、发现优化方向、支撑部署决策、对比模型选型、满足合规要求。
**五个质量维度**:相关性、准确性、流畅度、有用性、创造性。
**双重评估方式**:
- 人工评估:专家打分,结果可靠但成本高,适合关键场景抽检
- 自动评测:BLEU/ROUGE 或大模型互评,快且便宜,适合大规模初筛
### 3.5 昇腾技术栈:MindSpeed-LLM
昇腾生态的大语言模型训练微调加速库与框架:
- 功能:预训练、全参/低参微调、推理、人机对话、评估基准、性能分析、模型格式转换
- 特点:对接 Ascend NPU,通信/算子融合/内存复用/并行策略(张量并行、流水线并行)专门优化,支持 Transformer 与 MoE
---
## 四、华为云 ModelArts 模型训推平台
### 4.1 平台定位
**一站式 AI 训推开发平台**:覆盖数据、开发、训练、部署、资源管理全流程;底层兼容异构算力,适配主流深度学习与大模型框架;免运维底层设施。
五大能力:智能易用的一站式数据准备工具 / 高效的开发调试工具 / 极简高可靠的模型训练 / 高性能模型部署与运维 / 高性价比算力资源。
### 4.2 全流程开发体验
```
数据工程 → 预训练 → 后训练(SFT/LoRA) → 强化学习(低代码/高代码 Agentic RL)
→ 模型测评(规则/大模型/混合/人工) → 模型部署(同步/异步/离线、PD分离、KVCache池化)
```
平台亮点:160+ 业界主流模型、20+ 数据类型、50+ AI 数据算子、五层故障恢复(万卡快恢 <10min)、推理吞吐 2.0×H20、服务可用度 99.95%、后训练实施时间周级→天级。
### 4.3 数据准备:数据连接
- **多数据源接入**:OBS 导入、本地上传;文本/图片/视频/音频数据集
- **应用场景**:预训练文档、单轮/多轮问答(带人设)、偏好问答 DPO、视频+标注等 10+ 文件内容格式
- **关键竞争力**:数据源头管理(血缘溯源)、数据校验(格式+内容)、数据状态管理(上线/下线)
### 4.4 智能精炼
一站式数据清洗与合成,针对**原始脏数据、样本稀缺、隐私合规**三类场景,算子流水线输出高质/多样/合规数据。
操作步骤:
1. **配置基础信息** — 任务标识、选数据集(预置/我的)、选精炼模板
2. **编排精炼流程** — 可视化算子自由拼搭流水线(清洗优化 + 智能合成)
3. **配置算力资源** — 灵活选配 CPU/NPU 规格
### 4.5 模型开发
三种方式:
- **Notebook 代码开发**:云端在线编辑,算法工程师主流工具,分布式训练核心载体
- **AI 市场资产复用**:订阅预置大模型/算法/行业模板,一键导入二次微调
- **零代码 AutoML**:上传数据选任务类型,平台自动建模,零基础可用
**Notebook 使用要点**:
1. 控制台「模型开发 > Notebook」创建实例
2. 选镜像(匹配开发框架)
3. 选算力(日常调试用轻量 CPU 或单卡,**不必高配,节省成本**)
4. 挂存储(绑定 OBS 目录,直接读写云端文件)
支持:在线编码调试、文件管理、终端执行 Linux 命令、**VS Code/PyCharm 通过 SSH 远程连接**。
> ⚠️ **重要边界**:Notebook 是单实例开发环境,只适合代码调试、小数据验证,**不能直接跑多节点分布式训练**。大规模训练必须提交到模型训练模块。
**分布式训练前置准备**:
1. 自定义镜像预装 OpenSSH + MPI/Horovod 训练框架
2. 编写 `start_sshd.sh` 启动脚本(自动开 SSH、生成主机密钥),与训练代码一起上传 OBS
### 4.6 模型训练流程
**准备工作三大核心要素**:
| 要素 | 说明 |
|------|------|
| 训练代码 | 启动脚本 + 依赖包;预置框架需遵循代码规范 |
| 训练框架镜像 | 优先平台预置;不满足时构建自定义镜像 |
| 训练数据 | 可直接上传 OBS 桶;需预处理的先进数据管理模块 |
**流程**:调试训练作业(云端 JupyterLab / 本地 IDE SSH 远程调试)→ 创建生产训练作业(控制台/API;进阶特性:增量/分布式/加速/高可用)→ 查看训练输出(作业详情 + 训练日志)。
算法来源:自研算法 / AI Gallery 订阅算法。
### 4.7 实时推理部署流程
**部署前置**:创建专属资源池 → 准备镜像 → 模型/代码文件上传 OBS。
**使用流程**:
1. 在线服务显示"运行中"即部署完成,平台提供标准 **RESTful API**
2. 调用前确定三项配置:**认证方式、访问通道、传输协议**(可自由组合)
3. 即时处理单条请求同步返回,附测试页面与监控能力
适用:智能客服、自动驾驶实时决策等低延迟场景。
### 4.8 典型场景(国内)
| 场景 | 痛点 | ModelArts 价值 |
|------|------|----------------|
| 数据工程 | 数据类型多、人工治理精度仅 60%~70% | 云南交投、瑞金医院项目精度 >80% |
| 模型训练 | 自建集群算力利用率低、故障频发 | 万卡集群线性度 95%,故障快恢、断点续训 |
| 强化学习 | 并发低,无法高效任务探索 | 训推资源自适应弹性伸缩 |
| SFT | 多场景 SFT 易技能遗忘,缺配比经验 | 配比→测评工具化,调优后性能不劣化 |
---
## 五、小结与自测
### 核心要点回顾
1. **数据预处理**:四类数据来源、六步清洗流程、三种数据格式
2. **模型训练**:全量微调五步流程、PEFT 七种技术(LoRA/QLoRA 为主流)、六种 RL 对齐算法(RLHF/DPO 为代表)
3. **评估与部署**:五维评估体系、vLLM-Ascend 离线/在线推理
4. **ModelArts**:数据连接 → 智能精炼 → Notebook 开发 → 训练作业 → 在线服务全流程
### 思考题(单选)
**关于 ModelArts Notebook 开发环境的使用规范,说法正确的是?**
- A. Notebook 支持多节点集群,可直接执行大规模分布式训练任务 ❌(单实例环境,不能跑多节点分布式)
- B. 调试分布式训练仅需在 Notebook 完成代码验证,无需保存脚本至 OBS ❌(sshd 脚本与训练代码必须上传 OBS)
- C. 日常代码调试优先选用高配多卡算力实例 ❌(轻量 CPU 或单卡即可,节省成本)
- **D. Notebook 可绑定 OBS 存储目录,支持 VS Code 本地 SSH 远程连接开发 ✅**
### 学习资源
- 华为云官网:https://www.huaweicloud.com/
- 华为云学堂:https://edu.huaweicloud.com/
- 点赞
- 收藏
- 关注作者
评论(0)