【寒武纪:飞桨框架&PaddleX重磅发布】天风计算机缪欣君团队

文摘   2024-09-13 07:00   上海  

天风计算机团队

作者 | 缪欣君 详细信息请联系 | 刘鉴 李航


摘要


来源: 飞桨PaddlePaddle视频号专题直播课


1、思元370系列芯片和加速卡:

寒武纪推出的AI芯片,采用台积电7纳米工艺,最高int8算力达256TOPS,支持芯片间高速互联技术,加速训练。


2

MLU370推理和训练产品:


MLU370 S4是半高半长产品,性能是同密度GPU的两倍;MLU370 X4面向训练,支持MLU-Link芯片间高速互联,具备高内存带宽。


3、寒武纪

基础软件平台:

提供通用平台,包括BANG异构计算平台、编译和运行工具、加速库(CNNL、CNNL-Extra)、通信库(CNCL)、云端辅助工具(DCMM、CNTOPO)、流处理工具(CNStream),以及AI框架和推理引擎(MagicMind)。


4、PaddleX框架和模型产线:

支持云端和多硬件本地端运行,提供丰富的模型库和场景,支持低代码开发和模型产线设计,高效支持寒武纪370系列。


5、实战案例: 

手写汉字识别和行人跌倒检测两个案例,展示了从模型选型、数据校验、模型微调到模型测试的完整流程,并提供了将训练好的模型集成到项目中的方法。


建议关注:

自主AI算力的国内企业:寒武纪


风险提示:AI算力景气度下降的风险、公司产品供应端的风险、AI芯片竞争加剧的风险、客户集中度较高的风险


01

思元370系列芯片和加速卡

思元370系列芯片和加速卡是寒武纪首颗采用Chiplet芯粒技术的AI芯片,公司使用了台积电的7纳米的工艺,最高的int8最高算力达到了256TOPS, 同时公司也使用了另一个芯片间互联的技术来加速训练。

02

MLU370推理和训练产品

MLU370 S4和X4这两款推理产品左边是公司的MLU 370 S4,它是一个半高半长的一个尖端的产品,在相同的一个密度下这样的性能会达到两倍的 GPU的能力,在2U的空间中,可以部署到最高8卡的一套解决方案。右边的产品是MLU370 X4,它是面向训练的专门面向训练的的芯片。

MLU 370X8具备两倍370X4的内存带宽,并且支持了MLU-Link芯片间高速互联, 能够在模型训练中取得很好的性能。

MLU370X8的最大功耗是250瓦,它的产品形态是全高全长双槽类的形态,最高支持PCIe 4的一个协议。



03

寒武纪基础软件平台

寒武纪的基础软件平台,整体软件平台是各个产品线通用的一套平台,硬件上一层有自己的BANG异构计算平台,提供了编译工具、运行工具以及调试工具。在上一层的话也提供了加速库,其中包括 CNNL、CNNL-Extra等高性能计算库。通信口叫做CNCL提供了结合通信的能力。云端的辅工具,包括DCMM、CNTOPO这样一套工具。同时也具有CNStream的一套流处理的工具。再上一层是AI框架,框架层具有Inference Engine、Framework还有一些通用工具。在推理引擎方面,MagicMind对标Nvidia的Tesla T的工具。

在框架方面,公司在做PaddlePaddle、PyTorch、TensorFlow寒武纪特定的版本。在往寒武纪上做一些相应的适配,包括Megatron-LM、DeepSpeed、TransformerEngine、FlashAttention等,基于下面这一套一等技术软件栈,支持互联网、金融、交通、能源、运营商这样一个全场景的AI行业应用。



寒武纪3.0版本,可以从飞桨官网上进行试用,选择Linux、pip、寒武纪来进行下载。

04

PaddleX360 beta在寒武纪上的适配和使用

PaddleX的整体框架,从下往上看可以看到PaddleX的运行环境支持云端运行,也支持多硬件的本地端运行,模型开发环境包括分享模型框架和多联件的各类型模型套件等,寒武纪提供了模型产线工具,包含基础模z型产线和特定模型产线,通过模型产线,可以系统性的解决各类实际场景中的问题,这样PaddleX可以广泛利用到各个领域。

