劲爆!开源芯片死结打开了?道翰天琼认知智能机器人平台API接口大脑为您揭秘

tech2022-07-09  221

劲爆!开源芯片死结打开了?道翰天琼认知智能机器人平台API接口大脑为您揭秘

 

 

“今天好多学生在选专业时,听到要做硬件、做芯片,就会有一种恐惧感,我们希望能改变这种状态。”说这话的人是中国科学院计算技术研究所研究员、先进计算机系统研究中心主任包云岗,几年前他所在的中国科学院大学有 35% 的学生不喜欢做芯片,现在不少学生已经开始热衷于做芯片,并已经有学生“带芯毕业”。2020 年 6 月,五位 95 后本科生,带着自己设计的处理器芯片“果壳(NutShell)” ,从中国科学院大学毕业,这在国内非常罕见。图 | 五位 “带芯” 毕业的本科生(来源:受访者)整个芯片从设计到研发,耗时仅仅 4 个月,如此高效率的研发,得益于包云岗团队研发的开源芯片设计平台——SERVE。在 2020 中关村论坛未来青年论坛现场,DeepTech 专访包云岗,并请他重点阐述了 SERVE 开源芯片设计平台的现状。图 | 包云岗(来源:中关村论坛未来青年论坛)SERVE 的诞生,要从 2012 年开始,这是一个摸索着长大的产品。2016 年,负责团队耗时 4 年,终于研发出 SERVE 第一版。同时,包云岗和团队核心成员张科博士、常轶松博士也在继续探索。在明确开源方向后,他们决定把 SERVE,打造成开源芯片设计平台。2019 年,SERVE 发布第三版,并发挥作用至今。图 | 开源芯片设计平台 SERVE(来源:受访者) SERVE 的主要作用,是在芯片设计结束以后,对芯片进行开发验证。由于 SERVE 的研究人员,本身也是高校老师,他们“就地取材”,围绕教学场景针对教学中遇到的需求,寻找技术实现手段。 此前,芯片验证一般得用 FPGA 仿真硬件基础设施,并且芯片上面还得运行软件,因此要想测试芯片是否有问题,就得让它跑起来。跑的过程中遇到问题,就要反馈给设计人员进行修复。包云岗在教学实践中发现,上述做法面临的痛点是,不是每个学生拿到的开发板都很稳定,这样就会导致很多无解类问题。而 SERVE 的作用,正是用于寻找无解类问题。它能通过联网来给芯片做验证,芯片的开发流程也会因此加快。之所以具备该功能,是因为 SERVE 使用了一种新架构——SoC-FPGA,相比亚马逊 F1 FPGA 云平台,SERVE 的密度更高,一个平台上可以集成 32 个 FPGA,并且每个 FPGA 上面还有强大的计算力。这样既有较高的密度,又有较强的计算能力,整个芯片系统可以获得更好的性价比。图 | 用 SERVE 测试芯片 包云岗介绍称,SERVE 在远程教学中,也发挥了重要作用。2020 上半年,学生都在家学习,而 SERVE 让学生们即便不在学校,也照样可以完成硬件实验。截止目前,在疫情期间,128 位该校学生登录 SERVE 近两万次,并借此进行了近两千小时的实验。过去几年,中国科学院大学一直让本科生用 SERVE 去做教学实验,学生对计算机组成原理教学实验平台的满意度,也从 27% 增长到 88%。把芯片设计搬到云上来SERVE 的目标,是要把芯片设计过程搬到云上去。未来,该平台有望实现所有的芯片设计,都能在云上完成。 届时,开发人员只需一个帐号,就能在云平台里面,制作芯片开发的基础组件,并能完成开发和验证等所有过程,从而产出芯片设计版图。版图设计出来后,就可以交给芯片制造厂商去制造。据包云岗介绍,在云上做芯片设计,也是未来的趋势,如果再融入开源要素,还能帮助降低芯片设计和验证的成本。 而降低设计成本,正是降低芯片制造门槛的首要因素。当前芯片的生产要素如 EDA、IP、仿真验证平台等造价都非常昂贵,如果生产要素特别难获取,生产门槛就会非常高。 他举例称,以 14 纳米芯片为例,一般需要几千万甚至上亿元的研发经费。这样的投入,只有少数企业才能承担。如果是创业公司,还没开始创业就要花这么多钱购买设备,那么芯片行业自然难以注入新鲜力量。 说到这里,包云岗说开发 App 的要素都是开源的,三五位工程师下载一些开源组件,很快就能做出一款 App。同样,通过开源和云上设计的方式,也能让芯片设计像开发 App 一样简单。“让天下没有难做的芯片”2019 年 10 月份,《经济学人》杂志有篇文章提到:过去十年开源软件让智能手机实现了大爆发,未来十年新的开源硬件有可能让物联网设备实现类似的爆发。 包云岗介绍称,开源芯片已经是大家比较关注的新趋势。它背后有三大驱动力,第一是当前技术发展的整体趋势,如 2020 年中国半导体行业明显“变热”;第二是人才,和美国相比,近十年在芯片设计领域里面,中国仍有 20 倍人才差距;第三是产业,如果把领域专家的知识实现到芯片里面,就能把芯片性能功耗比提升几百倍。谈及芯片和开源的结合,包云岗表示,一枚芯片的诞生,包括设计、制造和封装等三个阶段,这和出版小说的过程很相似。 设计阶段,就好比把小说写出来;制造阶段,相当于写完后把电子稿发给印刷厂、并把它印出来;封装测试好比把它封装成一本书。 他举例称,以寒武纪公司为例,他们把人工智能、深度神经网络和机器学习的设计固化到硬件里面,最终做出的 AI 芯片,比通用芯片的各方面性能都高出一个数量级。 由于寒武纪芯片针对的是某一类大领域,公司需要投入上千研发人力。但还有很多场景,不需要面对复杂应用,也不需要投入过多人力,可能只是做窗帘里面一个小处理器,这个小处理器只需感知光线是强还是弱,并根据光的强弱、接收手机发来的请求,从而实现窗帘的自动开关。 而用多快好省的方式快速做出芯片,便是降低芯片门槛的主要意义所在。对于有较强应用需求的小芯片来说,它们将在未来实现门槛低、成本低、周期迭代的能力。这样,便能最大程度激发芯片领域的创新活跃度。 包云岗继续分析称,现在全中国有 400 多万个 App,App 拥有量位居世界首位,每个 App 都需要团队开发,未来这些 App 可直接跟芯片关联起来。仍以窗帘为例,假如开发一个 App 控制窗帘,那么与窗帘对应的芯片,也可以打包形成一个软硬结合的解决方案。 比如,一家窗帘公司不仅可以给用户提供智能窗帘,还能给用户一个 App,用户在手机上可以很容易地控制窗帘。与此同时,窗帘公司还能很快做出一款小芯片,并嵌入到的窗帘里面。 这样,窗帘跟 App 是紧耦合的关系,它们之间可以通信,App 里面的请求可以发送到芯片里面,进而通过芯片来控制窗帘。这类芯片的出货量会比较大,相应的场景需求也比较多。包云岗表示,希望未来能把门槛降低到连窗帘公司都可以自己做芯片。 相比中低端芯片,高端芯片的制造门槛更难以降低。以建筑为例,假如要造大兴机场,就不是以成本为中心来考虑,因为它是非常高端的明星项目,需要先进的工程设备来做。 而大量存在的普通居民楼和写字楼,会更加重视经济适用。而包云岗团队目前正在解决的问题,是怎么把量大面广的芯片生产门槛降下来。 他认为,假如造一个普通房子,都需要尖端人员来做,那么房子的推广成本就会非常高。而把制造量大面广的芯片,跟计算机体系结构(Computer Architecture)对应起来,事情就会更加容易。 在计算机体系结构领域中做开源,相当于把很多预制件都做好、并加以储备,以备随时使用。比如,仅用 10 天就可以造出雷神山和火神山医院,此前长沙还曾用 7 天造出 10 几层楼的酒店。 为什么能做到这一点?因为已经标准化,有了预制件就能很快构建出建筑。包云岗认为,当 AIoT(人工智能物联网)得到进一步普及后,芯片也应朝此方向发展,因为它跟建筑一样,也有量大面广的需求。届时,芯片制造就会更快更便宜,造出来的芯片也会更适用。开源芯片死结有望打开但就开源芯片的研发,还面临着“死结”。由于投入很大,大家不愿意开源,没有可用的开源资源,就只能花高价去买 IP。与此同时,大家又都希望一次流片成功,所以会花更多的时间去验证它,导致人力成本高企。如今,这个死结有望打破。 开源芯片设计平台 SERVE,相当于一群人合伙做出预制件,根据这些预制件就能快速搭出产品。从宏观角度来看,开源就像基建一样需要有投入,投入以后不见得能看到回报,因为做完以后就要贡献给大家使用。 从商业模式角度来看,开源芯片设计平台,就像是国家建设高速公路,前期投入很大,但是建好以后大家的出行会很方便。 正所谓要想富先修路,高速公路一旦建成,就可以促进很多产业的发展,这便是基础设施的作用。开源芯片设计平台也是同样的道理,芯片门槛降低以后,平台就可以变成公共设施,厂商就可以在平台上做自己的芯片。图 | 国科大组成原理教学实践(来源:受访者) 包云岗指出,构建开源芯片生态,需要四大元素:开源开放的指令集、开源的 EDA 工具链、敏捷开发语言、操作系统和编译器。 以开源开放的指令集这一元素为例,得益于开放和免费,RSIC-V(一个基于精简指令集原则的开源指令集架构)已经逐渐为人所知。打个比方,指令集相当于一种语言的语法和词汇,而每一种语言都有一本字典,去解释这种语言的语法和词汇的便是指令集手册。 指令集手册都比较厚,以 X86 指令集手册为例,页数多达 5000 多页,而 RISC-V 指令集手册只有 200 多页,本科生就可以读懂。页数少且浅显易懂,这样就可以用较少的人才投入,用它去做处理器芯片设计。不同指令集的规模差别也很大,X86 如今已有 3000 多条指令,但事实上并不需要这么多。而 RISC-V 基础指令只有 47 条,且可以完成很多功能。与此同时,RISC-V 是模块化的,虽然只有 47 条基础指令,但其可以像搭积木一样,根据需求构建出定制的处理器。 仍以高速公路为例,路面可以行驶各种各样的车辆,车主也可以基于不同的目的来使用高速公路,有的是做物流,有的是出去旅游。对于开源芯片设计平台来说,厂商也可以在上面发挥各种想象力和创造力,从 0 到 1 开拓出新业务。 可以说,开源芯片是一个生态基础,而包云岗的工作则是构建一个类似于公共服务的生态,让芯片设计可以有更多创新。芯片门槛降低以后,“良禽”才会“择木而栖”。相比如日中天的互联网行业,芯片行业研发人员收入普遍不高,但是芯片人才的要求却很高,他们既需要懂设计流程,又需要懂前端、后端等一系列技术。 包云岗认为,中国还没有像英特尔和英伟达这样的 GPU 纯设计公司,中国的 GPU 跟美国的差距也在十年以上。其中一个原因正是因为芯片门槛过高,人才很难保持活跃度,资本也不太愿意进去。只有降低芯片门槛,学生才会不再害怕做芯片,人才参与一旦增多,资本也更愿意加入。不过他同时指出,门槛也不能降得过低,移到中间某一个位置时,就会形成较好的业界态势,这时便可以创造更大价值。

 

 

