AGI时代存内计算芯片的语音识别之旅 —— 知存科技开发板体验与感悟

news2024/10/9 16:59:14

目录

  • 一、简介
  • 二、活动内容
    • 2.1 多模态时代,存内计算框架的应用与发展
      • 1、多模态时代计算需求
      • 2、存内计算技术
      • 3、知存科技存内产品
    • 2.2 分布式环境下深度学习任务的高效可靠执行研究
    • 2.3 IGZO在后道单片三维集成中的机遇与挑战
      • 1、IGZO的背景
      • 2、IGZO的优势
      • 3、IGZO器件的“三座大山”
    • 2.4 神经网络推理框架与实践
      • 1、实验介绍
      • 2、实验环境准备
      • 3、模型训练
      • 4、知存 onnx 格式模型转芯片 mapper 格式
        • 4.1、连接 mapper 环境
        • 4.2、准备 mapper 输入文件
      • 4.3、生成 map
      • 5、烧写 NPU 权重
      • 6、板端工程编译及测试
  • 三、总结与分享
    • 总结
    • 分享---天才博士招募计划

一、简介

在今年的 CSDN 程序员节庆典中,我有幸参与了知存科技精心策划的 AI 工作坊——“探索存内计算芯片开发板在语音识别中的应用”。作为众多成功完成挑战的参与者之一,我感到无比兴奋。随着AI时代的到来,作为AI入门的新手有着好学之心,在此次活动参与中,我回顾了大学的嵌入式课程,又结合了实际的硬件操作,实验搭建完成之后的满满成就感,感觉大学老师没白教!接下来带大家领略一下这个技术之旅以及实际的搭建过程:

随着数据驱动的人工智能技术在各个领域的广泛应用,高能效的存内计算(In-Memory Computing,
IMC)作为解决传统冯·诺依曼架构瓶颈的有效途径,正逐渐成为计算架构领域的研究热点。存内计算的核心思想是将计算任务直接在存储器内部完成,从而减少数据在处理器和存储器之间频繁传输所带来的能耗和时间延迟。

存内计算技术通过在存储单元内部集成计算功能,使得数据在被读取的同时即刻完成计算,极大地提高了计算效率并降低了能耗。这种计算方式特别适合于处理大规模并行计算任务,如深度学习算法中的矩阵运算,能够显著提升智能算法的能效。

在实际应用中,存内计算技术可以广泛应用于自动驾驶、医疗诊断、智能家居等多个领域,通过融合图像、语音、传感器等多种数据源,实现更智能的决策和控制。

存内计算技术的发展不仅为解决传统计算架构的瓶颈提供了新的思路,也为智能计算的发展注入了新的活力,预示着计算技术的深刻变革。

二、活动内容

此次活动主要分为几个部分:

  • 多模态时代,存内计算框架的应用与发展
  • 分布式环境下深度学习任务的高效可靠执行研究
  • IGZO在后道单片三维集成中的机遇与挑战
  • 存内实训
  • AGI 开源圆桌分享

2.1 多模态时代,存内计算框架的应用与发展

知存科技是全球领先的存内计算芯片企业,全球率先 量产商用、KK级 量产出货,2024年首颗存内计算 视觉AI芯片 WTM-8系列即将量产,感兴趣的可以关注期待一下。
在这里插入图片描述

1、多模态时代计算需求

云端侧大模型应领域:主要在移动终端、智能助手、具身智能、自动驾驶等。
在这里插入图片描述

超大模型参数:数字信号处理、人脸识别、人脸识别、端侧大模型、云端大模型。

端侧LLM Decoding需求:语音多模态 输入输出、信息总结能力、逻辑推理能力、通用具身智能

近存计算技术:基于2.5D的混合工艺集成,将不同的die集成在硅基基座上 混合集成逻辑芯片、模拟芯片、内存芯片 基于UCIE协议,可多芯片高速互联,接口带宽达1Kbit 集成成本高,但芯片设计成本低。