PaddleX核心亮点:

1)支持丰富的模型和场景。2)支持迭代码开发,使得开发和部署更加便捷。3)模型产线的设计,支持多模型串联,支持端到端的解决问题。4)对寒武纪370系列的高效支持。


功能详解:

丰富的模型库、全面的场景,方便大家来选择,包含分类检测、OCR分割持续等等常用的模型。

在寒武纪370上,已经支持39个模型,涉及到5个类别,主要包含分类、检测、OCR、分割、持续等等这些常用的模型。

PaddleX模型产线:

PaddleX提出了一个模型产线的概念,然后也内置了一些已有的模型产线可以直接来使用,如进行推理预测和部署,可以看到中间一条线直接用来进行推理,如果推理效果不理想,就可以用单模型开发工具对模型进行一个微调,微调后再通过产线测试,如果能达到想要的效果,然后再进行推理预测和部署,所有这些操作寒武纪都提供了一个非常简易的接口,方便大家直接来进行使用。

PaddleX一个显著特点就是低门槛、低代码,只需要一条命令就能完成数据校验,模型评估和模型推理。



利用代码进行数据校验、模型评估、模型推理。除此之外,还支持开发者对一些常用的超参数进行修改,对于模型优化中的是都已经暴露在模型对应的配置文件中了,可以通过命令行方便的修改替换。


在介绍两个实战案例之前,先讨论环境配置。环境配置是开发中常见的问题,提供了稳定的基础镜像和依赖包来统一环境,推荐大家使用这种方法。具体操作步骤在X的仓库文档中有详细说明。

05

实战案例

1)手写汉字识别案例。手写汉字识别是OCR领域的难题。可以使用内置模型快速体验,但内置模型的识别效果可能不理想,因此需要进行模型微调。

微调步骤如下:

  • 选择模型:基于CPU测试结果,选择轻量级的PP-OCRv4_mobile模型进行微调。

  • 数据收集与标注:使用社区提供的手写体中文识别数据集,包含训练集和评估集,确保数据格式正确。

  • 参数配置:使用官方权重加速模型收敛,如有需要,可替换为自定义权重。训练中断时,可加载断点继续训练。



模型调优:

  • 确定训练轮次和学习率。

  • 固定训练轮次为20轮,批大小为8,使用4卡训练,总批大小为32。

  • 训练精度最高的最优学习率为0.0002。

  • 增加训练轮次至80轮,精度提升逐渐放缓,表明模型接近最优性能。

接下来,可以通过PaddleOCR的API将训练好的模型集成到项目中。具体步骤如下:

  • 指定设备和模型路径:设置设备为MLU,并指定模型的路径。

  • 创建OCR实例:使用PaddleOCR库创建一个OCR实例。

  • 进行推理:调用OCR实例的推理方法,传入图像文件进行识别。

2)第二个案例,是选择了一个检测模型,案例选择的是行人跌倒检测,与第一个案例一样,关于检测模型的开发。模型开发通常包括以下几个步骤:模型选型、数据校验、模型微调和模型测试。

  • 模型选型:使用PaddleX内置的检测模型进行快速体验。通过一条命令,我们对图片进行推理,使用的模型是PP-YOLO-S。但通用检测模型会检测出所有物体,包括人物,而我们只需要检测跌倒的人。因此,我们需要对模型进行微调。

  • 数据校验:在数据校验阶段,使用global_mode参数进行数据格式转换和数据划分,以满足PaddleX的要求。

  • 模型微调:我们选择轻量级的PP-YOLO-S模型进行微调。通过调整训练参数,我们发现当学习率为0.06,训练轮次为150时,模型表现最佳。

  • 模型测试:训练完成后,我们使用mAP(平均精度)来评估模型精度。mAP是交并比(IoU)的平均值,IoU越大,模型精度越高。我们使用PaddleX进行测试,发现模型能够正确检测出跌倒的人。







最后提供了实战作业,鼓励大家体验PaddleX,并在开源仓库中提问和交流。对于使用MLU进行训练和推理的问题,可以直接在PaddleX中指定设备为MLU。


计算机 牛骨挖掘机
追求最极致的用户体验,追求最快的市场响应速度!
 最新文章