道翰天琼认知智能未来机器人接口API简介介绍

认知智能是计算机科学的一个分支科学,是智能科学发展的高级阶段,它以人类认知体系为基础,以模仿人类核心能力为目标,以信息的理解、存储、应用为研究方向,以感知信息的深度理解和自然语言信息的深度理解为突破口,以跨学科理论体系为指导,从而形成的新一代理论、技术及应用系统的技术科学。 认知智能的核心研究范畴包括:1.宇宙、信息、大脑三者关系;2.人类大脑结构、功能、机制;3.哲学体系、文科体系、理科体系;4.认知融通、智慧融通、双脑(人脑和电脑)融通等核心体系。 认知智能四步走:1.认知宇宙世界。支撑理论体系有三体(宇宙、信息、大脑)论、易道论、存在论、本体论、认知论、融智学、HNC 等理论体系;2.清楚人脑结构、功能、机制。支撑学科有脑科学、心理学、逻辑学、情感学、生物学、化学等学科。3.清楚信息内涵规律规则。支撑学科有符号学、语言学、认知语言学、形式语言学等学科。4.系统落地能力。支撑学科有计算机科学、数学等学科。 认知智能CI机器人是杭州道翰天琼智能科技有限公司旗下产品。认知智能机器人是依托道翰天琼10年研发的认知智能CI体系为核心而打造的认知智能机器人大脑,是全球第一个认知智能机器人大脑。具有突破性,创新性,领航性。是新一代智能认知智能的最好的产品支撑。 认知智能机器人技术体系更加先进,更加智能,是新一代智能,认知智能领域世界范围内唯一的认知智能机器人。 认知智能机器人是新时代的产物,是新一代智能认知智能的产物。代表了新一代智能认知智能最核心的优势。和人工智能机器人大脑相比,优势非常明显。智能度高,客户粘性大,客户满意度高,易于推广和传播等核心特点。 依托认知智能机器人平台提供的机器人大脑服务,可以赋能各个行业,各个领域的智能设备,各类需要人机互动的领域等。认知智能机器人平台网址:www.weilaitec.com,www.citec.top。欢迎注册使用,走进更智能机器人世界。 认知智能和人工智能的优劣势对比主要可以分为四大方面: 第一:时代发展不同。人工智能是智能时代发展的第二个阶段,认知智能是智能时代发展的第三个阶段。时代发展上决定了认知智能更显具有时代领先性。 第二:基础理论体系不同。人工智能的基础理论体系以数学为基础,以统计概率体系为基础。认知智能基础理论体系以交叉许可理论体系为基础。包含古今中外哲学体系,心理学体系,逻辑学体系,语言学体系,符号学体系,数学体系等学科。其基础理论体系更加具有创新性,突破性和领先性。且交叉学科理论体系的研究也是未来智能发展的大方向。其具体理论体系,还包含三体论(宇宙,信息,大脑三者关系),融智学,和HNC等。 第三:技术体系不同。人工智能的核心技术体系主要是算法,机器学习,深度学习,知识图谱等。其主要功用在感知智能。感知智能其核心主要是在模仿人类的感知能力。认知智能的核心技术体系是以交叉学科理论体系而衍生出来的。具体包含三大核心技术体系,认知维度,类脑模型和万维图谱。认知智能的技术体系核心以类脑的认知体系为基础。以全方位模仿类脑能力为目标。人工智能以感知智能为基础的体系,只能作为认知智能中的类脑模型技术体系中的感知层技术体系。类脑模型大致包含,感知层,记忆层,学习层,理解层,认知层,逻辑层,情感层,沟通层,意识层等9大核心技术层。因此人工智能的核心只是作为认知智能类脑模型中的感知层。因此在技术体系上,人工智能和认知智能基本上没有太多的可比性。 第四:智能度成本等方面的不同:人工智能产品的综合智能程度,普遍在2-3岁左右的智力水平。认知智能产品其智能程度大致在5-8岁左右。认知智能体系构建的机器人更加智能。且更省时间,更省人力和资金。优势非常多。具体请看下列的逐项对比。

