当前位置: 首页 > news >正文

【架构】面向人工智能 (AI) 的硬件的可靠性(2021)

由于激进的技术扩展,现代系统越来越容易受到可靠性威胁的影响,例如软错误、老化和工艺变化。这些威胁在硬件级别表现为位翻转,并且根据位置,可能会损坏输出,从而导致不准确或潜在的灾难性结果。

传统的缓解技术基于冗余,例如双模块化冗余 (DMR) [16] 和三重模块化冗余 (TMR) [17]。然而,由于 DNN 的计算密集型性质,这些技术会导致巨大的开销,对系统的效率产生负面影响。

纠错码 (ECC) 和指令重复 (ID) [18] 也存在类似的问题。因此,需要替代缓解技术,以低成本提高基于 DNN 的系统的弹性,同时不影响效率。这些技术通常是通过利用 DNN 的固有特征并仅在系统中的关键位置部署保护或将关键错误转换为非关键错误来开发的。

A. 硬件引起的可靠性威胁

在这里插入图片描述
上图突出显示了硬件引起的可靠性威胁的主要类型,以及它们如何影响基于 DNN 的系统的功能。

  • 软误差是由于高能粒子撞击硬件而引起的瞬态故障,这些故障在系统中表现为位翻转,并可能传播到应用层并影响系统的功能/精度。
  • CMOS器件的老化与各种物理现象有关,例如偏置温度不稳定(BTI)、热载流子注入(HCI)和电迁移(EM)老化会导致时序错误,从长远来看也可能导致永久性故障。
  • 工艺变化是由于制造过程中的缺陷而导致的硬件特性(例如晶体管通道长度和导线电阻)与所需特性的变化。这些变化通常会影响硬件的性能和效率,因为它们需要增加电源电压或降低工作频率以确保正确的功能。极端变化会导致永久性故障,从而影响制造过程的产量。

B. 具有成本效益的故障缓解技术

已经提出了各种技术来解决基于 DNN 的系统中硬件引起的可靠性威胁。

1) 软错误缓解:

软错误是暂时性故障,在硬件级别表现为随机位翻转。这些故障有可能严重降低系统的性能,特别是当它们发生在关键位置时。在硬件层面,已经提出了改进的SRAM单元设计。辐射强化是另一种防止软错误的技术,它用更强大的节点替换易受攻击的硬件节点,提供更高的弹性[22]。但是,这些技术需要对硬件的大多数部分进行修改(附加硬件),这会导致高开销。

为了克服这个问题,最近提出了范围限制技术[23][24],该技术定义了激活值的工作范围,并将所有异常值视为故障,并根据一些预定义的策略将它们映射到该范围内。

2) 永久故障缓解:

在 DNN 的背景下,永久性故障缓解的主要目标是提高专用 DNN 加速器的制造良率。由于永久性故障是静态故障,因此对付它们最有效的技术之一是故障感知修剪(FAP)[25]。FAP 利用 DNN 的修剪弹性,通过丢弃映射到故障处理元素 (PE) 的相应计算来缓解永久性故障。它需要进行制造后测试来识别有故障的 PE,并在运行时使用此信息来识别需要绕过哪些 PE。
(a) 设计用于加速 DNN 推理的脉动阵列。(b) 改进的PE设计,以减轻永久性故障[25]。(c)改进了PE设计,以减轻时序误差[27]。

3) 老化缓解:

CMOS电路中的老化会导致时序误差。为了检测和减轻DNN硬件加速器计算阵列中时序误差的影响,Zhang等人提出了ThunderVolt[27],这是一种利用剃刀触发器以及DNN的修剪弹性来减轻时序错误的技术。在检测到时序错误时,ThunderVolt 会通过丢弃其计算来传递正确的结果,从而从后续的 MAC 操作中窃取一个周期。计算的删除避免了整个数组的停滞,而 DNN 对修剪的弹性有助于保持基线准确性。

为了缓解DNN加速器片上SRAM单元的老化,最近,Hanif等人提出了DNN-Life[28]。该技术采用读写传感器来平衡SRAM每个单元的占空比,从而最大限度地减少NBTI老化,这是现代纳米级器件中最突出的老化类型。

C. 开发高度可靠的 DNN 的挑战

