历史进程中的英伟达

芯世相 2023-09-23 09:03


1993年4月5日,黄仁勋这天刚好满30岁,和普里姆以及马拉乔夫斯基三人,在加州圣何塞一家连锁餐厅里讨论着创业成立公司的事。


这家丹尼餐厅位于一座立交桥旁边,环境吵闹同时装修简陋,店铺的前脸布满了弹孔,因为路过的社会人经常朝停在门前的警车开枪。三个创始人此时正拿鸡蛋卷裹香肠片,就着劣质焦咖啡,英伟达就在这样的环境下诞生了。


黄仁勋出生在台南囝仔,今天从这个地方往东北方向不到20公里,就是台积电的第十八晶圆厂。


这个生产基地2017年底开工建设,预计到今年的总投资额将超过1000亿美元,是台积电最昂贵的晶圆厂,其最先进的5纳米和3纳米制程在这落地。无论是英伟达的RTX4000系列游戏显卡,还是当下一卡难求的H100,都在这里完成从硅到芯片的关键转化。两家公司相互成就,如今共同掌握着尖顶星科技,市值合计1.5万亿美元。


从成立之日算起,黄仁勋在英伟达CEO位置上干了整整三十年。论敬业程度,硅谷同行里大概少有人能出其右。


在硅谷叙事模式里,这里成功的科技公司通常在年轻创始人带领下迅速成长为世界巨头,或者已经成为世界巨头的公司因为跟不上形势而快速没落,又或者没落后又再次凭借某个拳头产品重新变得伟大。总之来来回回,兴也勃焉亡也忽焉,核心就是一个快字。


以这样的视角打量,英伟达显然不太一样。除了在最初创业时差点“暴毙”,英伟达在长达二十年的时间里活得相当宁静,谈不上惊艳但也没遭遇大灾大难。


直到最近几年,英伟达突然开挂爆种,从人工智能到加密货币,从元宇宙到ChatGPT,不是英伟达在追风口,而更像是风口失了智般往英伟达身上撞。


作为总设计师,黄仁勋本人显然不会认可这种说法。在他那里,英伟达的故事应该是关于技术理解、商业远见和长期主义的绝佳范例。
顶多再加一点小小的运气。




01

东亚的风眯了黄仁勋的眼




黄仁勋和另外两个合伙人最终决定创业时,有着相当朴素但又同时触及本质的思考。无论电影、电视或者印刷的书籍报纸,抑或是音乐,这些都是人类用来表达想法讲述故事的媒介。




而当时正显露雏形的3D图像技术,凭借实时生成的画面和互动性,将有可能成为下一种新的大众媒介。


唯一的问题是此时的3D图像任务,由于需要耗费极高的计算量,只有使用极其庞大的专业工作站才能完成。而黄仁勋和英伟达想要做的,就是把这项技术变得足够便宜,然后普及它。


事实上,1993年英伟达成立的时候,它是第一家尝试把3D图像推向普通消费者的公司。不过首先做到这件事的公司并不是英伟达,索尼在一年零八个月后推出的初代PS游戏主机要成功得多,在推出九年后,这款主机出货量突破了1亿台。


另一方面,英伟达前期的先发优势很快就不复存在,短短两年时间里极客遍地的硅谷就冒出了90家英伟达的竞争者。而在这两年时间里,市场形势已经发生了翻天覆地的变化,问题出在DRAM这个元器件上面。


从技术原理上说,图像在计算机内部的存储需要消耗相当大的空间资源。在未经压缩的情况下,如今一张1080P的图片含有超过两百万像素点
(1920 × 1080),按照8比特的色深,每个像素点需要4个字节的存储空间,所有像素点合计超过8M字节。而要产生动态连续的观感,屏幕上显示的图像还需要保持每秒多次刷新。


尽管在30年前屏幕的显示规格,无论是说分辨率还是色彩还没有这么高,但存储空间仍然是在算力之外3D图像技术的关键瓶颈。在英伟达成立的1993年,DRAM内存的价格在50美元/MB这个水平,主流VGA显示器的分辨率则是640*480。


即便使用当时最先进的解决方案,3D图像显示所需要的DRAM也得4MB,所以单单是这块DRAM的成本就需要200美元。


加上板上的控制芯片和其他组件,再算上一定的利润空间,最终这些产品的定价得要1000美元往上。虽然今天游戏玩家花大几千或者上万的价格买张显卡还处在可以理解的范畴,但这是因为围绕这张显卡已经建立起了丰富的生态。而在30年前是没有这么多所谓的3A大作的,消费级市场不会有人愿意花这么多钱买个电子元件回来当摆设。


所以黄仁勋他们围绕DRAM搞了技术创新,使得英伟达产品需要的内存空间大大降低,从红杉那里融到的1千万美元很大部分也都花在了这个“遥遥领先”的解决方案上。黄仁勋本来以为这会给他们的产品带来差异化的竞争力,但到创业的第二年,DRAM的价格就从单价50美元跌到了5美元。


这意味着英伟达前期瞄着内存优化做的巨大投入完全打了水漂。


后来的几乎所有文章都把英伟达NV1这款产品的失败,归结到跟OpenGL路线的三角渲染模式不兼容上面,但实际上不兼容并不是NV1失败的真正原因。给NV1造成致命打击的,是内存价格暴跌把NV1从先进变成了不先进,而一款不先进的产品并没有机会参与行业标准的塑造,最终的不兼容其实是结果而非原因。


DRAM价格暴跌的原因是供过于求,新产能的主要贡献者是亚洲人。在九十年代,韩国和台湾的经济都出现了爆发性增长,两家的经济模式都是出口导向,支柱产业是电子和半导体。以韩国为例,在政府支持下,几家财阀借助从银行获得的贷款大量进行资本开支,生产规模迅速扩张。仅韩国内存行业产能在1991到1995的短短几年里就增长了8.3倍。


由于行业特性,内存晶圆厂需要保持很高的产能利用率才能摊平固定成本。内存厂商甚至会在明知供给远超需求的情况下继续生产,这进一步推低了产品价格。不过这些余波对黄仁勋而言已经不重要了,因为此刻的英伟达要抛掉过去另起新灶了。




02

英特尔不是对手,是黑洞




在NV1发布的两年后,英伟达迎来了第一款成功的产品:RIVA128。RIVA128这块产品标志着英伟达在技术路线上的重大转向,英伟达彻底放弃了之前与行业不兼容的解决方案,选择全面拥抱Direct3D和OpenGL的技术规范。




这个时候3Dfx公司生产的Voodoo显卡已经成为行业标杆,而刚推出的RIVA128由于驱动问题在图像质量上跟Voodoo有明显差距。


不过英伟达通过后续的固件更新,很快使RIVA128输出的图像画质赶上甚至超越Voodoo。在这种情况下,RIVA128两个设计优势就体现了出来。


