【华为ICT实践赛-昇腾AI赛道】省初赛考点全概括
人工智能(AI)是指通过计算机系统模拟人类智能行为的能力,核心是让机器具备感知、学习、推理、决策的能力。从技术落地的核心能力出发,AI 可划分为七大核心领域:。
AI 基础概念与技术领域
人工智能(AI)是指通过计算机系统模拟人类智能行为的能力,核心是让机器具备感知、学习、推理、决策的能力。从技术落地的核心能力出发,AI 可划分为七大核心领域:
- 机器学习:AI 的基础理论框架,研究如何让机器通过信息学习规律,包含监督、无监督、强化等学习方式。
- 自然语言处理(NLP):让 AI"理解与生成语言" 的科技,处理文本 / 语音模态信息,涵盖语义理解、机器翻译、文本生成等任务。
- 计算机视觉(CV):使计算机能够理解和处理视觉信息,模拟人类视觉系统。
- 语音识别与合成:将语音信号转换为文字或将文字转换为语音。
- 知识图谱:以图结构存储和表示知识,支持复杂的知识查询和推理。
- 机器人学:设计、制造和控制机器人,实现自主或半自主的物理操作。
- 强化学习:通过与环境交互学习最优行为策略。
数据处理方式
AI 系统处理的数据主要包括图像、文本、音频三种模态,每种模态都有其特定的处理方式:
图像数据处理:
- 常用格式:JPEG、PNG 等
- 预处理步骤:裁剪、归一化、缩放
- 特征提取方法:卷积神经网络(CNN)是最常用的图像特征提取方法,通过卷积核提取局部特征(边缘、角点等)
- 处理流程:图像→像素矩阵→卷积操作→特征图→全连接层→分类 / 检测结果
文本数据处理:
- 编码格式:UTF-8
- 预处理步骤:清理无意义字符(HTML 标签、特殊符号等)、分词、去除停用词
- 特征提取方法:
- 词袋模型:最简单的文本特征提取方法,将文本中的每个词作为独立特征,忽略词的顺序
- TF-IDF:统计词频并考虑词的重要性
- 词嵌入(Word Embedding):将词映射到低维向量空间
- 处理流程:文本→分词→词向量→序列建模(RNN/LSTM/Transformer)
音频数据处理:
- 预处理步骤:转为单声道、时长筛选、噪声消除
- 特征提取方法:
- MFCC(梅尔频率倒谱系数):语音处理中的标准特征提取方法,通过将语音信号转换为频谱,使用梅尔尺度模拟人耳听觉特性
- Mel 频谱图:将音频信号转换为时频表示
- 短时傅里叶变换(STFT):同时捕捉信号时序和频率变化
- 处理流程:音频→时域信号→频域转换→特征提取→序列建模
机器学习核心知识
机器学习是 AI 的基础理论框架,主要分为四大类:
监督学习(Supervised Learning):
- 定义:使用带标签的数据进行训练,目标是学习从输入到输出的映射函数
- 典型任务:
- 分类:识别猫狗、手写数字识别等
- 回归:预测房价、股票价格等
- 常见算法:线性回归、逻辑回归、决策树、支持向量机(SVM)、朴素贝叶斯等
- 优缺点:
- 优点:预测精度高、可解释性强
- 缺点:依赖大量标注数据,且标签噪声影响较大
无监督学习(Unsupervised Learning):
- 定义:处理未标记数据,任务是挖掘数据中的内在结构或模式
- 典型任务:
- 聚类:客户分群、文档分类
- 降维:PCA(主成分分析)减少数据维度
- 异常检测:工业监控或金融欺诈检测
- 常见算法:K-Means 聚类、DBSCAN、主成分分析(PCA)、自编码器等
- 优缺点:
- 优点:无需标注数据、能发现隐藏模式
- 缺点:结果解释困难、性能评估复杂
半监督学习(Semi-supervised Learning):
- 定义:结合少量标注数据和大量未标注数据进行学习
- 应用场景:标注数据昂贵但未标注数据丰富的场景
- 常见方法:自训练、协同训练、图半监督学习
强化学习(Reinforcement Learning):
- 定义:智能体通过与环境交互,根据奖励信号学习最优行为策略
- 核心要素:智能体、环境、动作、状态、奖励
- 应用场景:游戏 AI、机器人控制、自动驾驶
- 常见算法:Q-Learning、深度 Q 网络(DQN)、策略梯度(Policy Gradient)、PPO 等
经典机器学习算法
决策树(Decision Tree):
- 核心思想:通过特征选择和分割,构建树状决策结构
- 优点:可解释性强、无需数据预处理、能处理非线性关系
- 缺点:容易过拟合、对噪声敏感、可能产生偏向性决策
支持向量机(SVM):
- 核心思想:寻找最优分类超平面,最大化类别间隔
- 优点:
- 对于小样本、高维度的数据处理效果很好
- 基于结构风险最小化,有效避免过拟合
- 可利用核函数实现非线性分类
- 缺点:
- 对大规模数据集训练时间长,需要较大存储空间
- 核函数选择敏感
- 对噪声数据和缺失数据的容错性较差
朴素贝叶斯(Naive Bayes):
- 核心思想:基于贝叶斯定理,假设特征之间相互独立
- 优点:实现简单、对缺失数据不敏感、适合多分类
- 缺点:特征独立性假设往往不成立、对输入数据的表达形式敏感
K 近邻(K-Nearest Neighbor, KNN):
- 核心思想:"物以类聚,人以群分",根据最近邻的类别投票决定新样本类别
- 算法流程:
- 计算待预测样本与所有训练样本的距离
- 选取距离最近的 K 个邻居
- 根据这 K 个邻居的类别进行投票(分类)或取平均(回归)
- 关键要素:K 值选择、距离度量(如欧几里得距离)
- 优缺点:
- 优点:原理简单、无需训练、可处理非线性数据
- 缺点:计算量大、对高维数据敏感(维度灾难)、需要特征缩放
深度学习技术体系
深度学习基础架构
深度学习是机器学习的子集,使用多层神经网络模拟人脑结构进行学习。深度学习网络通常包含输入层、隐藏层和输出层,每一层都由多个神经元组成。
全连接神经网络(Fully Connected Neural Network):
- 结构:输入层→隐藏层→输出层,每层神经元与下一层所有神经元相连
- 前向传播:
- 线性变换:z = Wx + b
- 非线性激活:a = f (z)
- 激活函数:ReLU、Sigmoid、Tanh、Softmax 等
- 应用场景:简单的分类和回归任务
卷积神经网络(CNN)
CNN 架构原理:
- 核心组成:卷积层、池化层、全连接层
- 工作原理:
- 卷积层:通过可学习的卷积核提取局部特征,实现参数共享
- 池化层:降低特征图维度,减少计算量,提高鲁棒性
- 全连接层:将提取的特征映射到最终输出
- 关键技术:
- 卷积操作:局部连接、权重共享
- 池化操作:最大池化、平均池化
- 激活函数:ReLU 是最常用的激活函数
- 应用场景:图像分类、目标检测、语义分割、人脸识别
循环神经网络(RNN)及其变体
RNN 基本原理:
- 设计目的:专门处理序列数据(文本、语音、时间序列等)
- 核心特点:隐藏状态在时间步间传递,形成 "记忆" 机制
- 数学表达:ht = f (Wxhxt + Whhht-1 + b)
- 缺点:梯度消失 / 爆炸问题,难以学习长期依赖
长短期记忆网络(LSTM):
- 设计目的:解决 RNN 的长期依赖问题
- 核心结构:
- 细胞状态(Cell State):信息传输的 "高速公路"
- 三个门控机制:
- 遗忘门:决定丢弃哪些信息
- 输入门:决定更新哪些信息
- 输出门:决定输出哪些信息
- 优点:有效保存长期依赖信息,解决梯度消失问题
- 应用场景:语言模型、机器翻译、情感分析
门控循环单元(GRU):
- LSTM 的简化版本,将遗忘门和输入门合并为更新门
- 结构更简单,计算效率更高
- 应用场景:与 LSTM 类似,在某些任务上性能相当
生成对抗网络(GAN)
GAN 基本架构:
- 组成:生成器(Generator)和判别器(Discriminator)
- 训练过程:
- 生成器学习生成逼真的假样本
- 判别器学习区分真实样本和假样本
- 两者对抗训练,直到达到纳什均衡
- 数学原理:极小极大博弈
- 应用场景:图像生成、风格迁移、超分辨率、数据增强
GAN 的变体:
- DCGAN:深度卷积 GAN,用于图像生成
- WGAN: Wasserstein GAN,解决训练不稳定问题
- CycleGAN:无配对图像到图像翻译
- StyleGAN:高分辨率人脸图像生成
注意力机制与 Transformer
自注意力机制(Self-Attention):
- 核心思想:让模型在处理序列时关注不同位置的信息
- 计算过程:
- 查询(Query)、键(Key)、值(Value)的线性变换
- 计算注意力分数:Q・K^T
- 应用 Softmax 获得权重分布
- 加权求和得到输出
- 优点:并行计算、长距离依赖建模、可解释性
多头注意力(Multi-Head Attention):
- 核心思想:通过多个 "头" 并行计算不同子空间的注意力
- 计算流程:
- 将输入投影到多个子空间
- 每个头独立计算自注意力
- 拼接各头的输出
- 线性变换得到最终输出
- 优点:捕捉更丰富的语义关联,提升模型表达能力
Transformer 架构:
- 组成:编码器和解码器
- 编码器:多层自注意力 + 前馈网络
- 解码器:多层自注意力 + 交叉注意力 + 前馈网络
- 位置编码:解决序列中位置信息的问题
- 优点:完全基于注意力机制,并行性强,长文本处理能力强
常用 AI 框架
MindSpore 框架核心知识
MindSpore 架构特点:
- 定位:全场景深度学习框架,实现易开发、高效执行、全场景覆盖三大目标
- 核心特性:
- 动静态图统一架构:支持动态图(调试友好)和静态图(高性能执行)无缝切换
- 全场景支持:同时支持云、边缘以及端侧场景
- 自动微分引擎:支持正向微分和反向微分
- 自动并行:自动优化并行策略
MindSpore 架构层次:
- 表达层(MindExpression):提供 AI 模型开发、训练、推理接口,支持原生 Python 语法
- 数据处理层(MindData):提供高性能数据加载和预处理功能
- 计算图构建层(MindChute):支持基于 Python AST 和字节码的计算图构建
- 编译优化层(MindCompiler):将前端函数编译成高效的底层语言
- 运行时层(MindRT):对接底层硬件算子,支持 "端 - 边 - 云" 统一运行时
MindSpore 与 PyTorch 的关键区别:
- 设备管理:
- PyTorch:通过 torch.device 指定设备,需手动将模型和数据转移到设备
- MindSpore:通过 context.device_target 指定,模型和数据默认拷贝到指定设备,无法中途改变
- 自动微分机制:
- PyTorch:基于计算路径追踪,正向计算时记录反向函数
- MindSpore:基于计算图的自动微分,正向计算不记录信息,反向图根据正向图结构推导
- BatchNorm 参数:
- PyTorch:包含 train、eval、training、running_mean 等多种状态
- MindSpore:仅保留训练和推理两种状态,更简洁
- momentum 参数含义相反:momentum_pytorch = 1 - momentum_mindspore
- Dropout 参数:
- PyTorch:p 参数表示丢弃概率
- MindSpore:keep_prob 参数表示保留概率,与 PyTorch 相反
- 权重初始化:
- MindSpore:conv2d 和 linear 的 weight 默认正态分布 N (0,1),bias 为 0
- PyTorch:conv2d 和 linear 的 weight 和 bias 默认均匀分布 U (-k, k)
TensorFlow 框架基础
TensorFlow 核心特性:
- 静态图模式:计算图构建和执行分离
- 动态图模式(Eager Execution):支持即时执行
- Keras API:高层神经网络 API,易于使用
- TensorFlow Serving:模型部署和服务化
- 分布式训练:支持多机多卡训练
TensorFlow 2.x 新特性:
- 默认启用 Eager Execution
- Keras 成为官方高级 API
- 更简洁的 API 设计
- 更好的性能优化
框架对比与选择
|
特性 |
MindSpore |
PyTorch |
TensorFlow |
|
开发友好度 |
原生 Python 语法,调试简单 |
动态图,调试友好 |
静态图复杂,Keras 简单 |
|
执行性能 |
昇腾硬件优化,速度提升 1.5 倍 |
GPU 优化成熟 |
工业级优化 |
|
自动微分 |
基于图,支持高阶导数 |
基于路径,灵活 |
静态图高效 |
|
分布式支持 |
自动并行,易用 |
DDP 等多种方案 |
完善的分布式架构 |
|
昇腾支持 |
原生支持,优化最好 |
通过 torch_npu 支持 |
通过 tensorflow-ascend 支持 |
|
移动端 |
MindSpore Lite |
TorchScript |
TensorFlow Lite |
大模型技术体系
Transformer 架构核心原理
Transformer 整体架构:
- 完全基于注意力机制,摒弃了传统的 RNN 和 CNN
- 由编码器和解码器组成,编码器负责编码输入序列,解码器负责生成输出序列
- 编码器和解码器都包含多层堆叠的自注意力和前馈网络
自注意力机制详解:
- 输入表示:将输入序列转换为向量表示,添加位置编码
- 线性变换:输入向量通过线性变换得到 Q(查询)、K(键)、V(值)
- 注意力分数计算:Q 与 K 的转置相乘,除以√d_k(缩放),得到注意力分数
- Softmax 归一化:将注意力分数转换为概率分布
- 加权求和:用注意力权重对 V 加权求和,得到输出
多头注意力机制:
- 多个头并行计算不同子空间的注意力
- 每个头有独立的 Q、K、V 矩阵
- 头数通常为 8 或 16
- 输出维度:头数 × 每个头的维度
位置编码:
- 由于 Transformer 没有循环结构,需要显式添加位置信息
- 绝对位置编码:使用正弦和余弦函数
- 相对位置编码:考虑元素之间的相对距离
混合专家(MoE)架构
MoE 基本原理:
- 核心思想:将传统的前馈网络替换为多个专家网络的组合
- 每个输入仅激活少数专家,而非所有参数参与计算
- 大幅提高模型容量的同时控制计算成本
MoE 架构组成:
- 专家网络(Expert Networks):
- 多个并行的子网络(如 8 个、64 个或更多)
- 每个专家是一个独立的神经网络
- 通常使用前馈网络作为专家
- 门控网络(Gating Network):
- 为每个输入计算专家权重
- 决定激活哪些专家
- 通常是一个前馈网络加 Softmax
- 路由机制:
- 稀疏路由:仅激活少数专家(如 top-2 或 top-1)
- 密集路由:所有专家都参与,但权重不同
- 基于专家权重进行负载均衡
MoE 优势:
- 高效性:仅激活部分专家,计算成本可控
- 可扩展性:容易增加模型容量而不增加推理成本
- 专业化:不同专家可学习不同的模式
- 稀疏计算:减少内存占用,提高训练效率
主流大模型技术路线
GPT 系列
- 架构:基于 Transformer 解码器
- 训练方式:自回归生成,从左到右生成文本
- 特点:
- GPT-1:首次将 Transformer 应用于无监督预训练
- GPT-2:更大的模型,更少的人工设计
- GPT-3:175B 参数,上下文学习能力
- GPT-4:多模态,更强的推理能力
BERT 系列(双向编码器表示):
- 架构:基于 Transformer 编码器
- 预训练任务:
- 掩码语言模型(MLM):预测被掩码的词
- 下一句预测(NSP):判断两个句子是否连续
- 特点:双向编码,适合问答和文本分类任务
- 变体:
- RoBERTa:更大的批次和更长的训练时间
- ALBERT:参数共享,减少模型大小
- ELECTRA:用生成器和判别器提高训练效率
LLaMA 系列(大语言模型):
- 架构:基于 Transformer 解码器
- 技术特点:
- 前置层归一化(Pre-normalization)
- RMSNorm 归一化函数
- SwiGLU 激活函数
- 旋转位置嵌入(RoPE)
- 优势:开源、可商用、模型规模多样
主流大模型对比:
|
模型 |
参数规模 |
架构 |
特点 |
应用场景 |
|
GPT-4 |
约 180T |
解码器 - only |
多模态、推理能力强 |
通用 AI、创作 |
|
Claude |
约 70B |
解码器 - only |
推理、安全对齐 |
对话、推理 |
|
LLaMA 3 |
7B-70B |
解码器 - only |
开源、可商用 |
研究、应用开发 |
|
GPT-3.5 |
175B |
解码器 - only |
API 可用、成本低 |
各种 NLP 任务 |
模型选型与算力规划
模型选型考虑因素:
- 任务需求:
- 文本生成:选择 GPT 类模型
- 文本理解:选择 BERT 类模型
- 多模态:选择支持图像、语音的模型
- 性能要求:
- 推理速度:模型大小直接影响推理速度
- 精度要求:复杂任务需要更大的模型
- 实时性要求:确定最大可接受的延迟
- 资源限制:
- 显存大小:决定可加载的模型规模
- 计算资源:GPU 数量和性能
- 预算限制:训练和推理成本
- 部署环境:
- 云端部署:可使用大模型
- 边缘部署:需要模型压缩和量化
算力规划基础:
- 模型参数量计算:
- Transformer 层:约 0.1-0.5B 参数 / 层
- 总参数量:层数 × 每层参数量
- 实际参数:考虑共享参数和嵌入层
- 训练算力需求:
- 单卡训练:适用于小模型(<1B 参数)
- 多卡训练:使用数据并行、张量并行、流水线并行
- 分布式训练:使用 Horovod、DeepSpeed 等框架
- 推理算力需求:
- 批大小:根据 GPU 显存确定
- 序列长度:影响内存占用和计算时间
- 优化策略:FP16/INT8 推理、模型剪枝、量化
- 昇腾平台算力优化:
- 使用混合精度训练(FP16/FP32)
- 启用自动混合精度(AMP)
- 使用 MindSpore 的自动并行功能
- 优化数据预处理流程
提示工程技术
提示工程基础:
- 定义:设计、优化和评估提示以有效引导 AI 模型行为的过程
- 目标:提高模型输出质量、控制模型行为、实现特定任务目标
提示设计原则:
- 清晰性:使用简单明了的语言
- 具体性:提供详细的指令和约束
- 完整性:包含所有必要信息
- 一致性:保持提示风格一致
提示模板结构:
- 指令部分:明确告诉模型要做什么
- 上下文部分:提供相关背景信息
- 输入部分:需要处理的具体内容
- 格式要求:指定输出格式
提示工程技巧:
- 零样本学习:直接给出指令,无需示例
- 少样本学习:提供少量示例
- 思维链提示:引导模型逐步推理
- 角色扮演:让模型扮演特定角色
提示安全设计:
- 输入验证:
- 限制输入长度
- 过滤敏感词汇
- 验证输入格式
- 输出控制:
- 使用格式约束(如 JSON)
- 设置输出长度限制
- 添加输出验证逻辑
- 安全防护:
- 防止提示注入攻击
- 实施访问控制
- 记录和监控异常行为
AI 安全治理
AI 安全风险分类:
- 数据安全:
- 训练数据泄露
- 隐私数据处理不当
- 数据偏见和歧视
- 模型安全:
- 模型后门和木马
- 对抗样本攻击
- 模型窃取和逆向工程
- 应用安全:
- 提示注入攻击
- 权限越界访问
- 输出内容风险
AI 安全治理措施:
- 数据治理:
- 数据来源审查
- 数据标注质量控制
- 隐私保护技术(差分隐私、联邦学习)
- 模型治理:
- 模型安全测试
- 对抗训练
- 模型可解释性增强
- 应用治理:
- 内容审核机制
- 用户身份验证
- 行为监控和审计
- 合规要求:
- 遵守数据保护法规(如 GDPR)
- 符合行业标准和规范
- 建立安全事件响应机制
前沿技术发展
知识图谱技术
知识图谱基础概念:
- 定义:以图结构存储和表示知识的技术,包含实体、关系和属性
- 组成:
- 实体:现实世界中的对象(如人、地点、组织)
- 关系:实体之间的语义关联
- 属性:实体和关系的特征
知识图谱构建流程:
- 知识抽取:
- 实体识别:从文本中识别命名实体
- 关系抽取:识别实体之间的语义关系
- 属性抽取:提取实体的属性信息
- 知识融合:
- 实体对齐:识别不同来源的相同实体
- 冲突消解:解决知识冲突
- 知识合并:整合多源知识
- 知识存储:
- RDF:资源描述框架
- 属性图:Neo4j 等图数据库
- 三元组存储:支持 SPARQL 查询
- 知识推理:
- 基于规则的推理
- 基于图的推理
- 基于深度学习的推理
知识图谱应用场景:
- 智能问答:理解问题语义,查询知识图谱
- 推荐系统:基于用户和物品的关系推荐
- 风险评估:金融反欺诈、信用评估
- 医疗诊断:疾病 - 症状 - 治疗知识网络
- 语义搜索:理解用户意图,返回相关知识
多模态 AI 技术
多模态 AI 基础:
- 定义:同时处理多种数据模态(文本、图像、语音、视频)的 AI 技术
- 挑战:
- 不同模态的数据特性差异大
- 模态间对齐困难
- 计算复杂度高
多模态融合方法:
- 早期融合:在特征提取前将不同模态数据拼接
- 晚期融合:独立提取特征后在决策层融合
- 中间融合:在网络中间层进行特征交互
- 注意力机制:动态选择重要的模态信息
多模态大模型:
- CLIP:对比学习图像和文本表示
- DALL-E:文本到图像生成
- GPT-4V:多模态理解和生成
- BLIP:图像描述和视觉问答
大模型发展趋势
技术发展趋势:
- 模型规模持续增长:从 B 级到 T 级参数
- 多模态融合:文本、图像、语音、视频统一建模
- 高效架构设计:MoE、稀疏化、混合专家
- 多任务学习:单一模型解决多种任务
- 具身智能:结合物理实体和环境交互
应用发展趋势:
- 垂直领域深化:医疗、金融、法律等专业领域
- 个性化定制:基于用户偏好的定制化模型
- 边缘部署:轻量化模型在边缘设备部署
- 实时交互:支持实时语音和视频交互
- 跨模态生成:任意模态间的内容生成
产业发展趋势:
- 算力成本下降:专用芯片和优化技术降低成本
- 开发工具完善:低代码、无代码平台普及
- 生态系统成熟:模型市场、开发者社区繁荣
- 标准化推进:模型格式、接口标准化
- 监管政策明确:AI 伦理和安全法规完善
昇腾技术生态
昇腾 AI 处理器架构
昇腾 AI 处理器概述:
- 定位:华为自研的 AI 专用处理器,基于达芬奇架构
- 特点:专为 AI 计算优化,高能效比,支持云边端全场景
达芬奇架构核心设计:
- 架构类型:特定域架构(DSA),专为 AI 计算优化
- 计算单元:
- Cube 计算单元:负责大规模矩阵运算,是核心计算单元
- Vector 计算单元:负责向量运算,处理卷积等操作
- Scalar 计算单元:负责标量运算和控制逻辑
- 内存系统:多级缓存设计,高效的数据访问
- 支持精度:INT8、FP16、FP32 等多种精度
达芬奇架构优势:
- 3D Cube 矩阵计算:支持高吞吐量的矩阵运算
- 异构计算:多种计算单元协同工作
- 低功耗设计:专门优化 AI 计算,能效比高
- 灵活配置:支持不同规模的计算需求
Atlas 系列产品
Atlas 产品体系:
- 定位:基于昇腾 AI 处理器的全场景 AI 计算解决方案
- 产品形态:模块、板卡、小站、服务器、集群等
训练产品系列:
- Atlas 800 训练服务器(型号 9000/9010):
- 内置多颗昇腾 910 训练处理器
- 提供强大的 AI 训练算力
- 应用:深度学习模型训练、大模型开发
- Atlas 900 AI 集群:
- 大规模 AI 训练集群
- 支持超大规模模型训练
- 应用:科研、产业大模型训练
- Atlas 300T 训练卡:
- 用于服务器的训练加速卡
- 支持 PCIe 接口
推理产品系列:
- Atlas 800 推理服务器(型号 3000/3010):
- 最大支持 8 个 Atlas 300I/V Pro 推理卡
- 提供强大的实时推理能力
- 应用:中心侧 AI 推理场景
- Atlas 500 系列:
- Atlas 500 智能小站:边缘推理设备
- Atlas 500 Pro AI 边缘服务器:支持多种推理卡和视频解析卡
- 应用:边缘 AI 推理、视频分析
- Atlas 200 系列:
- Atlas 200 AI 加速模块:嵌入式 AI 加速
- Atlas 200 DK 开发者套件:开发和原型验证
产品选型指南:
|
产品型号 |
应用场景 |
特点 |
算力 |
|
Atlas 800 9000 |
大模型训练 |
多卡集群,高性能 |
100+ PetaFLOPS |
|
Atlas 800 3000 |
中心推理 |
8 卡配置,高并发 |
128 TOPS |
|
Atlas 500 Pro |
边缘推理 |
灵活配置,低功耗 |
32 TOPS |
|
Atlas 200 DK |
开发验证 |
便携式,易上手 |
16 TOPS |
CANN 计算架构
CANN 架构概述:
- 全称:Compute Architecture for Neural Networks
- 定位:昇腾 AI 异构计算架构,对标 NVIDIA 的 CUDA
- 作用:承上启下,支持多种 AI 框架,服务 AI 处理器
CANN 五层架构:
- 昇腾计算语言层(AscendCL):
- 提供 Device 管理、Context 管理、Stream 管理等 API
- 统一的编程接口,屏蔽硬件差异
- 支持 C、C++、Python 等多种语言
- 昇腾计算服务层:
- 神经网络库(NN 库):提供基础神经网络算子
- 线性代数计算库(BLAS):提供矩阵运算
- 调优引擎:算子调优、子图调优、梯度调优、模型压缩
- 昇腾计算编译层:
- 图编译器(Graph Compiler):将 IR 计算图编译成 NPU 可执行模型
- TBE(Tensor Boost Engine):张量加速引擎,支持自定义算子开发
- 支持自动调度和优化
- 昇腾计算执行层:
- 运行时库(Runtime):内存分配、模型管理、数据收发
- 图执行器(Graph Executor):执行计算图
- DVPP(数字视觉预处理):视频和图像处理
- AIPP(AI 预处理):AI 专用预处理
- HCCL(华为集合通信库):多卡通信
- 昇腾计算基础层:
- 共享虚拟内存(SVM):主机和设备内存统一管理
- 设备虚拟化(VM):支持虚拟化环境
- 主机 - 设备通信(HDC):主机和设备间数据传输
CANN 核心特性:
- 算子开发:
- TBE 工具链:支持自定义算子开发
- 算子融合:提高计算效率,减少内存访问
- 自动优化:自动生成高效的算子实现
- 图优化:
- 静态图优化:常量折叠、死代码消除
- 动态图优化:图算融合、内存优化
- 混合精度优化:自动选择最优精度
- 性能调优:
- 自动并行:根据硬件配置自动生成并行策略
- 内存优化:自动管理内存,减少内存占用
- 调度优化:优化计算顺序,提高硬件利用率
昇腾应用使能
MindX DL 组件:
- 定位:昇腾深度学习组件,支持训练和推理
- 功能:
- 昇腾 AI 处理器集群调度
- 昇腾 AI 处理器性能测试
- 模型保护和加密
- 训练作业管理
MindX Edge 组件:
- 定位:昇腾智能边缘组件
- 功能:
- 边缘 AI 业务容器全生命周期管理
- 边云协同的边缘计算解决方案
- 严格的安全可信保障
ModelZoo:
- 提供预训练模型和示例代码
- 支持多种网络架构
- 包含训练和推理脚本
MindX SDK:
- 定位:特定域 AI 应用开发工具包
- 功能:
- 制造质检:缺陷检测、尺寸测量
- 视觉分析:人脸识别、行为分析
- 快速开发和部署
7.5 昇腾 AI 集群技术
昇腾 AI 集群架构:
- 硬件基础:多个 Atlas 服务器通过高速网络互联
- 网络架构:
- InfiniBand:低延迟、高带宽
- RoCE:基于以太网的 RDMA
- 软件栈:
- 集群管理:FusionDirector
- 作业调度:MindX DL 调度器
- 通信库:HCCL(华为集合通信库)
分布式训练支持:
- 数据并行:每个 GPU 处理不同的数据分片
- 模型并行:模型的不同部分分布在不同 GPU
- 流水线并行:模型的不同层分布在不同 GPU
- 混合并行:多种并行策略结合
集群性能优化:
- 负载均衡:确保各节点计算负载均衡
- 通信优化:减少节点间通信开销
- 内存优化:优化参数同步和梯度聚合
- 容错机制:支持训练过程中的故障恢复
MindSpore 实践指南
MindSpore 基础概念
张量(Tensor):
- MindSpore 的基本数据结构,支持多维数组运算
- 支持多种数据类型:float32、float16、int32、int8 等
- 支持 GPU 和昇腾 NPU 加速
算子(Operator):
- 基本计算单元,如加减乘除、卷积、激活函数等
- 支持自动微分,可求导
- 提供丰富的算子库,支持自定义算子
网络定义:
- 通过继承 nn.Cell 类定义网络结构
- 在 construct 函数中实现前向传播逻辑
- 支持顺序网络(nn.Sequential)和复杂网络
参数管理:
- Parameter 类:需要优化的参数
- Tensor 类:不需要优化的数据
- 参数初始化:支持多种初始化策略
全场景应用能力
端侧应用:
- MindSpore Lite:
- 专为端侧和边缘场景设计
- 支持模型压缩和量化
- 提供 C++ 和 Java API
- 模型转换:
- 将训练好的模型转换为端侧可执行格式
- 支持算子优化和图优化
- 提供性能分析工具
边缘应用:
- 边缘推理:
- 支持 Atlas 边缘设备
- 提供端云协同能力
- 支持实时推理和视频处理
- 边缘训练:
- 支持小规模模型训练
- 联邦学习支持
- 隐私保护训练
云端应用:
- 大规模训练:
- 支持分布式训练
- 自动并行和优化
- 混合精度训练
- 模型服务:
- 支持模型部署和推理服务
- RESTful API 接口
- 多模型管理
模型训练与推理
训练流程:
- 数据准备:
- 数据集加载(Dataset API)
- 数据预处理(map 操作)
- 数据增强(augmentation)
- 网络定义:
- 继承 nn.Cell 定义网络
- 实现 construct 方法
- 定义损失函数和优化器
- 训练循环:
model = Model(network, loss_fn, optimizer)
model.train(epoch_size, dataset)
- 断点续训:
- 保存检查点(Checkpoint)
- 加载检查点继续训练
- 支持训练状态恢复
推理流程:
- 模型加载:
- 从检查点文件加载模型权重
- 使用 model.predict 接口进行推理
- 支持静态图和动态图推理
- 推理优化:
- 图优化:自动进行图剪枝和算子融合
- 内存优化:减少内存占用
- 性能优化:自动选择最优执行策略
- 批量推理:
- 支持批量数据处理
- 动态 batch size 支持
- 流式推理支持
模型迁移调优实践
迁移前准备:
- 环境检查:
- 确认 MindSpore 版本
- 检查昇腾驱动和固件版本
- 验证硬件连接
- 代码分析:
- 分析原模型的网络结构
- 识别不支持的算子
- 评估迁移复杂度
- 工具准备:
- 使用 MindSpore 官方迁移工具
- 准备精度对比工具
- 安装必要的依赖库
迁移步骤:
- 代码转换:
- 将 PyTorch/TensorFlow 代码转换为 MindSpore
- 处理 API 差异(如设备管理、BatchNorm 参数等)
- 验证基本功能正确性
- 精度调优:
- 复现原模型的精度指标
- 对比关键节点的输出
- 调整超参数和优化策略
- 性能优化:
- 使用 Profiler 分析性能瓶颈
- 进行算子融合和图优化
- 调整 batch size 和并行策略
常见问题及解决:
- 精度不一致:
- 原因:权重初始化不同、算子实现差异、数值精度差异
- 解决:使用相同的权重初始化、调整算子参数、使用相同的随机种子
- 性能问题:
- 原因:数据预处理耗时、算子性能低、内存访问频繁
- 解决:优化数据流水线、使用高性能算子、减少内存拷贝
- 显存不足:
- 原因:模型过大、batch size 设置不当、中间变量过多
- 解决:使用混合精度训练、减小 batch size、使用梯度累积
- 算子不支持:
- 原因:MindSpore 不支持某些算子
- 解决:寻找替代算子、开发自定义算子、修改网络结构
迁移调优工具:
- MindSpore Profiler:性能分析工具
- MindSpore Insight:可视化调试工具
- 精度对比工具:自动对比模型输出差异
- 模型转换工具:支持多种格式转换
性能优化最佳实践
计算优化:
- 算子融合:
- 自动融合相邻算子,减少内存访问
- 支持自定义融合策略
- 提高计算效率
- 混合精度训练:
- 使用 FP16 进行计算,FP32 保存参数
- 减少内存占用,提高计算速度
- 支持自动 loss scale
- 图优化:
- 常量折叠:编译时计算常量表达式
- 死代码消除:移除无用计算
- 算子替换:选择更高效的算子实现
内存优化:
- 内存复用:
- 自动识别可复用的张量
- 减少内存分配和释放开销
- 降低峰值内存使用
- 梯度优化:
- 梯度累积:使用小 batch size 训练大模型
- 梯度裁剪:防止梯度爆炸
- 混合精度梯度:减少梯度内存占用
- 参数分片:
- 大模型参数分片存储
- 减少单卡内存占用
- 支持模型并行
数据处理优化:
- 数据流水线:
- 数据加载和预处理并行
- 使用多线程 / 多进程加速
- 预加载数据到内存
- 数据增强优化:
- 使用 GPU 加速的数据增强
- 减少数据增强的计算开销
- 批处理数据增强
- 格式优化:
- 使用高效的数据格式(如 MindRecord)
- 减少数据转换开销
- 支持流式读取
分布式训练优化:
- 通信优化:
- 使用高效的通信算法
- 减少通信次数和数据量
- 重叠计算和通信
- 负载均衡:
- 确保各 GPU 负载均衡
- 动态调整 batch size
- 优化模型切分策略
- 容错机制:
- 支持训练过程中的故障恢复
- 检查点自动保存
- 分布式训练状态同步
重点必背考点清单
AI 基础必背点:
- AI 七大核心领域:机器学习、NLP、CV、语音识别、知识图谱、机器人学、强化学习
- 机器学习四大分类:监督学习、无监督学习、半监督学习、强化学习
- 三种数据模态的处理方式:图像(CNN)、文本(词向量)、音频(MFCC)
- 经典算法特点:SVM 的核函数、KNN 的距离度量、决策树的可解释性
深度学习必背点:
- CNN 结构:卷积层、池化层、全连接层
- LSTM 核心:细胞状态、三个门控(遗忘门、输入门、输出门)
- Transformer 核心:自注意力机制、多头注意力、位置编码
- GAN 架构:生成器 + 判别器,对抗训练
框架对比必背点:
- MindSpore 特点:动静态图统一、昇腾原生支持、自动并行
- MindSpore 与 PyTorch 差异:设备管理、BatchNorm 参数、Dropout 参数、权重初始化
- 三大框架优势:MindSpore(昇腾优化)、PyTorch(科研友好)、TensorFlow(工业成熟)
大模型必背点:
- Transformer 架构:编码器 - 解码器结构、自注意力计算流程
- MoE 原理:专家网络 + 门控网络、稀疏激活机制
- 主流模型特点:GPT(自回归)、BERT(双向)、LLaMA(开源)
- 提示工程原则:清晰性、具体性、完整性、一致性
昇腾技术必背点:
- 达芬奇架构三大计算单元:Cube(矩阵)、Vector(向量)、Scalar(标量)
- Atlas 产品系列:800 系列(训练 / 推理)、500 系列(边缘)、200 系列(模块)
- CANN 五层架构:AscendCL、服务层、编译层、执行层、基础层
- 昇腾集群技术:HCCL 通信库、FusionDirector 管理、分布式训练支持
MindSpore 必背点:
- 核心概念:Tensor、Parameter、Cell、Model
- 训练流程:数据准备→网络定义→模型训练→推理验证
- 迁移要点:API 差异处理、精度对齐、性能优化
- 优化技术:混合精度、算子融合、内存复用
更多推荐




所有评论(0)