专栏算法工具链地平线芯片学习心得

地平线芯片学习心得

后灵佳2024-05-29
137
0
最近,我们对地平线公司研发的自动驾驶AI芯片进行了学习和研究,收获颇丰。除了在技术方面的学习之外,它的理念也给我带来了很大的启发。
地平线的AI芯片包括旭日系列和征程系列。下面以征程5为例来讲解其理念。

结果导向

征程5芯片不仅拥有比一些其他国产芯片更强大的TOPS处理能力,还非常关注每秒帧数(FPS)处理能力。
对于自动驾驶这种非常强调实时性的应用场景来说,FPS是非常重要的一点。高FPS意味着车辆可以更快地处理摄像头传来的图像,实时做出响应,从而提升安全性和驾驶体验。
而地平线的芯片采用轻装上阵的策略,强调实时处理。具体来说,芯片以Batchsize=1的模式进行工作,即每收到一帧感知硬件传来的图片,就立即进行处理。相比于更大的Batchsize,这种方式能够避免滞后和资源浪费,确保系统的实时性和高效性。

软硬结合

从软件中来,到软件中去。相比难以短期有大突破的硬件和算法架构,优化软件成为提升整体性能的重要手段。
地平线创始人兼CEO余凯博士曾提出:“一个好的智驾系统应该是提供拟人化的驾驶体验,它的系统行为需要符合用户作为司机或乘客与其他周边所有交通参与者的心理预期。” 只有在符合用户预期的情况下,才能带来心理上的安全感,实现优雅、从容且随时可激活的驾驶体验,从而提升用户对智能驾驶系统的认知和满意度。通过技术的迭代升级和成本的优化,以高效的应用和量产效率,让高阶智能驾驶体验人人可享,最终实现真正让每个消费者“爱用”。

低功耗、高能效

芯片的功耗和能效是影响成本的重要因素。地平线AI芯片采用自研的BPU(Brain Processing Unit)架构,具备强大的计算能力。
BPU通过高效的数据流处理和并行计算能力,能够在较低功耗下完成复杂的AI推理任务。而与传统的CPU和GPU相比,BPU的设计更加注重能效比。通过优化硬件架构和使用低功耗工艺,地平线的AI芯片能够在保证性能的同时显著降低能耗,适合应用于功耗敏感的边缘计算场景。
其低功耗、高能效的设计使其在保持高性能的同时,最大限度地减少了能源消耗。这不仅有助于延长电动车的续航里程,还降低了系统的整体运营成本。

工具链与学习成本

地平线为其芯片配备了完善的工具链,降低了开发者的学习成本。通过简化开发流程,地平线帮助开发者更快速地上手并进行创新。这种工具链的完善性不仅提升了开发效率,还加速了新技术的应用与推广。下面以YOLO模型在地平线旭日X3派上的部署为例:
Description
  1. 模型转换:在得到导出后的onnx模型后,需要将其转化地平线交叉编译模型(.bin)。

a. 首先,我们利用地平线AI芯片工具链进行模型转换检测,确认是否所有运算均在BPU上运行
hb_mapper checker --model-type onnx --march bernoulli2 --model yolov5s.onnx
显示如下内容表示模型检查通过.
Description
b. 然后设置工具链转换的配置文件
(convert_yolov5s.yaml),
c. 执行模型转换命令对模型进行转换
hb_mapper makertbin --config convert_yolov5s.yaml --model-type onnx
得到转换后的模型yolov5s.bin
  1. 模型部署: 在模型部署阶段,通过TROS环境搭建:

a. 通过apt安装TROS快速体验
https://developer.horizon.ai/api/v1/fileData/TogetherROS/quick_start/install_tros.html
b. 如需进行二次开发,编译安装方法
https://developer.horizon.ai/api/v1/fileData/TogetherROS/quick_start/cross_compile.html
以及设置配置文件(yolov5workconfig.json)

我们将转换后的模型部署到了地平线芯片上。

  1. 模型推理:最后,将部署好的模型在旭日X3派上运行,得到yolov5模型在地平线旭日X3派上的实际检测效果

“我们要做的就是把深度神经网络放置在芯片中,也就是机器人的大脑芯片,实现从万物互联到万物智能。设备的联网不能等同于智能,这只是智能的开始。真正的智能是说每一辆车、每一个电器都具有环境感知、人机交互和决策控制的能力。” 这是余凯博士2015年说过的话,结合他们实际研发的芯片的理念,至今再读,依然回味无穷。

算法工具链
征程5征程3杂谈
评论0
0/1000