存内计算-相比CPU/GPU,更高计算并行度。更高能效:
在这里插入图片描述

2、存内计算技术

数字存算/模拟存算对比:
在这里插入图片描述

模拟存内计算- 浮栅:

在这里插入图片描述

3、知存科技存内产品

在这里插入图片描述

2.2 分布式环境下深度学习任务的高效可靠执行研究

在这里插入图片描述

基于强化学习的流水线分布式训练调度方案(PG-MPSS)—— 系统框架
在这里插入图片描述

模型划分方案
① 提取模型特征–层的操作类型、输入数据大小、输出数据大小、计算量
② 将每层的特征编码依次输入到分组网络
③ 分组网络输出得到本层与下一层合并的规则。若输出0,则将本层与下一层合并;若输出1,则把前面标记都是0的层加上本层作为一个阶段
④ 在层间流水线并行的基础上加入层内数据并行

阶段映射方案
① 提取阶段的特征,通过对属于阶段的所有层特征进行逻辑或操作得到的
② 将每阶段的特征编码依次输入到映射网络
③ 映射网络输出每阶段对应放置的计算节点编号
④ 按照此模型划分和阶段映射结果做流水线并行训练

2.3 IGZO在后道单片三维集成中的机遇与挑战

1、IGZO的背景

芯片级的三维集成目前提高集成电路密度和性能的主要手段,能够快速满足芯片集成密度提高的需求,基于后道工艺的单片三维集成是未来芯片级三维集成的重要发展方向。基于后道工艺的单片三维集成需要一种兼容低温工艺的成熟半导体材料。

在这里插入图片描述

2、IGZO的优势

氧化物半导体的导电机制:氧化物半导体的迁移率与是否结晶无关,比其他非晶半导体具有更高的迁移率。

氧化物半导体的稳定性主要与Vo浓度、H含量、C杂质有关。

在这里插入图片描述

氧化物半导体在后道集成中的优势

  • 氧化物半导体能够在非晶态时具有较高的电子迁移率
  • 氧化物半导体器件的阈值电压能够通过元素组分调节
  • 氧化物半导体兼容低温工艺且易于三维集成

3、IGZO器件的“三座大山”

抗氢(H)性:IGZO中H可以作为浅能级施主杂质提供电子,导致IGZO器件的阈值电压减小。
热稳定性:后段的ILD、FG退火等工艺会使器件长时间处于400oC,导致薄膜性能退化 F处理能够增强IGZO中M-O的键结,提高薄膜的稳定性。
偏压温度不稳定性:对IGZO进行F plasma处理并优化HK,能够使PBTI可靠性达到十年。

2.4 神经网络推理框架与实践

1、实验介绍

这次实验主要是想通过用AISHELL-WakeUp-1 数据集为例,用不同网络结构展示模型训练及移植过程。AISHELL-WakeUp-1是一个包含中英文唤醒词的语音数据库,其中唤醒词为“你好,米雅”和“hi, mia”。该数据库收录了3936003条语音样本,总计1561.12小时的录音。共有254位发音人参与录制。录音工作在真实的家庭环境中进行,设置了7个录音位置。远距离录音使用了6个圆形的16路PDM麦克风阵列,采样率为16kHz,位深为16bit;近距离录音则使用了1个高保真麦克风,采样率为44.1kHz,位深同样为16bit。

本次实验用到的是witin_nn 框架,这个框架是基于 PyTorch 开发的,witin_nn 框架主要实现了适配知存科技芯 片的量化感知训练(QAT)和噪声感知训练(NAT)方法,目前支持 Linear、Conv2d、 ConvTranspose2d、GruCell 等算子。

通过在神经网络的正向传播链路上引入输 入、权重、偏置以及输出的噪声,干预神经网络的反向传播(参数更新),从而增强网 络的泛化能力。具体来说,witin_nn 模拟神经网络映射到知存科技存内芯片计算的过程, 支持输入和输出的 8bits~12bits 位宽量化以及权重的 8bits 量化,实现 QAT,并引入 模拟电路噪声,实现 NAT。