一方面,大概是前期走自主路线累积的技术基础,英伟达在RIVA128上通过特殊的内存架构设计,使得其能够输出更高分辨率的图像。另一方面,跟Voodoo显卡不同,RIVA128同时集成了2D和3D图形芯片,这使得插RIVA128的电脑不需要一张单独的2D显卡来处理输出。


接下来的时间里,RIVA128及其改款产品帮助英伟达在显卡市场站稳了脚跟。1999年,英伟达发布了第一款GeForce系列产品:GeForce256。尽管在这之前其实已经有了类似的概念,但英伟达仍然把GeForce256称之为“世界上第一款GPU”,GPU这个新潮的词汇走向大众化也是从这开始的。


GeForce256的确算得上是一张划时代的GPU,它第一次把多边形转换与光源处理
(T&L)相关的几何计算从CPU肩上解放了出来。


这里我们不妨对芯片特点做个简单的科普。所有的芯片大致可以分成两个类型,通才和专才。通才类型的芯片就是CPU,它们是不折不扣的多面手,能够执行各种通用普遍的计算任务。而GPU则更接近专才,它们就像精通某项技艺的大国工匠,擅长于把聚焦范围内的任务做到极致。


而芯片行业历史上的一个大趋势,就是由于摩尔定律的存在,CPU能做的事情越来越多,性能也越来越强。这就导致很多计算任务开始是由专有设备完成的,但当这些任务变得普遍同时又趋于稳定的时候,把它们集成进CPU就是水到渠成的转折。


这个过程中,CPU厂商加强了产品竞争力,消费者因为集成获得了性价比,只有原来这些专有厂商被扫进了历史的垃圾堆:通才型芯片像个黑洞一样,把专才芯片吸纳进去。


比如,密码学作为现代网络通信的关键基础设施,初期就是靠单独的集成电路实现的,后来变成了CPU的几条指令。其他像音频卡、视频卡之类的产品,也都重复了类似的发展路径。


在这个背景下,再来看GeForce256将T&L计算任务从CPU那里拿过来的操作,就有了非同一般的象征意义。因为从行业发展方向来说,这是跟我们上面描述的“通才吸纳专才”这个过程完全相反的动作。


作为芯片行业一个刚刚起步的玩家,在看到那些同行前赴后继的悲惨命运过后,黄仁勋明白只有创造独特价值,企业才有长期存在的可能。


幸运的是,跟密码学或者普通的音视频解码相比,3D图像领域有着高得多的天花板。普通用户总是在期待画面质量更加精致,图像刷新速率更高,这带来了对GPU性能的追求。而反过来当GPU对现有需求进行回应后,又会再度激发新的需求,这构成了长期维持的正向循环激励。


直到现在,最旗舰GPU往往也只是刚好满足最苛刻3A游戏的性能需求。同时,像元宇宙这类新的应用前景,已经因为触及现有的算力瓶颈而难以到达。


所以现实的情况总是,即便核显达到了几年前独立GPU的性能,英伟达新的GPU又与之拉开了显著的差距。对英特尔而言,在很长一段时间里它其实算不上英伟达的对手,因为它并不想进入并主导GPU这个行业,而是在等待吞并并消灭这个行业,就像它曾经多次做到的那样。




03

漫长季节里长出的CUDA




到目前为止的30年里,除了创立初期那段时间,此后的英伟达几乎再也没有遇到过生死存亡的危急时刻。在把昔日巨头3Dfx收入囊中过后,GPU行业进入了英伟达/ATI寡头垄断时代。随后十几年里英伟达的市场份额稳步提升,但整体营收则在2008年达到40亿美元过后,缓慢振荡提升,最终在2016年才艰难到达50亿美元的里程碑。




与之对应的是,在2016年之前,英伟达的股价保持在10美元以下的区间随业绩表现浮动。这是一段漫长的季节,过程中黄仁勋带领同事做了辛勤的尝试,英伟达庞大帝国的地基在此期间悄然建立。


我们在上个部分曾经谈过,为了避免被集成,造GPU的英伟达需要跑得比造CPU的英特尔更快。这个目标是通过造更强大的芯片,同时向开发者群体提供更多能有效利用这些强大芯片的工具栈来实现的。


这个群体里比例最大的一部分是游戏开发者,所以英伟达发明了可编程着色器
(programmable shader)这样的技术,来使得游戏开发在画面呈现上有更多的灵活度和特色。


黄仁勋本人把可编程着色器视为英伟达史上最关键的创新之一,它扩张了行业边界,也正是这项技术使GPU能够消耗掉越来越多的晶体管和算力,也就避免了被CPU或者主板上的芯片组集成吞并。


但黄仁勋的技术远见在于,他不只是带着英伟达沿着计算图形这条路走到底,还很早就看到了GPU和CPU在计算范式上的本质区别,并以极大的耐心和勇气为此做了充分的准备。


人们在进入千禧年后不久,其实就已经发现摩尔定律在逐步失效,因而多核CPU渐成趋势。发展到今天,顶级的消费级CPU已经堆到16个物理核心,服务器CPU甚至有高达128个物理核心,因此面向CPU的多线程并行编程早已变得相当普遍。


但CPU的多核并行跟GPU出发点完全不同,多核CPU的出现更多是为应对单核性能难以继续保持大幅提升的退而求其次,而GPU从一开始方法论就是把大问题分解成尽可能多的小问题,然后再用尽可能多的“弱”计算核心去解决这些小问题。


举个例子,跟如今高端消费级CPU的16个核心相比,像4090这类高端的消费级GPU拥有超过16000个核心,千倍的量变显然意味着质变。


以可编程着色器为代表的技术,只是上述模式在图形计算领域的应用,将其进一步推而广之至通用计算领域将有更广阔的新世界,而英伟达打开这个新世界的钥匙就是CUDA。


用黄仁勋的话说,第一步是"make graphics programmable", 第二步则是"open up GPU for programmability for all kinds of things"。


在英伟达推出CUDA之前,GPU编程是件非常麻烦的事情,需要写很多底层代码。CUDA的易用性使得更广泛的人群成为开发者,释放出GPU这个计算平台的潜力。但在英伟达的每张显卡上都嵌入对CUDA的支持是种成本很高的做法,CUDA体系的研发和维护也都需要巨量的资源投入。


不过无论黄仁勋如何苦口婆心地阐述CUDA是项多么伟大的创新,华尔街的分析师们并不买账,所以英伟达的股票长期保持在个位数美元的位置徘徊。站在今天往回看,当然会有人骂这群分析师身在宝山不识宝。不过分析师也有话说啊,毕竟这些年里科技公司吹过但没实现的牛逼太多了。




04

失败的Tegra,成功的Orin




