0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么要为开源重新构建FINN?

FPGA之家 来源:FPGA之家 作者:FPGA之家 2021-04-08 10:34 次阅读

一个用于构建可扩展和FPGA上的快速BNN推理加速器 专门针对量化神经网络 每秒处理数亿次机器学习推断

您听说过 FINN 吗?没有?这个答案并不令人惊讶,因为这是一个用于探索基于 FPGA 的深层神经网络推断的实验框架的全新再实现,而且它现在仍是赛灵思研究实验室 (Xilinx Research Lab) 的测试版。然而, 虽然还是测试版,它已经发布了 v0.4b(测试版),并且自从在 GitHub 上开源以来,受到了广泛关注。

2020 年 5 月,赛灵思研究实验室的论文《FINN-R:快速探索量化神经网络的端到端深度学习框架》获得了计算机协会 (ACM) 可重构技术和系统汇刊 (TRETS) 2020 年年度最佳论文奖 —— 该奖项每年只授予全年论文中的一篇。该论文的第一作者、杰出工程师 Michaela Blott 女士和她的团队在今年夏天的第 57 届设计自动化大会线上颁奖典礼上接受了这一荣誉。该论文的评选引起了人们对 FINN 的更广泛关注:FINN 是什么,为什么选择 FINN,如何实现 FINN?带着这些问题,我们采访了 Michaela Blott 女士。

FINN 是什么?

FINN(神经网络快速推断)是我们的一个旗舰开源项目的名称,是赛灵思研究实验室的一个实验框架,用于探索基于 FPGA 的深层神经网络推断。它专门针对量化神经网络,着重于为每个网络生成定制的数据流式架构。这种形式的高度专业化有助于加速需要更高吞吐量和超低时延的应用。 然而,要实现定制相当困难,而且通常只有专家才可以进行定制。对此,FINN 提供了一个端到端流程,即使是机器学习工程师也可以创建这些高度定制的硬件解决方案,以前馈数据流架构的形式为具有任意精度/任意层的空间展开式卷积神经网络加速器提供支持。它实际上是一种工具流,能够帮助没有硬件专业知识的人员生成高度定制的 FPGA 设计,并从我们的器件所提供的性能和效率中获益。 最初的版本侧重于二进制网络。自此,我们扩展到可支持任意精度 (FINN-R) 并提供更高灵活性的终端架构和目标平台,其中包括给定器件的硬件成本估算。我们在包括 PYNQ 和 Alveo 在内的一系列平台上对各种不同精度的神经网络生成的架构进行了评估,从小型 CIFAR-10 分类器、基于 PASCAL VOC 数据集的 YOLO 对象检测到 ImageNet 分类网络和 LSTM。我们目前正在添加更多极端用例,比如网络入侵检测,在这种情况下,FINN 每秒可以处理数亿次机器学习推断。 如需了解有关 FINN 的更多基本信息,请访问项目页面,查看出版物或一些演示。

FINN 有哪些特性?

●模板化的 Vivado HLS 流组件库:FINN 带有 HLS 硬件库,该硬件库可将卷积,全连接,池化和 LSTM 层分类实现为流组件。该库使用 C++ 格式来支持各种精度。

●超低时延和高性能的数据流:通过为每一层组成流组件,FINN 可以生成加速器,这些加速器可以以亚微秒级的时延对图像进行分类。

●多种端到端的设计示例:我们提供的示例从训练量化神经网络开始,一直到硬件上运行的加速设计。这些示例涵盖了一系列数据集和网络拓扑。

●用于快速生成设计的工具流程:FINN 工具流程支持自动或手动为每层分配单独的计算资源,并生成用于综合的完整设计。这样可以快速探索设计空间。

为什么要为开源重新构建 FINN?

在过去的几年里,爱尔兰赛灵思研究实验室的团队对量化神经网络 (QNN) 进行了大量研究。从 2016 年基于 FPGA 的二进制神经网络 (BNN) 开始,我们已经对量化深度学习的众多方面进行了研究,涵盖从更好的量化方法、混合量化和修剪到精确吞吐量权衡和递归拓扑等众多领域。虽然我们工作的某些演示已经实现开源有一段时间了,但我们希望能更进一步。我们喜欢 QNN,同时也很青睐在赛灵思 FPGA 上为其构建的高性能、高效率的数据流加速器,我们希望您和 FPGA/ML 社区也能这样做。实现这一目标的(协同)设计流程实际上相当复杂,从在机器学习框架中定制神经网络开始,经过涉及众多优化、HLS 代码生成和 Vivado 综合的多个设计步骤,最后得到 FPGA 比特流,可以作为某个应用的组成部分进行部署。其中大量步骤都需要一些手动操作,但是如果能有一个模块化的、灵活的解决方案堆栈来支持您完成这个流程将非常有帮助。这就是为什么我们要从头开始重建我们的 FINN 解决方案堆栈,使其更加模块化。