2、实验环境准备

实验环境准备:

硬件:x3 开发板、GPIO 为 16,17所用串口 、WTMDK2101-X3评估板。

WTMDK2101-X3评估板:WTMDK2101-X3 是针对 WTM2101 AI SOC 设计的评估板。

包含:

()1) WTM2101 核心板,即我们的存算芯片。
()2) 和 I/O 板:WTM2101 运行需要的电源、以及应用 I/O 接口等。

在这里插入图片描述

                                     核心板                                  

在这里插入图片描述

                              WTMDK2101-X3 I/O 板

在这里插入图片描述

软件环境:其中的python环境需要安装3.11版本的。
在这里插入图片描述

安装步骤为:

第一步:安装Miniconda3
	Miniconda3-py311_24.7.1-0-Windows-x86_64.exe
	
第二步:Miniconda下创建环境  :
	conda info -e
	conda create -n py3.11_torch2.3.1 python=3.11
	conda activate py3.11_torch2.3.1
 
第三步:安装onnx、matplotlib、opencv-python、tqdm模块 
	conda install onnx 
	pip install matplotlib    -i https://pypi.tuna.tsinghua.edu.cn/simple
	pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
	pip install -i https://mirrors.aliyun.com/pypi/simple/ -U numpy
	pip install tqdm
	pip install einops
 
第四步:安装torch模块和Torchvision模块,win环境下在tools目录中有提供对应文件
	Torch:torch-2.3.1+cpu-cp311-cp311-win_amd64.whl
	Torchvision:torchvision-0.18.1+cpu-cp311-cp311-win_amd64.whl
	运行如下命令进行安装: 
	pip install /PATH/TO/torch-2.3.1+cpu-cp311-cp311-win_amd64.whl
	pip install  /PATH/TO/torchvision-0.18.1+cpu-cp311-cp311-win_amd64.whl

其中第四步中的TO需要改写torch-2.3.1+cpu-cp311-cp311-win_amd64.whl和torch-2.3.1+cpu-cp311-cp311-win_amd64.whlf分别的文件路径。如下所示:

在这里插入图片描述

在这里插入图片描述

3、模型训练

本 demo 提供 CNN 网络结构为:
在这里插入图片描述
接下来我们就开始训练了。本次实验推荐在 windows 环境下进行运行。操作步骤为:

(1)python 环境安装配置完成。
(2)进入代码目录 cd python,执行后续代码,模型训练配置 config.py。
(3)运行 train.py,训练完毕后,模型权重为 models/net_type/bestModel.pth。
(4)运行 infer_and_generate_onnx.py,会将训练得到的 bestModel.pth 进行推理并 构建 onnx 模型,即 models/net_type/bestModel_quant.onnx,将 bestModel.onnx 复制 到 mapper/input 下。
(5)运行 create_quant_data.py,在 mapper/input 中生成 test_data_cnn_0_100.npy 和 mnist_data_cnn.h 文件,这俩文件是后面生成 map 和上板验证需要的输入文件。

4、知存 onnx 格式模型转芯片 mapper 格式

mapper 是知存工具链制定的一套工具,目的在于将模型转换至芯片所需格式。

4.1、连接 mapper 环境

(1)安装 Xshell/Xftp、或者mobaxterm软件,能连接服务器的也行。通过 Xshell 连接到 mapper 服务器

  • 服务器 IP 地址: 101.126.129.212
  • 端口: 8090
  • 账号: guest
  • 密码: guest111

(2)输入命令:source ~/.bashrc

(3)在用户目录下新建一个文件夹,用于存放后续相关文件,如/home/guest/temp

4.2、准备 mapper 输入文件

进入 mapper 文件夹下, input 文件夹下即我们给 mapper 的输入。

在这里插入图片描述

其中bestModel_quant.onnx 为步骤 3.(4)生成的模型。
opt.protobuf 为模型优化策略配置文件,是可选项。