2013年9月5日,雷军在北京国家会议中心发布了第三代小米手机。黄仁勋当时作为特邀嘉宾,也来到了现场。当时小米还没有PC产品线,黄仁勋来北京是为了给旗下的手机SoC站台,小米3的移动版用的是英伟达Tegra4四核CPU。




尽管发布会上两人谈笑风生,但雷军并没有把宝全压在英伟达上面,小米3的联通和电信版都用的高通处理器。


这是英伟达进军移动计算领域的高光时刻,也是黄仁勋当时为英伟达寻找的下个星辰大海。在智能手机浪潮兴起后,黄仁勋认为移动计算领域的蓬勃需求将诱发一场革命,这最终甚至会反过来颠覆PC和服务器市场。


2011年初,黄仁勋接受科技媒体VentureBeat采访时说到,Tegra系列芯片将会使英伟达的有效市场扩大6倍。


不过在说完这句话后,黄仁勋还顺便跟了句诺基亚从塞班系统向Windows的转型会是英伟达的“绝好机会”。除诺基亚之外,Tegra芯片的另一个关键客户是摩托罗拉。旗下的安卓平板Motorola Xoom正是使用的Tegra2芯片。在苹果的iPad2代500美元起售的情况下,Xoom这款平板的定价达到了800美元。


事后来看,这些细节大概已然预示了英伟达Tegra产品线进入移动芯片市场将遭受的失败。


不过英伟达对Tegra的投入并非竹篮打水,颇有失之东隅收之桑榆的幸运感。在最终因为基带问题彻底退出手机市场后,Tegra系列产品转变了设计目标,从此前瞄准功耗和效率的表现调整到专注于性能。
典型的代表产品是Tegra X1,该款芯片被用在了任天堂的Switch游戏主机上面,被认为带来了优质的画面体验。


更进一步的,研发Tegra系列芯片的过程中,英伟达积累了丰富的SoC开发经验,这虽然最终没能撬开移动市场,但却帮助英伟达快速布局了智能汽车时代。在采用软硬件全栈自研之前,特斯拉汽车上就搭载的Tegra X2芯片。


同时,当前高端智能汽车上标配的Orin芯片也是属于Tegra这个系列。实际上,目前英伟达服务于驾驶辅助的“Nvidia Drive”和服务于嵌入式设备自动化的“Nvidia Jetson”都是基于Tegra系列芯片。


自动驾驶芯片是智能驾驶平台的关键要素,在英伟达之外,高通和英特尔也对此雄心勃勃。不过就目前的形势来说,英伟达仍然处于明显领先的位置。


英特尔这边,在以高额溢价支付153亿美元收购Mobileye过后,虽然一举跨进了汽车零部件供应商的第一阵营,但在高端产品性能上已被英伟达拉开差距。根据Mobileye向美国证监会SEC提交的文件,Mobileye的估值已从去年3月的500亿美元大幅下滑至160亿美元。而高通这边,在以440亿美元收购恩智浦的交易告吹后,主要声量更多集中在以骁龙8155为代表的座舱芯片上面。




05

算法、硬件和彩票




爱迪生在1877年造出了世界上第一台留声机,随后这项发明跟黑胶唱片一起,在那个年代的音乐爱好者群体里扩散开来。但爱迪生本人对这个现实感到沮丧和失望,因为他最初为留声机设计的用途是记录临终之人的遗言。跟这个设想比起来,拿留声机听音乐这事就有点太low了。




在科技史上,这种不按剧本走的发明其实不少,另外一个较为著名的例子是辉瑞公司研发的心血管药物西地那非。这种命运的奇特安排有时是一种捉弄,有时则被证明是一种幸运,就像英伟达一样。


当然,这么说并不是要否定黄仁勋的技术眼光和商业才能,而是强调在个人奋斗的因素之外,也要考虑到历史的行程。


黄仁勋当然一直知道在电子游戏之外,英伟达的GPU存在更多的潜力,从一种新的计算范式角度来理解GPU,将会带来大得多的可能。但根据福布斯2016的一篇文章,他并没有实际上预料到深度学习会成为GPU的爆发性应用。


深度学习的基础性工作早在上个世纪就已经奠基完毕:反向传播算法最早在1963年就已经提出,深度卷积神经网络则是在1979年就存在了。但在中间这几十年里,这些概念并没有被发扬光大,直到我们有了足够多的数据和充分的算力。


事实上,Google Brain一位叫做萨拉·胡克的研究员把深度学习通过现代GPU设备取得的进展称之为中了“硬件彩票”。虽然萨拉那篇论文的核心观点是想提醒公众,如今在学术界和业界取得成功脱颖而出的研究想法,很大可能并不是因为这些想法本身在解决对应问题上优于其他失败的idea,只是因为这类想法更符合现有的硬件环境。


她认为深度学习在GPU这类并行计算设备帮助下取得的成绩,或许就是例子。但从萨拉的观点中,我们显然也可以反过来窥见一丝GPU最终被深度学习选中的偶然性。


今天我们谈起深度学习的起源和英伟达的命运拐点时,总是绕不开的一个标志性事件,即2012年Hinton及他的博士生Krizhevsky和Sutskever参加ImageNet图像识别大赛时,用卷积神经网络把错误率从上年度的25%一举降到了15%。而Krizhevsky等人在训练神经网络模型的时候,使用了两张英伟达的GeForce游戏显卡学习了120万张图片。


但Krizhevsky等人并不是第一个使用GPU来训练深度神经网络的学者。吴恩达的斯坦福团队在2008年就写了一篇《Large-scale Deep Unsupervised Learning using Graphics Processors》的论文,里面提到用GPU可以大幅加速神经网络模型的学习过程。


然而直到2013年的英伟达GTC大会上,黄仁勋演讲时的keynote里都基本没有怎么提AI。要等到第二年的GTC,我们才会看到黄仁勋把人工智能领域看作英伟达最关键的业务。


这也说明黄仁勋并非一开始就推all in AI,而是在业界已然形成风气后才做这件事。不过即便从这时间节点上来说,英伟达的动作也算相当早了。


当然,如之前所说,没有精准预见AI会在多年后成为英伟达的帝国基座,并不影响黄仁勋的伟大。


某种程度上说,从最初沿着图像计算这个方向的创新,到后来围绕CUDA建立的技术生态,英伟达的布局注定将会长出惊艳的果实。黄仁勋没有预料到这个果实具体会是什么,但他知道它一定会长出来。


最新的二季度财报显示,英伟达本季营收达到了破纪录的135.1亿美元,同比增长101%。其中,最大贡献为数据中心业务,当季业务收入为103.2亿美元,同比增长171%,同创下历史新高。即便在之前的业绩指引里,已经预料到这个季度营收和利润会爆,但管理层和华尔街都没想到会爆的这么厉害。