我们选择 FINN 开源路线的主要原因是为了提供更高程度的灵活性和透明度。机器学习研究进展迅速,因此 FINN 是研究人员可以用来实现最新层类型的工具。

用户如何进一步了解 FINN?

访问 https://xilinx.github.io/finn,我们有一个 gitter channel,您可以在那里提问。您可以使用 GitHub 问题跟踪器报告错误,但请不要以提交问题的形式来提出问题,因为这在 gitter 频道中可以得到更好的处理。此外,我们也衷心欢迎您针对本项目做出贡献,请查看贡献指南和公开问题列表。如果您有任何想法,请随时联系 Gitter 进行讨论。 我们渴望扩大我们的社区,并希望听到您的消息。

为什么开源和神经网络

非常适合赛灵思?

赛灵思提供了可以对其器件进行编程的工具。有了开源,我们就可以充分利用并为世界一流的成果做出贡献。FINN 的量化感知训练库 Brevitas (https://github.com/Xilinx/brevitas)建立在 Pytorch 上,Pytorch 是基于 Torch 库的常用开源机器学习库,用于计算机视觉和自然语言处理。 我们为这个现有的开源框架提供了大量的库,这些库使得对网络的训练可以一直精确到 1 位。这充分利用了 Pytorch 已有的所有优异技术,并使用户群体从量化中获益。此外,将这些网络映射到我们的 FPGA 上的实现工具是开源的,它利用了现有的赛灵思技术,其中包括高层次综合以及基于 FPGA 的布局布线。参见下图。

关于赛灵思实验室

赛灵思研究实验室通过其对公司战略和愿景的贡献占据了技术领先地位。该组织为未来的产品创造新的技术机遇,致力于应对最新涌现的工程挑战,并消除对实现公司业务目标至关重要的技术风险。我们积极地与各个高校、初创企业和采用早期技术的客户建立联系,发现新挑战并获得他们对新想法的反馈。

关于 Michaela Blott 简介

Michaela Blott 是爱尔兰都柏林赛灵思研究中心的杰出工程师,她领导着一个由国际科学家组成的团队,该团队致力于推进激动人心的研究,为赛灵思器件探索全新的应用领域,例如应用于嵌入式和超大规模部署的机器学习。她在德国凯泽斯劳滕大学获得硕士学位,在研究机构(如苏黎世联邦理工学院和贝尔实验室)和开发机构拥有超过 25 年的先进计算机架构以及先进 FPGA 和电路板设计经验。她积极投身于国际研究界,担任 FPL 2018 年的技术联合主席、研讨会组织者 (H2RC、ITEM)、众多欧盟项目的行业顾问、众多技术计划委员会(FPL、ISFPGA、DATE 等)的成员,2015 年获得 WMB 奖,入围 2019 年 VentureBeat Women 人工智能奖,并获得 2019 年女性科技奖。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4765

    浏览量

    100597
  • Xilinx
    +关注

    关注

    71

    文章

    2164

    浏览量

    121069
  • 机器学习
    +关注

    关注

    66

    文章

    8382

    浏览量

    132461

原文标题:Xilinx实验室为何为开源而重构 FINN?

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Arm加入OpenCloudOS操作系统开源社区

    从 5G 基础设施和软件定义汽车,到移动端和嵌入式设备,Arm 的开源工作覆盖全球技术生态系统的方方面面。持续的开源合作与技术创新赋能全球超过 2,000 万开发者在 Arm 平台上构建和测试
    的头像 发表于 11-15 11:34 294次阅读

    deepin社区亮相2024 OSCAR开源产业大会

    近日,由中国通信标准化协会主办,中国信息通信研究院承办的的“2024 OSCAR开源产业大会”在北京隆重开幕。本次大会旨在搭建专业平台,广纳产研智慧,扎实开源体系构建,繁荣开源生态建设
    的头像 发表于 10-18 13:44 330次阅读

    RT-Thread Studio构建重新构建的不同,一般我们编译工程时用哪个?

    想请教在RT-Thread Studio中,构建重新构建的不同,一般我们编译工程时用哪个,谢谢!
    发表于 07-25 07:38

    PyTorch神经网络模型构建过程

    PyTorch,作为一个广泛使用的开源深度学习库,提供了丰富的工具和模块,帮助开发者构建、训练和部署神经网络模型。在神经网络模型中,输出层是尤为关键的部分,它负责将模型的预测结果以合适的形式输出。以下将详细解析PyTorch中神经网络输出层的特性及整个模型的
    的头像 发表于 07-10 14:57 466次阅读

    开启开源布道新篇章 — LF开源软件学园诚邀开源精英加入成为OSPO讲师

    OSPO——企业开源战略的引擎在当今数字化时代,开源软件已成为推动全球技术创新的加速器。它不仅重塑了软件开发的模式,更成为企业构建竞争优势的关键。然而,随着开源文化的深入人心,企业面临
    的头像 发表于 07-04 08:36 284次阅读
    开启<b class='flag-5'>开源</b>布道新篇章 — LF<b class='flag-5'>开源</b>软件学园诚邀<b class='flag-5'>开源</b>精英加入成为OSPO讲师

    求助,通过VScode构建的集成开发环境如何更新环境下的ESP-IDF版本?

    进行更新, 但是发现更新完之后再进行构建编译项目的时候就会报错.重新通过VScode 插件进行拉取安装esp-idf之后 又能正常.
    发表于 06-17 06:38

    Redis开源版与Redis企业版,怎么选用?

    点击“蓝字”关注我们数以千计的企业和数以百万计的开发人员Redis开源版来构建应用程序。但随着用户数量、数据量和地区性的增加,成本、可扩展性、运营和可用性等问题也随之而来。Redis企业版
    的头像 发表于 04-04 08:04 988次阅读
    Redis<b class='flag-5'>开源</b>版与Redis企业版,怎么选用?

    爱星物联开源IoT平台助力企业构建安全可定制化的IoT解决方案

    爱星物联团队近期推出了爱星物联IoT平台开源版本,该平台专为智能设备和智能化企业量身打造,旨在提供成熟、安全且全球可用的物联网服务。借助这一平台,客户可以大幅缩短研发周期,降低成本投入,迅速开发IoT产品,并构建出既安全稳定又高度可定制化的IoT解决方案。
    的头像 发表于 03-25 10:05 420次阅读

    鸿蒙开发【编译构建】讲解

    工具作为业界流行的自动化构建开源工具,本章节不再赘述,接下来为大家介绍Hvigor构建体系。 Hvigor构建工具:一款全新基于TS实现的前端构建
    发表于 02-27 17:41

    请问1PH8186主电机是否需要为冷却风扇供电?

    1PH8186主电机是否需要为冷却风扇供电
    发表于 01-09 07:19

    开源发展与开发者专题 | 华为首席开源联络官任旭东:秉承开源精神,释放开源商业与社会价值

    、共赢的合作观,积极融入全球产业链供应链,基本构建了规模大、体系全、竞争力较强的产业体系,为开源发展提供了土壤、积蓄了能量、创造了条件。 为了更好地宣传中国开发者在开源技术领域的贡献和创新,帮助更多人更充分
    的头像 发表于 12-30 15:55 637次阅读
    <b class='flag-5'>开源</b>发展与开发者专题 | 华为首席<b class='flag-5'>开源</b>联络官任旭东:秉承<b class='flag-5'>开源</b>精神,释放<b class='flag-5'>开源</b>商业与社会价值

    开源发展与开发者专题 | 润和软件副总裁刘洋:拥抱开源时代,润和软件开源实践

    、共赢的合作观,积极融入全球产业链供应链,基本构建了规模大、体系全、竞争力较强的产业体系,为开源发展提供了土壤、积蓄了能量、创造了条件。 为了更好地宣传中国开发者在开源技术领域的贡献和创新,帮助更多人更充分
    的头像 发表于 12-28 15:55 478次阅读
    <b class='flag-5'>开源</b>发展与开发者专题 | 润和软件副总裁刘洋:拥抱<b class='flag-5'>开源</b>时代,润和软件<b class='flag-5'>开源</b>实践

    边缘计算平台开源框架有哪些类型

    边缘计算平台开源框架是指基于边缘计算概念开发的开源软件框架,用于构建和管理边缘计算平台。这些框架提供了一套工具和技术,用于将计算和存储资源推向网络边缘,以便更快、更可靠地处理数据和执行计算任务。下面
    的头像 发表于 12-27 15:17 1244次阅读

    开源发展与开发者专题 | 平凯星辰联合创始人崔秋——自主开源,场景驱动:TiDB 构建多元化的数据技术生态

    、共赢的合作观,积极融入全球产业链供应链,基本构建了规模大、体系全、竞争力较强的产业体系,为开源发展提供了土壤、积蓄了能量、创造了条件。 为了更好地宣传中国开发者在开源技术领域的贡献和创新,帮助更多人更充分
    的头像 发表于 12-24 15:15 673次阅读
    <b class='flag-5'>开源</b>发展与开发者专题 | 平凯星辰联合创始人崔秋——自主<b class='flag-5'>开源</b>,场景驱动:TiDB <b class='flag-5'>构建</b>多元化的数据技术生态

    以太网基础:为什么要为节点分配VLAN呢?

    以太网的开发中,有时需要为节点分配VLAN(Virtual Local Area Network,虚拟局域网)。
    的头像 发表于 12-12 09:39 755次阅读
    以太网基础:为什么<b class='flag-5'>要为</b>节点分配VLAN呢?