Airbox账号密码:linaro
风扇太吵的话:
sudo busybox devmem 0x50029000 32 0x500 sudo busybox devmem 0x50029004 32 0xfa0
1.TPU-MLIR 快速入门手册: https://doc.sophgo.com/sdk-docs/v23.09.01-lts/docs_latest_release/docs/tpu-mlir/quick_start/html/01_introduction.html
2.示例模型仓库地址: https://github.com/sophon-ai-algo/examples
3.TPU-MLIR 官方仓库地址 https://github.com/sophgo/tpu-mlir
4.SOPHON-SAIL 开发手册: https://doc.sophgo.com/sdk-docs/v23.05.01/docs_latest_release/docs/sophon-sail/docs/zh/html/
5.TPU-MLIR 环境搭建与使用指南: https://www.sophgo.com/curriculum/description.html?category_id=43
6.LLM 的概念与实战(其次学习,让然后看看算能学院): https://www.sophgo.com/curriculum/description.html?category_id=47
7.Airbox Demo 参考(首先参考复现): https://zhengorange.github.io/airbox_wiki/
7.1刷机部署等: https://gitee.com/zilla0717/AirboxWiki/blob/master/README.md
8.算能开发者论坛: https://forum.sophgo.com
9.少林派开发板实战课程: https://www.sophgo.com/curriculum/description.html?category_id=6
10.sophoneSDK3开发指南 https://sophgo-doc.gitbook.io/sophonsdk3
请根据我对图像的文字描述,回答问题。 问题:桌子上有什么? 文字描述:'a screwdriver and tape measure on a table' 'a blue rectangular device with a red button' 'a screwdriver with a black handle' 'a close up of a machine' 'a yellow and black tape measure',
SOPHON BM1684X是SOPHON专门针对深度学习领域推出的第四代张量处理器,具有32TOPS计算能力,支持32路高清硬件解码,12路高清硬件编码,适用于深度学习、计算机视觉、高性能计算等环境。
transformer模型分为encoder和decoder,都由注意力机制和FNN前馈神经网络(残差链接和归一化等等)组成。
常见LLM:
LLM的训练过程可以理解为对有效信息的无损压缩过程,压缩率约高,模型的智能水平越高,泛化能力约强,对任务的理解越好。
LLM模型的发展历程:
根据大模型结构分类:只有encoder的模型,如BERT;有encoder和decoder的模型,如T5;只有decoder的模型,如GPT系列;实践证明只有decoder的模型效果更好。
模型压缩:
LLM的训练和推理加速:
TPU-MLIR是一种专用于处理器的TPU编译器。该编译器项目提供了一个完整的工具链,可以将来自不同深度学习框架(PyTorch, ONNX, TFLite和Caffe)的各种预训练神经网络模型转换为高效的模型文件(bmodel/cvimodel),以便在SOPHON TPU上运行。通过量化到不同精度的bmodel/cvimodel,优化了模型在sophon计算TPU上的加速和性能。这使得可以将与对象检测、语义分割和对象跟踪相关的各种模型部署到底层硬件上以实现加速。
传统的编译器是将高级编程语言编译为低级编程语言,比如机器码,组成与平台兼容的库或可执行文件;
Windows中有Microsoft Visual C++ (MSVC) 和 MinGW编译器;
Linux和MacOS中Clang,GNU Compiler Collection (GCC) 编译器;
传统编译器编译流程:
AI编译器是将深度神经网络编译为二进制模型,编译流程与传统编译器相似,区别在于将源代码转化为AI模型,词法单元转换为组成AI模型的算子,主要对AI模型进行优化(模型压缩、量化、算子融合等,减少计算量与存储需求,提高推理性能);
SophonSDK是算能科技基于其自主研发的AI芯片所定制的深度学习SDK,涵盖了神经网络推理阶段所需的模型优化、高效运行支持等能力,为深度学习应用开发和部署提供易用、高效的全栈式解决方案。
包含以下工具包:
TPU-MLIR:Multi-Level Intermediate Representation,基于LLVM(Low-Level Virtual Machine)开发的编译器基础框架;统一IR(Intermediate Representation)格式,并通过多层IR提高通用与可复用性;扩展性与可组合性强,便于实现优化与代码生成;自带Tensor类型,目前主要用于深度学习领域;
模型转换需要在指定的docker执行,主要分两步,一是通过 model transform.py 将原始模型 转换成mlir文件,二是通过 model_deploy.py 将mlir文件转换成bmodel.如果要转INT8模型,则需要调用 run_calibration.py生成校准表,然后传给 model_deploy.py。如果INT8模型不满足精度需要,可以调用run_qtable.py 生成量化表,用来决定哪些层采用浮点计算,然后传给 model_deploy.py 生成混精度模型。
作为框架和硬件之间的桥梁,深度学习编译器可以实现一次性代码开发和重用各种计算能力处理器的目标。算能也开源了自己开发的TPU编译工具——TPU-MLIR (Multi-Level Intermediate Representation)。TPU-MLIR是一个面向深度学习处理器的开源TPU编译器。该项目提供了完整的工具链,将各种框架下预训练的神经网络转换为可在TPU中高效运行的二进制文件bmodel,以实现更高效的推理。本课程以实际实践为驱动,引导您直观地理解、实践、掌握智能深度学习处理器的TPU编译框架。
AI模型代码编译到特定硬件可以使用的二进制的模型bmodel,需要先编译为中间代码IR(在该步骤中完成优化),其复杂度介于高级编程语言与低级机器码之间。
需要多层IR进行转换(Dialect的概念),(实现TPU-MLIR的核心概念)
Dialect组成:
MLIR文本代码组成:
MLIR文本代码解释:
MLIR中Op的定义方式:
训练后量化:训练完成后量化,无需或仅需要少量的数据,易于实现;
量化感知训练:在训练过程中模拟量化重新训练模型,需要带标签的数据,量化后更接近F32模型的精度;在训练过程中插入伪量化算子,将weight与activation量化成低位精度再反量化回FP32引入量化误差。
MLIR实战
Pattern Rewriting Framework: 有向无环图DAG to 有向无环图DAG转换,
分为: Pattern Definition Pattern Rewriter Pattern Application
Dialect1转换为Dialect2通过Dialect Conversion组件进行转换
TPU原理: 一个完整的TPU包含多个Lane; 每个Lane包含Local memory(存储要运算的数据) 和 Execution Units(TPU上最小的计算单元);
指令:GDMA(数据搬运)、BDC(运算)、其他HAU.
智能多媒体关键技术:编解码技术、图像处理技术、多媒体通信技术; 智能多媒体关键指标:解码路数、帧率、分辨率、图像处理接口丰富度、延迟、协议支持;
空间分辨率:
量化:亮度的分辨率,衡量图像亮度的量化精度;
位深:表示图像中每个像素用多少个二进制位表示,灰度图通常是8位,彩色图像通常是24位;
帧率:表示视频中每秒包含的图像数;
码率:是数据传输时单位时间传送的数据比特数,单位是千比特每秒,码率kbps = 文件大小(KB) * 8/时间(s),越高每秒显示的帧数越多;
PSNR:峰值信噪比,常用于两幅图像相似度的测量,基于统计误差衡量,越大含有信息越多,统计意义上两图之间的差异越小,相似度越高;
色彩空间模型(可以相互转换):
3. YUV模型:亮度Y、色度UV(CbCr)组成,表示对蓝色和对红色的便宜程度;
图像存储格式:
图像增强:
直方图:横坐标表示灰度级,纵坐标表示该灰度级 出现的频数(越均匀图像最清晰);
边缘检测,边缘就是像素变化比较明显的区域(一阶导数极致的取区域,通常用一阶差分表示,对于二维图像,通常用梯度来检测),具有丰富的语义信息;
根据不同的卷积核对原图像做卷积可以实现很多图像的基本处理;
对于原信号有噪声的话,可以先滤波,如高斯降噪(可以用高斯滤波卷积核);
在精度要求不高时,Sobel是最常用的边缘检测算子(对高斯核求导再与原图像卷积),缺点是边缘出现了好几个像素,不是只有一个像素值;
Canny边缘检测流程:
为什么需要编码:一个高清视频存在空间冗余(帧内)、时间冗余(帧间)、心理视觉冗余(人眼对色度不敏感对亮度敏感)、编码冗余(可以用熵编码);
涉及的三个技术:预测编码、变换编码、熵编码;
JPEG编码主要步骤:
H.264编码标准:
H.265编码标准:
与多媒体相关的通信技术,包括TCP/IP、UDP、RTP/RTCP、RTSP、RTMP以及多媒体通信协议的应用开发技术。
数字视频接口类型:
无线传输:
TCP与UDP: TCP三次握手、四次挥手还有拥塞控制(慢启动快恢复);
RTP(Real-time Transport Protocol)与RTCP(Real-time Transport Control Protocol):通常基于UDP协议又做了一层控制,工作于应用层和传输层之间,适用于封装要实时传输数据的应用,如视频音频模拟数据等,RTCP提供拥塞控制流量控制等(在接收端会反馈报文的损失给发送端进而调整发送速度);
RTSP(Real Time Streaming Protocol)协议:控制分组基于TCP传输,数据分组基于UDP传输,是双向的,可以发可以拉;
RTMP(Real Time Messaging Protocol):设计用来实时数据通信,基于TCP,多用于直播领域,默认使用端口1935,一般传输的是flv、f4v格式流,延迟在1-3s;
GB28181:国家推进的标准协议,由公安部科技信息化局提出,联网系统在进行视音频传输及控制时应建立两个传输通道:会话通道和媒体流通道。会话通道用于在设备之间建立会话并传输系统控制命令,会话协议采用SIP协议(RFC3261);媒体流通道用于传输视音频数据,经过压缩编码的视音频流采用流媒体协议RTP/RTCP传输。会话协议实现的功能主要包括:注册、心跳保活、目录查询、实时视频点播、录像查询、录像回放/下载、报警事件上报、网络校时、事件订阅等;
嵌入式AI多媒体开发架构
嵌入式AI通过底层多媒体处理接口向算法侧提供API接口,如OpenCV、FFMpeg、BMCV接口,这些接口用于对视频图像编解码、图像的基本处理如色彩空间变换、尺度变换、仿射变换等。
BMCV:自有图像处理加速接口,提供硬件加速的图像处理功能;
两种工作模式:
SOC模式:AI芯片中的处理器作为主控CPU,可独立运行应用程序,通过cache同步系统内存和设备内存(物理上指向同一块内存);
PCIE模式:以PCIE板卡形态插到服务器主机应用程序在服务器CPU上运行,系统内存是服务器操作系统的虚拟内存空间,设备内存是PCIE板卡上的物理内存空间,在物理上是两块内存,通过PCIE同步;
本文作者:zzw
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 License 许可协议。转载请注明出处!