自2021财年Q2数据中心营收超过游戏业务以来,前者日益成为英伟达业绩的压舱石。二季度数据中心业务收入占总收入的比例从去年同期的35%上升到了76%。


如果要提英伟达近几年唯一经历的一个挫败,大概就是2020年对Arm公司的收购因监管原因告吹。


我们之前在第二部分里提到过,从芯片的分类来说,英特尔和英伟达分别处于通才和专才两端。当下数据中心的发展趋势是系统集成程度越来越高,越来越往SoC的方向发展,芯片公司需要整合CPU和GPU,就像苹果在消费者业务里M系列芯片做的那样。


而随着数据中心业务对于两家公司的重要性不断提升,二者都在试图弥补自身的短板。


英特尔一直都是做CPU的,它需要往专才的方向靠,所以过去几年接连收购了Altera、Mobileye、Habana Labs等公司;而英伟达一直都是做GPU的,所以它需要往通才的方向靠,这构成了它收购Arm的基本逻辑。另外,从这个角度看,AMD由于在很早之前就收购了ATI,有着多年CPU和GPU两方面的打螺丝经验,所以理论上说它其实有些独特的优势。


当然,这桩收购案告吹的最大受害者可能是孙正义,即便他刚从Arm上市中回了波血。


当时软银因终止收购获得的12.5亿美元分手费,对于本来可能获得的收益来说显得不值一提。因为2020年的时候英伟达的收购要约是120亿美元现金,加上215亿美元的英伟达股票。如果按照最新市值计算,这笔交易的价值已经在千亿美元规模。这样看,孙正义愿景基金上个财年亏损的320亿美元,或许都有机会找补回来。



06

写在最后




英特尔的创始员工和第三任CEO安迪·格鲁夫曾说过一句话,“成功引起自满,自满导致失败,只有偏执狂才能生存”。


我们很难说这是否道出了英特尔错失新浪潮的原因,但可以确定的是,黄仁勋的偏执是今天成就英伟达的关键。在商业和技术两方面,他都称得上是天才。


在目所能及的范围内,当下的英伟达还没有与之匹敌的对手。但万亿英伟达所昭示的简单事实是,它正处在一条前途光明但又令人趋之若鹜的赛道上。谷歌亚马逊微软这些大厂都在尝试自己设计的AI加速芯片,瞄准自动驾驶和其他AI算力的创业公司如雨后春笋,而已被甩在身后的AMD和英特尔更有充分的可能卷土重来。


黄仁勋仍需带领英伟达的同志继续保持谦虚谨慎、不骄不躁的作风。




芯片超人花姐粉丝福利

扫码加好友

领取100G半导体产业资料包

(内含汽车芯片、芯片设计等文字视频资料)

聊行情、买卖芯片、商务合作

扫码添加芯片超人花姐

本文作者B哥首发于公众号“新立场PRO”(ID:xinlichang66),欢迎关注。

推荐阅读:

▶ 又有芯片爆火了!真的假的?

 存储触底涨价,半导体真的要复苏了?

 这颗博通芯片,涨到14万

▶ 这颗跌不下来的TI芯片,突然火了

▶ 博通芯片疯了吧 !这行情还能暴涨十几倍!

点击查看往期内容

“在看”我吗?