道翰天琼CiGril机器人API

道翰天琼CiGril认知智能机器人API用户需要按步骤获取基本信息:

在平台注册账号登录平台,进入后台管理页面,创建应用,然后查看应用,查看应用相关信息。在应用信息页面,找到appid,appkey秘钥等信息,然后写接口代码接入机器人应用。

开始接入

请求地址:http://www.weilaitec.com/cigirlrobot.cgr

请求方式:post

请求参数:

参数

类型

默认值

描述

userid  

String  

平台注册账号

appid  

String  

平台创建的应用id

key  

String  

平台应用生成的秘钥

msg  

String  

""

用户端消息内容

ip  

String  

""

客户端ip要求唯一性,无ip等可以用QQ账号,微信账号,手机MAC地址等代替。

 

接口连接示例:http://www.weilaitec.com/cigirlrobot.cgr?key=UTNJK34THXK010T566ZI39VES50BLRBE8R66H5R3FOAO84J3BV&msg=你好&ip=119.25.36.48&userid=jackli&appid=52454214552 注意事项:参数名称都要小写,五个参数不能遗漏,参数名称都要写对,且各个参数的值不能为空字符串。否则无法请求成功。userid,appid,key三个参数要到平台注册登录创建应用之后,然后查看应用详情就可以看到。userid就是平台注册账号。