test_data_cnn_0_100.npy 为 python/create_quant_data.py 生成的数据, 用于模型精度校准。 gen_mapper.py 为转换脚本,其中网络输入形状、名称等,需与模型适配 (如所示)。
在这里插入图片描述

4.3、生成 map

(1)通过 Xftp 将 mapper/input 文件夹传输到

4.1.(3)建立的文件夹下,如 /home/guest/temp/input,执行 gen_mapper.py,转换输出在/home/guest/temp/output, 将 output 文件夹传输回本地。

(2)mapper 的生成产物示例位于 mapper/output
在这里插入图片描述

5、烧写 NPU 权重

我们使用 NPU 烧写板(NPU 烧录器)

(1)系统连接:进行模型烧录和开发时,我们需要将 JTAG,核心板,NPU 烧写 板连接好,并打开开关,如系统连接示意图所示。跳线连接参照图:

在这里插入图片描述

实物连接
在这里插入图片描述

在这里插入图片描述

(3)使用 project/ WitinProgramTool_WTM2101 下的 WitinProgramTool.exe 进行模型 权重烧写。

(4)烧写指令: .\WitinProgramTool.exe -m init .\WitinProgramTool.exe -m program -i XXXX\map.csv -k 2 其中 XXXX 为步骤 4.(3)中生成的 mapper/output/map

在这里插入图片描述

6、板端工程编译及测试

(1)安装知存 IDE Witmem Studio,安装包在 tools 下 WSSetup_1.5.7.exe。

(2)将步骤 4.(3)生成的 mapper/output/register.c 放在 project/Model 下,使用 Witmem Studio 打开工程 project/Project/SES-RISCV/Demo.wmproject。

(3)测试数据为 python/create_quant_data.py 生成的数据 mnist_data_cnn.h,应放在:

在这里插入图片描述

(4)Target->Download 下载工程:
在这里插入图片描述

(5)打开 tools 中的 amaoComV4.9.exe 串口工具,设置波特率 9600,查看准确率输 出。这些串口打印信息会在(4)download 工程完成后开始打印,如果没有看到完整的 打印信息,可以将板子重新下电上电后,先打开串口,再进行(4)download,不能通过开发板 reset 按键进行重启操作。

正确输出见下图:

在这里插入图片描述

如果界面出现这些数据,那么恭喜你, 完成了基于存内计算X3开发板的语音识别从训练到部署全流程。

三、总结与分享

总结

随着人工智能大模型时代的到来,我们大多数人对AI的体验还停留在软件层面,比如智能手机上的虚拟助手、网站自动回复的聊天机器人等。最近,我有幸参与了一个线下的AI体验活动,它让我亲身感受到了AI与物理硬件相结合的独特魅力。

在这次活动中,我有机会体验了AI在嵌入式系统中的应用,这不仅仅是一个简单的软件操作流程,而是需要我亲自动手,将AI技术集成到实体设备中。

在专业导师的辅导下,我完成了一个基于X3内存计算开发板的语音识别项目,从数据采集、模型训练到最终的系统部署,整个过程让我对AI技术的深度和应用价值有了更深刻的认识。在这个过程中,我面临了不少挑战,包括数据清洗的复杂性、模型优化的困难,但每当我克服这些挑战,那种成就感和满足感是难以言表的。

每当我完成一个阶段的工作,那种成就感和自豪感就会涌上心头。从项目的开始到最终的成果展示,我不仅获得了宝贵的知识,还提升了我的实践技能。这次体验不仅加深了我对AI技术的理解,也让我对未来AI的潜力充满了期待。这确实是一次非常珍贵且难忘的经历!

分享—天才博士招募计划

此次线下的导师团队,是由知存科技的算法开发专家团队领衔,包括工具链、AI算法开发和存算架构设计等领域的领军人物,具备丰富的实战经验。如果有这个行业的或者感兴趣的可以加入他们。