芯世相 芯片电子元器件IC半导体分销教科书式必读公众号【芯世相】;国产替换,供应链配套,借展出海,方案买卖就找芯片超人。
评论 (0)
  • 托马斯微积分第十版中文
    电子书为扫描版本,自己手动添加书签作为目录供参考
  • 14、小电流贴片共模电感更换需要注意些什么.
    14、小电流贴片共模电感更换需要注意些什么.
  • 13、如何解决直插差模电感的异响问题
    13、如何解决直插差模电感的异响问题
  • 工业级液晶显示控制芯片RA8889ML3N原理图
    TFT-LCD液晶显示控制芯片RA8889ML3N的优势:
    低功耗及功能强大:这款芯片最大支持分辨率为1366x2048,内置128Mb SDRAM,可为内容显示进行快速刷新,同时内置视频解码单元,支持JPEG/AVI硬解码播放,为普通单片机实现视频播放提供可能。
    支持多种接口:RA8889ML3N支持MCU端的8080/6800 8/16-bit 非同步并列接口和3/4线SPI及IIC串列接口,以及最大驱动1366x800分辨率的TFT LCD。
    显示功能强大:RA8889ML3N提供多段的显示记忆体缓冲区段,支持多图层功能,并提供画中画(PIP)、支持透明度控制与显示旋转镜像等显示功能。
    应用范围广:这款芯片广泛应用于自动化控制设备、电力监测控制、测量检测仪器仪表、电教设备、智能家电、医疗检测设备、车用仪表及工控自动化等领域。
  • 16、谷景电子贴片电感在智能电梯领域应用取得新进展
    16、谷景电子贴片电感在智能电梯领域应用取得新进展
  • 首个基于Transformer的分割检测+视觉大模型视频课程(附源码+课件)
    众所周知,视觉系统对于理解和推理视觉场景的组成特性至关重要。这个领域的挑战在于对象之间的复杂关系、位置、歧义、以及现实环境中的变化等。作为人类,我们可以很轻松地借助各种模态,包括但不仅限于视觉、语言、声音等来理解和感知这个世界。现如今,随着 Transformer 等关键技术的提出,以往看似独立的各个方向也逐渐紧密地联结到一起,组成了“多模态”的概念。

    多功能
    通过引入灵活的提示引擎,包括点、框、涂鸦 (scribbles)、掩模、文本和另一幅图像的相关区域,实现多功能性;
    可组合
    通过学习联合视觉-语义空间,为视觉和文本提示组合实时查询,实现组合性,如图1所示;
    可交互
    通过结合可学习的记忆提示进行交互,实现通过掩模 引导的交叉注意力保留对话历史信息;
    语义感知
    通过使用文本编码器对文本查询和掩模标签进行编码,实现面向开放词汇分割的语义感知。

    超大规模视觉通用感知模型由超大规模图像、文本主干网络以及多任务兼容解码网络组成,它基于海量的图像和文本数据构成的大规模数据集进行预训练,用于处理多个不同的图像、图像-文本任务。此外,借助知识迁移技术能够实现业务侧小模型部署。

    超大规模视觉通用感知模型面临的挑战:
    (1)网络参数量庞大,通常超十亿参数,训练稳定性、收敛性、过拟合等问题相较于小网络挑战大很多。
    (2)原始数据集包含数十亿异质低质量图片与海量文本,多步训练以利用异质的多模态多任务数据,流程复杂,存在灾难性遗忘,难以定位精度等问题。
    (3)实验成本高,通常需要上千块GPU并行训练数周,需要研究者有敏锐的分析能力和扎实的知识基础。
    (4)工程挑战多,海量数据的吞吐,大型GPU集群上的并行算法,超大参数量模型的内存管理。

    提示工程
    大多数视觉数据集由图像和相应文本标签组成,为了利用视觉语言模型处理视觉数据集,一些工作已经利用了基于模版的提示工程,
    text_descriptions = [f"This is a photo of a {label}" for label in cifar100.classes]  
    text_tokens = clip.tokenize(text_descriptions).cuda()

    除了此类大型视觉语言基础模型外,一些研究工作也致力于开发可以通过视觉输入提示的大型基础模型。例如,最近 META 推出的 SAM 能够执行与类别无关的分割,给定图像和视觉提示(如框、点或蒙版),指定要在图像中分割的内容。这样的模型可以轻松适应特定的下游任务,如医学图像分割、视频对象分割、机器人技术和遥感等

    从模型训练、模型分发、模型商业化,美图体系化地同创作者和开发者共建模型生态:

    (1)模型训练:提供二次训练能力,并持续不断地为创作者提供服务,包括培训、社区和模型创作大赛。

    (2)模型分发:创作者和开发者共建的模型可以在美图的产品内进行分发,在分发过程中持续优化模型。

    (3)模型商业化:行业客户可通过 MiracleVision 的 API 和 SDK 进行商业使用,创作者和开发者通过商业合作获得经济收益。
    通用视觉-语言学习的基础模型
    UNITER:结合了生成(例如掩码语言建模和掩码区域建模)和对比(例如图像文本匹配和单词区域对齐)目标的方法,适用于异构的视觉-语言任务。
    Pixel2Seqv2:将四个核心视觉任务统一为像素到序列的接口,使用编码器-解码器架构进行训练。
    Vision-Language:使用像 BART 或 T5 等预训练的编码器-解码器语言模型来学习不同的计算机视觉任务。
    模型整体结构上,抛弃了CNN,将 BERT 原版的 Transformer 开箱即用地迁移到分类任务上面,在使用大规模训练集的进行训练时,取得了极好的效果。
    同时,在大规模数据集上预训练好的模型,在迁移到中等数据集或小数据集的分类任务上以后,也能取得比CNN更优的性能。
    模型整体结构如下图所示,完全使用原始 BERT 的 Transformer 结构,主要是对图片转换成类似 token 的处理,原文引入了一个 patch 的概念,首先把图像划分为一个个的 patch,然后将 patch 映射成一个 embedding,即图中的 linear projection 层,将输入转换为类似 BERT 的输入结构,然后加上 position embedding,这里的 position 是1D的,最后加上一个learnable classification token 放在序列的前面,classification由 MLP 完成。

    这里我们用 RAM 提取了图像的语义标签,再通过将标签输入到 Grounding-DINO 中进行开放世界检测,最后再通过将检测作为 SAM 的提示分割一切。目前视觉基础大模型可以粗略的归为三类:
    textually prompted models, e.g., contrastive, generative, hybrid, and conversational;
    visually prompted models, e.g., SAM, SegGPT;
    heterogeneous modalities-based models, e.g., ImageBind, Valley.

    CoCa 通过将所有标签简单地视为文本,对 web-scale alt-text 和 annotated images 进行了从头开始端到端的预训练,无缝地统一了表示学习的自然 语言 监督。因此,CoCa 在广泛的下游任务上实现了最先进的性能,零样本传输或最小的任务特定适应, 跨越视觉识别(ImageNet,Kinetics-400/600/700,Moments-in-Time )、跨模式检索(MSCOCO、Flickr30K、MSR-VTT)、 多模式理解(VQA、SNLI-VE、NLVR2)和图像字幕(MSCOCO、NoCaps)。在 ImageNet 分类中,CoCa 获得了 86.3% 的 zero-shot top-1 准确率, frozen encoder and finetune classifier 是 90.6%,finetune encoder 可以到 91.0%。

    截止目前国内外已经发布了许多包括 NLP, CV 和 多模态在内的大规模模型,但是这些模型在应用落地上还是有待进一步探究的,目前应用落地较好的有华为 的盘古,在电网和金融圈都有应用;智源的悟道系列在诗词图文上都有广泛应用,可以帮助学生看图写作,根据文字生成插图等;百度的文心也发布了在金融方 面的应用。但截止目前为止大模型在实际中的应用还不是很理想,大模型发展的初衷是使用一个预训练好的大模型代替一堆小作坊似的根据不同任务训练的小模 型,通过模型蒸馏知识迁移等技术在小模型上使用少量数据集达到超过原来小模型性能的目标。CV 大模型在应用上的一个难点是与实际应用相结合,目前社会中 用的较多的视觉相关的深度学习模型主要包括物体检测,人脸识别以及缺陷检测(部分)相比 NLP 模型在实际中的使用少很多,因此将 CV 模型与实际生产相 结合发现更多的应用场景很关键。另外一个 CV 大模型应用的难点就是如何快速高效的使用蒸馏和知识迁移技术提升下游任务的性能,这两点难题的解决在 CV 大模型的实际应用中都刻不容缓。

    总结起来,将大模型应用于更高分辨率的下游视觉任务具有以下好处:提高感知能力、改善定位精度、提升语义理解、改善细节保留和边缘清晰度、增加鲁棒性和泛化能力,以及推动研究进展。这些好处使得大模型在处理高分辨率图像时能够获得更准确、更细致和更真实的结果。随着深度学习和计算资源的不断发展,我们可以期待更先进的大模型和相关技术的出现,进一步推动计算机视觉在高分辨率图像任务中的应用和突破

  • [完结19章]SpringBoot开发双11商品服务系统教程下载
    如何使用SpringBoot开发一款关于双11商品服务的系统?今天就给大家说道说道,希望对大家的学习有所帮助!
    1.什么是SpringBoot?
    Spring 的诞⽣是为了简化 Java 程序的开发的,⽽ Spring Boot 的诞⽣是为了简化 Spring 程序开发的。
    Spring Boot是由Pivotal团队提供的基于Spring的框架,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot集成了绝大部分目前流行的开发框架,就像Maven集成了所有的JAR包一样,Spring Boot集成了几乎所有的框架,使得开发者能快速搭建Spring项目。
    2.SpringBoot的优点
    快速集成框架,Spring Boot 提供了启动添加依赖的功能,⽤于秒级集成各种框架。
    内置运⾏容器,⽆需配置 Tomcat 等 Web 容器,直接运⾏和部署程序。
    快速部署项⽬,⽆需外部容器即可启动并运⾏项⽬。
    可以完全抛弃繁琐的 XML,使⽤注解和配置的⽅式进⾏开发。
    ⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况

    后端配置
    1.1创建Springboot工程
    打开idea->file->new->project
    选择spring Initializer进行配置,java版本选择8,点击next
    - internal 应用代码
        - controllers 控制器模块
          - admin 后端控制器
          - front 前端控制器
        - listen redis监听器
        - models 模型模块
        - service 服务模块
          - product_serive 商品服务
          - wechat_menu_serive 微信公众号菜单服务
          ......
    - conf 公共配置
      -config.yml yml配置文件
      -config.go 配置解析,转化成对应的结构体
      
    - middleware 中间件
        - AuthCheck.go  jwt接口权限校验
    - cors.go 跨域处理
    ......
    - pkg 程序应用包
      - app
      - base
      - casbin
      - jwt
      - qrcode
      - wechat
      .....
    - routere 路由
    - logs 日志存放
    - runtime 资源目录
    首先,我仔细分析了需求,并且根据业务逻辑设计了合适的接口。
    对于多表关联查询,我使用了MyBatis的注解来编写SQL语句,并通过@One和@Many等注解来实现结果集的映射。
    对于数据分页,我使用了MyBatis-Plus提供的Page对象,并结合相关方法来实现数据分页查询。
    2. 上课中的优秀项目
    在课堂上,我完成了一个优秀的项目,主要是学生实体类的增删改查功能。通过这个项目,我巩固了对Spring Boot框架的理解和掌握。
    具体实现如下:
    //初始化redis
    err := cache.InitRedis(cache.DefaultRedisClient, &redis.Options{
    Addr:        global.CONFIG.Redis.Host,
    Password:    global.CONFIG.Redis.Password,
    IdleTimeout: global.CONFIG.Redis.IdleTimeout,
    }, nil)
    if err != nil {
    if err != nil {
    global.LOG.Error("InitRedis error ", err, "client", cache.DefaultRedisClient)
    panic(err)
    }
    panic(err)
    }

    //初始化mysql
    err = db.InitMysqlClient(db.DefaultClient, global.CONFIG.Database.User,
    global.CONFIG.Database.Password, global.CONFIG.Database.Host,
    global.CONFIG.Database.Name)
    if err != nil {
    global.LOG.Error("InitMysqlClient error ", err, "client", db.DefaultClient)
    panic(err)
    }
    global.Db = db.GetMysqlClient(db.DefaultClient).DB

    开发步骤
    SpringBoot 开发起来特别简单,分为如下几步:
    创建新模块,选择Spring初始化,并配置模块相关基础信息
    选择当前模块需要使用的技术集
    开发控制器类
    运行自动生成的Application类
    知道了 SpringBoot 的开发步骤后,接下来我们进行具体的操作
    shutdown.NewHook().Close(
    //关闭http server
    func() {
    ctx, cancel := context.WithTimeout(context.Background(), time.Second*10)
    defer cancel()
    if err := server.Shutdown(ctx); err != nil {
    logging.Error("http server shutdown err", err)
    }
    },

    func() {
    //关闭kafka producer(特别是异步生产者,强制关闭会导致丢消息)
    if err := mq.GetKafkaSyncProducer(mq.DefaultKafkaSyncProducer).Close(); err != nil {
    logging.Error("kafka shutdown err", err)
    }
    },
    func() {
    //关闭mysql
    if err := db.CloseMysqlClient(db.DefaultClient); err != nil {
    logging.Error("mysql shutdown err", err)
    }
    },
    func() {
    //关闭redis
    if err := cache.GetRedisClient(cache.DefaultRedisClient).Close(); err != nil {
    logging.Error("redis shutdown err", err)
    }
    },
    )
    //也可以自己实现优雅关闭
    //signals := make(chan os.Signal, 0)
    //signal.Notify(signals, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT)
    //s := <-signals
    //global.LOG.Warn("shop receive system signal:", s)
    //ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
    //defer cancel()
    //err := server.Shutdown(ctx)
    //if err != nil {
    // global.LOG.Error("http server error", err)
    //}
    //mq.GetKafkaSyncProducer(mq.DefaultKafkaSyncProducer).Close()

    选择 Spring Initializr ,用来创建 SpringBoot 工程
    以前我们选择的是 Maven ,今天选择 Spring Initializr 来快速构建 SpringBoot 工程。而在 Module SDK 这一项选择我们安装的 JDK 版本。
    type StoreProduct struct {
    Image        string         `json:"image" valid:"Required;"`
    SliderImage  string         `json:"slider_image" valid:"Required;"`
    StoreName    string         `json:"store_name" valid:"Required;"`
    StoreInfo    string         `json:"store_info" valid:"Required;"`
    Keyword      string         `json:"keyword" valid:"Required;"`
    CateId       int            `json:"cate_id" valid:"Required;"`
    ProductCate  *StoreCategory `json:"product_cate" gorm:"foreignKey:CateId;association_autoupdate:false;association_autocreate:false"`
    Price        float64        `json:"price" valid:"Required;"`
    VipPrice     float64        `json:"vip_price" valid:"Required;"`
    OtPrice      float64        `json:"ot_price" valid:"Required;"`
    Postage      float64        `json:"postage" valid:"Required;"`
    UnitName     string         `json:"unit_name" valid:"Required;"`
    Sort         int16          `json:"sort" valid:"Required;"`
    Sales        int            `json:"sales" valid:"Required;"`
    Stock        int            `json:"stock" valid:"Required;"`
    IsShow       *int8          `json:"is_show" valid:"Required;"`
    IsHot        *int8          `json:"is_hot" valid:"Required;"`
    IsBenefit    *int8          `json:"is_benefit" valid:"Required;"`
    IsBest       *int8          `json:"is_best" valid:"Required;"`
    IsNew        *int8          `json:"is_new" valid:"Required;"`
    Description  string         `json:"description" valid:"Required;"`
    IsPostage    *int8          `json:"is_postage" valid:"Required;"`
    GiveIntegral int            `json:"give_integral" valid:"Required;"`
    Cost         float64        `json:"cost" valid:"Required;"`
    IsGood       *int8          `json:"is_good" valid:"Required;"`
    Ficti        int            `json:"ficti" valid:"Required;"`
    Browse       int            `json:"browse" valid:"Required;"`
    IsSub        *int8          `json:"is_sub" valid:"Required;"`
    TempId       int64          `json:"temp_id" valid:"Required;"`
    SpecType     int8           `json:"spec_type" valid:"Required;"`
    IsIntegral   *int8          `json:"isIntegral" valid:"Required;"`
    Integral     int32          `json:"integral" valid:"Required;"`
    BaseModel
    }

    //定义商品消息结构
    type ProductMsg struct {
    Operation string `json:"operation"`
    *StoreProduct
    }
    切换web服务器
    现在我们启动工程使用的是 tomcat 服务器,那能不能不使用 tomcat 而使用 jetty 服务器,jetty 在我们 maven 高级时讲 maven 私服使用的服务器。而要切换 web 服务器就需要将默认的 tomcat 服务器给排除掉,怎么排除呢?使用 exclusion 标签
    func (e *StoreProductController) Post(c *gin.Context) {
    var (
    dto  dto2.StoreProduct
    appG = app.Gin{C: c}
    )
    httpCode, errCode := app.BindAndValid(c, &dto)
    if errCode != constant.SUCCESS {
    appG.Response(httpCode, errCode, nil)
    return
    }
    productService := product_service.Product{
    Dto: dto,
    }
    model, err := productService.AddOrSaveProduct()
    if err != nil {
    appG.Response(http.StatusInternalServerError, constant.FAIL_ADD_DATA, nil)
    return
    }

    //发消息队列
    defer func() {
    operation := product.OperationCreate
    if dto.Id > 0 {
    operation = product.OperationUpdate
    }
    productMsg := models.ProductMsg{
    operation,
    &model,
    }
    msg, _ := json.Marshal(productMsg)
    p, o, e := mq.GetKafkaSyncProducer(mq.DefaultKafkaSyncProducer).Send(&sarama.ProducerMessage{
    Topic: product.Topic,
    Key:   mq.KafkaMsgValueStrEncoder(strconv.FormatInt(dto.Id, 10)),
    Value: mq.KafkaMsgValueEncoder(msg),
    },
    )
    if e != nil {
    global.LOG.Error("send product msg error ", e, "partition :", p, "offset :", o, "id :", dto.Id)
    }
    }()

    appG.Response(http.StatusOK, constant.SUCCESS, nil)

    }


  • 基于单片机的工业级液晶图形显示控制芯片RA8889ML3N-Datasheet
    TFT-LCD液晶显示控制芯片RA8889ML3N的优势:
    低功耗及功能强大:这款芯片最大支持分辨率为1366x2048,内置128Mb SDRAM,可为内容显示进行快速刷新,同时内置视频解码单元,支持JPEG/AVI硬解码播放,为普通单片机实现视频播放提供可能。
    支持多种接口:RA8889ML3N支持MCU端的8080/6800 8/16-bit 非同步并列接口和3/4线SPI及IIC串列接口,以及最大驱动1366x800分辨率的TFT LCD。
    显示功能强大:RA8889ML3N提供多段的显示记忆体缓冲区段,支持多图层功能,并提供画中画(PIP)、支持透明度控制与显示旋转镜像等显示功能。

    应用范围广:这款芯片广泛应用于自动化控制设备、电力监测控制、测量检测仪器仪表、电教设备、智能家电、医疗检测设备、车用仪表及工控自动化等领域。

    技术咨询与交流:QQ2851189731, 微信13760238805

  • 安科瑞 ASCB1系列智能微型断路器样本
    ASCB1 系列智能微型断路器是安科瑞电气股份有限公司全新推出的智慧用电产品,产品由智能微型断路器与智能网关两部分组成,可用于对用电线路的关键电气因素,如电压、电流、功率、温度、漏电、能耗等进行实时监测,具有远程操控、预警保护、短路保护、电能计量统计、故障定位等功能,应用于户内建筑物及类似场所的工业、商业、民用建筑及基础设施等领域低压终端配电网络。
  • 浅谈地下污水厂智能照明控制应用

    结合某地下污水厂项目,从结构、系统组成、系统功能、控制要求、场景模式等方面介绍了地下污水厂智能照明控制系统,探索了一套适用于地下污水厂的智能照明控制策略,以确保地下污水厂正常运行的照明需求。

  • 12、如何挑选立式磁棒电感厂家
    12、如何挑选立式磁棒电感厂家
  • Wayking RadarSensors_LRR7710_中英文产品手册
    Wayking RadarSensors_LRR7710_中英文产品手册
  • RadarSensors_ARS404-21_cn数据手册​
    RadarSensors_ARS404-21_cn数据手册
  • 风力发电机组机结构与原理-2018年-赵万清
    风力发电机组机结构与原理,中国电力出版社,PDF版本。
  • 高低温探针台是一种用于材料科学、物理、化学等领域的实验设备,主要用于在高温和低温环境下对材料进行各种实验和研究。下面是高低温探针台的工作原理。工作原理是将样品放置在加热和冷却组件上,然后使用各种测量仪器对其进行实验和测量。具体来说,其工作流程如下:将样品放置在加热和冷却组件上;启动加热系统,将样品加热到所需的温度;启动制冷系统,将冷却组件降温到所需的温度;通过各种测量仪器对样品进行实验和测量;记录实验数据并进行分析和处理;结束实验后,关闭加热和制冷系统,并解除真空状态,取出样品。总之,高低温探针
    锦正茂科技 2023-12-01 14:50 101浏览
  • By Toradex胡珊逢 简介 双屏显示在显示设备中有着广泛的应用,可以面向不同群体展示特定内容。文章接下来将使用 Verdin iMX8M Plus 的 Arm 计算机模块演示如何方便地在 Toradex 的 Linux BSP 上实现在两个屏幕上显示独立的 Qt 应用。 硬件介绍 软件配置 Verdin iMX8M Plus 模块使用 Toradex Multimedia Reference Image V6.4.0 版本,其包含 Qt5.15 相关运行环境。默认系统中已经使
    hai.qin_651820742 2023-12-01 11:53 111浏览
  • 作者:Shawn Prestridge,IAR资深现场应用工程师 / 美国FAE团队负责人 安全一直都是一个非常热门的话题,似乎每周都会听到这样的消息:某某公司如何被入侵,数百万用户的数据被泄露。 我们看到这么多的安全问题,部分原因在于我们对待安全的方式:安全性通常被认为是事后考虑的问题,是在开发结束时才添加到设备上的东西。然而,复杂的系统,尤其是嵌入式系统,有一个很大的攻击面,这让攻击者有机可乘,能够在“盔甲”上找到破绽。如果你去研究大部分黑客试图入侵系统的方式,你很快就会发现,在他们的武
    电子科技圈 2023-11-30 14:43 119浏览
  • 印刷部分 这本书印刷和普通书籍不太一样,类似笔记本的手写体印刷和笔记的网格,有亲近感和新鲜感内容部分 分为通信工程 ;传感器工程;磁传感器工程;太阳电池功能几大部分通信电路是一种用于传输信息的电子电路,可以用于无线通信、有线通信和网络通信等各种通信系统中。传感器电路则是用于感知和测量环境参数的电路,可以探测光、温度、压力、湿度、运动等各种物理量。在学习通信电路方面,可能会接触到模拟通信电路和数字通信电路。模拟通信电路主要涉及模拟信号的传输和处理,如调制解调、信号放大、滤波等。数字通信电路则涉及数
    陇南有只大花猫 2023-11-30 19:01 198浏览
  •     按照 IPC术语,连接盘/Land 是指一块导体,通常用于连接和/或固定元器件的导电部分。    为了增强孔的机械强度,所有的金属化孔或者镀覆孔,在穿过每一层铜箔时,都应该有连接盘,连接盘的形状不限。前面提过的孔环也是连接盘的一种形式。在允许的条件下,孔环和连接盘的尺寸都要尽量大一些。    前面提到过,铜层图案(连接盘)和孔是在不同的工序制作的。由于加工公差的存在,用常见的圆形连接盘和圆孔来说,并不能保证孔和连接盘保持精确的同
    电子知识打边炉 2023-11-30 21:32 146浏览
  • 在电力系统中,过电压保护器是一种重要的设备,它对电力设备的安全运行具有重要的作用。下面我们来了解一下过电压保护器的基本结构。过电压保护器通常由三个主要部分组成:间隙、非线性元件和触发器。1. 间隙:间隙是过电压保护器的基本结构之一,它是由两个金属电极组成的,通常采用球形或棒形结构。间隙的间距通常在几毫米到几厘米之间,它能够承受一定的电压,并在过电压条件下进行放电。2. 非线性元件:非线性元件是过电压保护器的另一个重要组成部分。它是一种特殊的电阻器,能够在高电压下呈现出非线性的特性。当电压超过一定
    保定众邦电气 2023-11-30 14:49 173浏览
  • 前言 在网络部署之后和业务开展之前,运营商迫切希望了解当前网络的性能状态,以便为商业规划和业务推广提供必要的基础数据支持。因此,高可靠性和高精确度的性能测试方法对于运营商评判网络性能的优劣,显得尤为重要,而RFC 2544等传统测试标准已不足于鉴定当今的服务等级协议(SLA)。SLA是服务提供商(如ISP)及其最终用户之间的协议,它规定以太网服务的开通或验证必须进行测量,且必须达到SLA的规范要求。目前,对以太网服务进行测试和故障诊断的最佳选择无疑是ITU-T Y.1564标准。 &
    信而泰市场部 2023-11-30 15:06 89浏览
  •    电源连接器的插针遭受损坏的情况非常普遍,这种故障会让连接器的电流传输受到影响,进而影响设备的正常使用,那是什么因素导致电源连接器的插针遭到损坏呢?下面Amass将为您分析其中的原因。   1、应用环境高温 1. 在高温环境下,电源连接器插针易受腐蚀影响,形成氧化层,损失接触压力,甚至可能发生接头烧损情况。对于这种环境,电源连接器需要具备耐高温性能,不仅需满足环境温度要求,还须考虑其在工作状态下的热量散发。  
    艾迈斯电子 2023-11-30 16:33 125浏览
  • 听力危机不可不慎,助听器市场的发展概况根据世界卫生组织WHO于2021年所发布的世界听力报告(World report on hearing)统计,全球目前有20%左右的听损人口;其中「轻度」与「中度」听损人口就占了大约15亿人左右。台湾方面,根据2021年卫生福利部统计处的数据显示,台湾则约有12万人有听力损失的问题,其中更有高达56% (约71,543人)确诊为轻度听损。足以看出听力受损问题已逐渐成为全球新兴的健康议题。听力损失的成因及轻重程度因人而异,但无论如何,或多或少都会影响到我们的日
    百佳泰测试实验室 2023-11-30 17:26 118浏览
  • Achronix推出基于FPGA的加速自动语音识别解决方案 提供超低延迟和极低错误率(WER)的实时流式语音转文本解决方案,可同时运行超过1000个并发语音流2023年11月——高性能FPGA芯片和嵌入式FPGA(eFPGA IP)领域的领先企业Achronix半导体公司日前自豪地宣布:正式推出Achronix与Myrtle.ai合作的最新创新——基于Speedster7t FPGA的自动语音识别(ASR)加速方案。这一变革性的解决方案,实现了高精度和快速响应,可将超过1000个并发的实时
    电子科技圈 2023-11-30 11:52 157浏览
  •    本文介绍在ALPS平台上进行SSL测试的内容和方法   什么是SSL SSL全称是Secure Sockets Layer,指安全套接字协议,为基于TCP的应用层协议提供安全连接;SSL介于TCP/IP协议栈的第四层和第五层之间,广泛用于电子商务、网上银行等。 SSL协议有三个版本,其中SSL2.0和3.0曾被广泛使用,其中SSLv3.0自1996提出并得到大规模应用成为了事实上的标准,在2015年才被弃用。1999年,IETF收纳了SSLv3.0并
    信而泰市场部 2023-11-30 15:08 102浏览
  • 教程背景通过之前的教程,我们已经为大家演示了宏集MC-Prime控制器的连接、试运行和CODESYS的安装,并创建了一个计数器项目。在本期教程中,我们将进一步深入,教大家如何使用CODESYS的可视化界面。一、两种可视化方式在CODESYS V3中,可视化界面分为两种类型:目标可视化和网络可视化。二者之间存在着一些本质上的区别。(一)目标可视化目标可视化(Target visualization)主要是针对一些带有集成屏幕的控制器(如宏集DC系列)。如果是没有屏幕的控制器,则需要通过在控制器上运
    工业物联网技术 2023-11-30 11:45 93浏览
  • 随着汽车电子进入电动化+智能网联的时代,新能源、车联网、智能化、电动化四个领域带来了CAN数据的需求,企业车队管理需要数据,汽车运营需要数据,改装、解码、匹配工具打造需要数据,现在就连简单的LED汽车照明控制,也需要匹配数据。这一切,逃脱不了CAN、LIN、SENT、BSD、MOST各种协议下,不同ECU控制单元在不同年份,不同款式下的数据,可以这么说,在新能源这个前提下,我们要做的工作和要做的事情可能要更为复杂、多变。 前日,我拿出一份13年左右丰田的CAN协议,里边包括车灯控制、车
    lauguo2013 2023-11-30 15:45 109浏览
  • 非接触精密洁净设备在锂电池领域有广泛的应用,主要用于生产制造过程中的Roll to Roll及sliting工艺、电芯预处理等环节。针对卷板、薄膜、膜片制造工艺中的大宽幅、裁切后边部处理再清洁、除异物、毛刺等需求,非接触精密洁净设备通过高旋轴与特制气嘴的优化排列,可满足现有干燥炉、再复合、精度提升等新工艺中的洁净度要求。具体的应用环节如下:锂电池生产过程中的Roll to Roll工艺和sliting工艺,非接触精密洁净设备通过高精度的洁净环境和控制,保证了锂电池的制造质量和安全性。电芯预处理过
    SHLZ 2023-11-30 11:49 146浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