示例代码JAVA:

import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; public class apitest {     /**      * Get请求,获得返回数据      * @param urlStr      * @return      */     private static String opUrl(String urlStr)     {                 URL url = null;         HttpURLConnection conn = null;         InputStream is = null;         ByteArrayOutputStream baos = null;         try         {             url = new URL(urlStr);             conn = (HttpURLConnection) url.openConnection();             conn.setReadTimeout(5 * 10000);             conn.setConnectTimeout(5 * 10000);             conn.setRequestMethod("POST");             if (conn.getResponseCode() == 200)             {                 is = conn.getInputStream();                 baos = new ByteArrayOutputStream();                 int len = -1;                 byte[] buf = new byte[128];                 while ((len = is.read(buf)) != -1)                 {                     baos.write(buf, 0, len);                 }                 baos.flush();                 String result = baos.toString();                 return result;             } else             {                 throw new Exception("服务器连接错误!");             }         } catch (Exception e)         {             e.printStackTrace();         } finally         {             try             {                 if (is != null)                     is.close();             } catch (IOException e)             {                 e.printStackTrace();             }             try             {                 if (baos != null)                     baos.close();             } catch (IOException e)             {                 e.printStackTrace();             }             conn.disconnect();         }         return "";     }               public static void main(String args []){                     //msg参数就是传输过去的对话内容。                         System.out.println(opUrl("http://www.weilaitec.com/cigirlrobot.cgr?key=UTNJK34THXK010T566ZI39VES50BLRBE8R66H5R3FOAO84J3BV&msg=你好&ip=119.25.36.48&userid=jackli&appid=52454214552"));                  } }

 

最新回复(0)