缓解技术的集成:对于每种类型的可靠性威胁,已经提出了各种缓解技术,其中一些是针对特定模块设计的,例如片上存储器或计算结构。每种缓解技术通常也会影响系统对其他可靠性威胁的弹性。因此,在构建一个强大而高效的基于 DNN 的系统时,重要的是要研究不同缓解技术的相互作用,并选择一组合适的技术,在定义的约束和条件下提供最佳弹性。

对鲁棒算法的需求:深度学习的核心问题之一是对抗性示例,即注入小扰动会导致显著的精度损失。尽管对抗性示例仅在安全上下文中被认为是重要的,但它们还提供了有关 DNN 对故障/错误的一般弹性的信息。强大的 DNN 可提供对对抗性噪声的高弹性,这将说明对可靠性威胁的更高弹性。研究人员提出了各种方法来提高 DNN 对对抗噪声的鲁棒性;然而,这些方法要么提供微小的收益,要么仅在特定条件下显示出改进。因此,迫切需要算法/方法,以产生设计稳健的模型。

新兴技术对新型测试技术的需求:内存处理 (PIM) 因其实现高能效的潜力而备受关注。它们通常基于新兴存储器,如ReRAM和自旋电子器件。此类器件具有独特的故障机制,无法用传统故障模型建模,也无法用传统测试方法进行测试[29;此外,PIM中的内存具有两种配置(存储和计算),这一事实对其测试提出了额外的要求[1;29]。

参考文献

https://ieeexplore.ieee.org/document/9465409

相关文章:

【架构】面向人工智能 (AI) 的硬件的可靠性(2021)

由于激进的技术扩展,现代系统越来越容易受到可靠性威胁的影响,例如软错误、老化和工艺变化。这些威胁在硬件级别表现为位翻转,并且根据位置,可能会损坏输出,从而导致不准确或潜在的灾难性结果。 传统的缓解技术基于冗…...

Unity3D MVC开发模式与开发流程详解

前言 MVC(Model-View-Controller)是一种常用的软件架构模式。将MVC应用于Unity3D开发可以提高项目的可维护性和可扩展性,使代码更加清晰和易于理解。本文将详细介绍Unity3D中MVC开发模式的应用以及开发流程,并给出技术详解和代码…...

简单介绍一下Android里面的IntentFirewall

源码链接 https://android.googlesource.com/platform/frameworks/base//633dc9b/services/java/com/android/server/firewall/IntentFirewall.java 源码如下: package com.android.server.firewall; import android.content.Intent; import android.content.Inte…...

Stable Diffusion 3 发布及其重大改进

1. 引言 就在 OpenAI 发布可以生成令人瞠目的视频的 Sora 和谷歌披露支持多达 150 万个Token上下文的 Gemini 1.5 的几天后,Stability AI 最近展示了 Stable Diffusion 3 的预览版。 闲话少说,我们快来看看吧! 2. 什么是Stable Diffusion…...

【后端】springboot项目

文章目录 1. 2.3.7.RELEASE版本搭建1.1 pom文件1.1.1 方式一1.1.2 方式二 1.2 启动类1.3 测试类 2. 引入Value乱码问题解决 【后端目录贴】 1. 2.3.7.RELEASE版本搭建 1.1 pom文件 1.1.1 方式一 <parent><groupId>org.springframework.boot</groupId><…...

React Native调用摄像头画面及拍照和保存图片到相册全流程

今天主要做了一个demo,功能很简单,就是调用手机摄像头画面,并且可以通过按钮控制拍照以及将图片保存到手机相册的功能,接下来我将从创建项目开始一步一步完成这个demo,各位只需要复制粘贴即可 创建React Native项目 npx react-native init yx_rnDemo --version 0.70.6 // 这里…...

Kubernetes基本部署概念

文章目录 命名空间&#xff08;Namespaecs&#xff09;查看命名空间查看带有命名空间对象下资源 文件存储持久卷&#xff08;pv&#xff0c;Persistent Volumes&#xff09;卷容量卷模式&#xff08;volumeMode&#xff09;访问模式&#xff08;accessModes&#xff09;回收策略…...

QT c++ 海康红外热像仪

//本文描述2通道海康通道红外热像仪预览和抓图 #include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); userID-1; …...

OpenAI 的 GPTs 提示词泄露攻击与防护实战:防御卷(一)

前面的OpenAI DevDay活动上&#xff0c;GPTs技术的亮相引起了广泛关注。随着GPTs的创建权限开放给Plus用户&#xff0c;社区里迅速涌现了各种有趣的GPT应用&#xff0c;这些都是利用了Prompt提示词的灵活性。这不仅展示了技术的创新潜力&#xff0c;也让人们开始思考如何获取他…...

中科大计网学习记录笔记(十五):可靠数据传输的原理

前前言&#xff1a;看过本节的朋友应该都知道本节长度长的吓人&#xff0c;但其实内容含量和之前的差不多&#xff0c;老师在本节课举的例子和解释比较多&#xff0c;所以大家坚持看完是一定可以理解透彻的。本节课大部分是在提出问题和解决问题&#xff0c;先明确出现的问题是…...

五种多目标优化算法(MOGWO、MOJS、NSWOA、MOPSO、MOAHA)性能对比(提供MATLAB代码)

一、5种多目标优化算法简介 1.1MOGWO 1.2MOJS 1.3NSWOA 1.4MOPSO 1.5MOAHA 二、5种多目标优化算法性能对比 为了测试5种算法的性能将其求解9个多目标测试函数&#xff08;zdt1、zdt2 、zdt3、 zdt4、 zdt6 、Schaffer、 Kursawe 、Viennet2、 Viennet3&#xff09;&#xff0…...

力扣:93. 复原 IP 地址

回溯&#xff1a; 1.先定义一个接收的集合&#xff0c;之后再定义一个记录小数点的变量。之后编写回溯函数&#xff0c;终止条件为小数点的个数为3时&#xff0c;同时要判断最后一段的组合的值是否属于ip地址的范围。之后再用for循环来遍历ip地址的组合&#xff0c;先判断组合…...

利用序列化和反序列化实现深拷贝

利用序列化和反序列化可以实现对象的深拷贝,具体步骤如下: 将要深拷贝的对象序列化为字节流。从字节流中反序列化出一个新的对象,即完成了深拷贝。下面是一个示例代码: import java.io.*;class MyClass implements Serializable {private static final long serialVersion…...

【AHK】68键键盘键位布局优化/esc改退格键/回车键

本人习惯使用~作为退格键&#xff0c;但是由于keychron 68键的布局只能用esc平替~来修改&#xff0c;然后也将回车键通过alt和大小写锁定键一起触发 esc::bs ;次步骤与下面步骤相对应&#xff0c;如果是用send bs方式则下面的不生效^esc:: ;通过建立 保留esc功能 send {esc} re…...

计算机体系架构初步入门

&#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;高性能&#xff08;HPC&#xff09;开发基础教程 &#x1f380;CSDN主页 发狂的小花 &#x1f304;人生秘诀&#xff1a;学习的本质就是极致重复! 目录 1 计算机五大…...

常见的序列化数据结构方法及其优缺点汇总

文章目录 1. JSON (JavaScript Object Notation)2. XML (eXtensible Markup Language)3. YAML (YAML Aint Markup Language)4. Protobuf (Protocol Buffers)5. MessagePack6. BSON (Binary JSON)7. Avro8. Thrift9. CBOR (Concise Binary Object Representation) 将常见的序列化…...

华清远见嵌入式学习——驱动开发——作业1

作业要求&#xff1a; 通过字符设备驱动分步注册过程实现LED驱动的编写&#xff0c;编写应用程序测试&#xff0c;发布到CSDN 作业答案&#xff1a; 运行效果&#xff1a; 驱动代码&#xff1a; #include <linux/init.h> #include <linux/module.h> #include &l…...

小苯的IDE括号问题(CD) -----牛客小白月赛87(双链表)

C题&#xff1a;C-小苯的IDE括号问题&#xff08;easy&#xff09;_牛客小白月赛87 (nowcoder.com) D题&#xff1a; D-小苯的IDE括号问题&#xff08;hard&#xff09;_牛客小白月赛87 (nowcoder.com) C题代码&#xff1a; #include<bits/stdc.h>using namespace std…...

Redis如何修改key名称

点击上方蓝字关注我 近期出现过多次修改Redis中key名字的场景&#xff0c;本次简介一下如何修改Redis中key名称的方法。 1. 命令行方式修改在Redis中&#xff0c;可以使用rename命令来修改Key的名称。这个命令的基本语法如下&#xff1a; RENAME old_key new_key 在这里&#…...

浅谈redis之SDS

SDS 什么是SDSSDS结构len的作用free的作用buf的作用简单示例 SDS机制重新分配内存分配内存机制小于1MB情况大于1MB情况为什么这样分配 惰性释放内存 什么是SDS SDS&#xff1a;全名 simple dynamic string&#xff0c;意为简单动态字符串&#xff0c;作为redis里的一种数据结构…...

texgen.js扩展开发终极指南:如何自定义纹理生成器和滤镜

texgen.js扩展开发终极指南&#xff1a;如何自定义纹理生成器和滤镜 【免费下载链接】texgen.js JavaScript Texture Generator 项目地址: https://gitcode.com/gh_mirrors/te/texgen.js texgen.js 是一个功能强大的JavaScript纹理生成器库&#xff0c;它让开发者能够通…...

ColorBrewer终极指南:快速掌握专业地图配色方案

ColorBrewer终极指南&#xff1a;快速掌握专业地图配色方案 【免费下载链接】colorbrewer 项目地址: https://gitcode.com/gh_mirrors/co/colorbrewer ColorBrewer是一个基于Cynthia Brewer博士研究成果的专业颜色方案工具&#xff0c;专门为地图制图和数据可视化提供科…...

题解:学而思编程 3或5的倍数

本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来&#xff0c;并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构&#xff0c;旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。 欢迎大…...

Verilog行为级建模:从initial/always到阻塞非阻塞赋值的核心语法解析

1. 项目概述&#xff1a;从“连线”到“行为”的思维跃迁刚接触数字电路设计的朋友&#xff0c;可能都是从画原理图、连逻辑门开始的。但当你面对一个需要处理复杂时序、包含状态机或者有算法逻辑的模块时&#xff0c;光靠门级网表来描述&#xff0c;那工程量简直让人头皮发麻。…...

Claude思维拟真度已达人类青少年水平?斯坦福HAI联合实测数据+5项认知心理学验证指标

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Claude思维拟真度已达人类青少年水平&#xff1f;斯坦福HAI联合实测数据5项认知心理学验证指标 实验设计与评估框架 斯坦福大学以人为本人工智能研究院&#xff08;HAI&#xff09;联合加州大学伯克利…...

Mybatis-Plus条件构造器实战:QueryWrapper与UpdateWrapper的进阶应用与避坑指南

1. 为什么需要条件构造器&#xff1f; 在日常开发中&#xff0c;数据库操作是绕不开的话题。记得我刚入行时&#xff0c;每次写SQL都要手动拼接字符串&#xff0c;不仅容易出错&#xff0c;还经常被SQL注入漏洞困扰。后来接触到MyBatis&#xff0c;虽然解决了安全问题&#xf…...

利用Taotoken用量看板精细化管理团队API消耗

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 利用Taotoken用量看板精细化管理团队API消耗 对于依赖大模型API进行开发的团队而言&#xff0c;清晰、透明地掌握资源消耗情况是成…...

Crypto AI Agent:基于LangChain与Web3的加密交易智能体实战

1. 项目概述&#xff1a;当AI智能体闯入加密世界最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“Crypto-AI-Agent”。光看名字&#xff0c;你大概就能猜到它想干什么——让AI来玩转加密货币。这可不是简单的价格查询机器人&#xff0c;从项目描述和代码结构来看&#xf…...

设计程序统计共享单车使用分布数据,优化投放点位,解决市民短途出行找不到车辆出行难题。

构建一个共享单车使用分布统计与投放点位优化的商务智能示例项目&#xff0c;去营销化、中立化&#xff0c;仅用于学习与工程实践参考。一、实际应用场景描述在城市短途出行场景中&#xff0c;共享单车已成为重要补充&#xff1a;- 覆盖公交、地铁“最后一公里”- 解决 1–3 公…...

K210实战:从环境适配到动态阈值,打造鲁棒的矩形识别系统

1. K210矩形识别系统概述 第一次接触K210的矩形识别功能时&#xff0c;我被它小巧的体积和强大的视觉处理能力惊艳到了。这款国产AI芯片虽然只有指甲盖大小&#xff0c;却能实时处理图像识别任务&#xff0c;特别适合嵌入式视觉应用。在实际电赛项目中&#xff0c;我们经常需要…...