分享一下他们团队的一个天才博士招募计划,如果你觉得你觉得你能行你就来!有着广阔的舞台等着你!具体招募要求如下:

  • 面向具有创新精神、良好的解决问题能力、善于和乐于学习、有很强的自我驱动能力和延迟满足感 年薪总包:业界最顶级
  • 人才培养:除年薪外百万元预算用于海外交流、顶级行业科学家辅导、充分自由度的研发项目、独自带队机会。

快来报名:天才博士招募计划

在这里插入图片描述

感兴趣的也可以扫码了解更多信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2199533.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenStack 创建自定义的QCOW2格式镜像

目录 创建kvm虚拟机 创建目录上传ISO镜像 将 CentOS 7.4 上传到 /soft 目录下 创建 kvm虚机 使用的磁盘文件 配置kvm虚拟机 修改 KVM 虚机网络配置文件 安装 cloud-init 软件包 编辑 cloud.cfg 文件 编辑 network 文件 编辑 grub 文件 关闭kvm虚拟机 创建 QCOW2 镜…

10.8 C高级-shell脚本3

1、思维导图: 2、练习 分支结构结合test指令完成一下编程 1>判断闰年 2>输入一个数判断是否为偶数 3>使用test指令实现等级判断 90--100A 60--89B 0-50C 其他错误 代码: #!/bin/bash #分支结构结合test指令完成以下编程 #1判断是否闰年 read …

工业网关设备在智能制造中的应用有哪些?天拓四方

工业网关设备是一种用于连接工业设备和物联网子系统的设备,它能够实现数据采集、远程监控、远程控制和数据传输等功能。基于强大的数据处理和传输能力,工业网关设备能够实时采集各种工业设备的运行数据,并将其传输到云平台或数据中心进行存储…

【java】final关键字详解

🚀 个人简介:某大型国企资深软件开发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养&#x1f9…

升级 OpenSSL 的详细步骤(解决 SSH 漏洞的前提)

目录 前言1. 准备工作1.1 安装必要的依赖1.2 下载 OpenSSL 源码 2. 解压和配置2.1 解压文件2.2 配置编译参数 3. 编译和安装3.1 编译源码3.2 安装 OpenSSL 4. 验证安装5. 解决 SSH 漏洞的必要性6. 结语 前言 在信息安全的时代,服务器的安全性至关重要。特别是在互联…

颠覆再临!OpenAI Canvas让AI写作与编程焕然一新

目录 在Canvas界面中,你可以:Canvas有哪些强大功能?写作助手的升级编程功能的提升 网友反响如何?[如何直接使用ChatGPT4o、o1、OpenAI Canvas](https://www.nezhasoft.cn/) 👇 [ChatGPT o1网页入口在文末](https://www…

Java软件架构师结合实际项目经验总结软件架构的发展进程与原理(重点讲微服务架构怎么来的)

软件架构师结合实际项目经验总结软件架构的发展进程与原理 一、前言 笔者自己一直从事软件开发工作,算上大四实习1年,一直到今年整整12年,这期间有些人已经转了管理岗或者转行,已经完全不敲代码了!笔者依然在一线编码…

tp5 fastadmin列表页图片批量压缩并下载

记录&#xff1a;tp5 fastadmin对列表页选中数据的多张图片进行压缩并下载。 html代码 <a href"javascript:;" class"btn btn-info btn-apple btn-disabled disabled {:$auth->check(zhuanli/zhuanli/xiazai)?:hide}" title"批量下载专利证书…

关于学习神经网络的一些感悟

intro 本文主要是笔者学习神经网络时一些思考的感悟&#xff0c;由于本人对人工智能方向了解甚浅&#xff0c;所以记录的理解会有不正确的地方&#xff0c;欢迎批评指正&#xff01; 深度学习与传统机器学习算法的一个显著区别&#xff1a;对于传统的机器学习算法&#xff0c;可…

Sealos Devbox 发布,珍爱生命,远离 CI/CD

水滴攻击太阳系用的是最原始的攻击方式&#xff1a;撞击&#xff01;却又如此有效率。 当我们搞了一堆容器、编排、CI/CD、DevOps&#xff0c;发明了一大堆没什么用的名词之后&#xff0c;最终发现这些操作都是花里胡哨&#xff0c;让开发者越陷越深。 最终你会发现一个真理&…

2句话说通 一体化模型与矢量模型的不同

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道࿰

Mendix 创客访谈录|平台造平台真的可以吗?– 记西门子自由流业务系统的实战

本期创客 瞿凯歌 北京无尖科技有限公司 实施部技术负责人 大家好&#xff0c;我叫瞿凯歌&#xff0c;毕业于计算机科学技术&#xff0c;7年软件开发经验。目前任职于北京无尖科技有限公司&#xff0c;担任实施部技术负责人。 我们公司专注于企业数字化转型业务&#xff0c;利用…

Java8新特性, 函数式编程及Stream流用法大全

用了多少年的java8了&#xff0c;Lambda表达式和stream流也经常用&#xff0c;但是也仅限于某些用法比较熟练&#xff0c;看见了 Function、Consumer 等函数式接口还是一脸懵逼&#xff0c;现在来全面总结一下java8这些新特性&#xff0c;也为自己后续查找做个备忘。如果你只是…

体系指南|如何从0到1建设一套软件测试CMA体系

软件测试实验室在申请CMA测试认证时&#xff0c;需要根据CMA的要求&#xff0c;建立一套质量管理体系&#xff0c;还需要参照相关标准建立一套技术体系。本文我们重点介绍质量管理体系的建设。这部分内容我们可以参照《检验检测机构资质认定能力评价 检验检测机构通用要求》中&…

Python神仙级思维导图+入门教程(非常详细,入门从这篇开始)

入门 Python 绝非难事&#xff0c;但如何让自己坚持学下去是如今很多学习者面对的一大难题。为了避免像背单词永远停留在 abandon 一样&#xff0c;积极展开自救的小编在尝试过一些入门方法后&#xff0c;终于找到了一个超级棒的一份思维导图视频教程 这是我刚开始学习python时…

谷歌发布建筑数据,高度误差达惊人的1.5米

建筑数据对规划人口增长、应对危机和深入了解城市化带来的影响有很大的帮助&#xff0c;这里为大家分享谷歌全球南方带高度的建筑数据集。 数据介绍 到2050年&#xff0c;全球城市人口预计将增加25亿&#xff0c;其中近90%的增幅将出现在亚洲和非洲的城市。 但恰巧是这些地方…

World of Warcraft [WeakAuras](WA)

https://addons.wago.io/addons/weakauras WeakAuras-5.13.1 复制到自己游戏的AddOns目录 D:\Battle.net\World of Warcraft\_classic_\Interface\AddOns 启动命令 /wa

职场基本功:击退欺凌

文章目录 引言I 什么是职场欺凌?不友好行动确认对方是不是真的有敌意II 反击欺凌信任领导找到敌营里的薄弱点,击溃打手,各个击破。别急着跟欺凌者和解III 应对特殊情况的欺凌引言 面对职场欺凌,有明确敌意的。这时候需要你反击,千万别认怂。 但不是所有的欺凌行为都值得我…

HTML5实现古典音乐网站源码模板1

文章目录 1.设计来源1.1 网站首页1.2 古典音乐界面1.3 著名人物界面1.4 古典乐器界面1.5 历史起源界面2.效果和源码2.1 动态效果2.2 源代码源码下载万套模板,程序开发,在线开发,在线沟通作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/142…

一键升级 Win10 22H2 19045.5011 正式版:含9项改进和修复!

今日&#xff0c;系统之家小编给您分享2024年10月最新更新的Windows10 22H2正式版系统下载&#xff0c;该版本系统基于微软官方最新Windows10 22H2 19045.5011 64位专业版进行离线制作&#xff0c;安全无毒&#xff0c;集成万能驱动&#xff0c;且本次更新包含了9项改进和修复&…