“纳米光学先驱”师生档详解光计算,全球首款商用光子芯片即将问世-1

 

“纳米光学先驱”师生档详解光计算,全球首款商用光子芯片即将问世-1


10 月 25 日,由中国工程院、中国光学工程学会主办的 “第二届未来技术与颠覆性创新国际大会暨第 310 场中国工程科技论坛” 在杭州市盛大召开。
 这是一场业内顶级峰会,大会开幕由中国工程院工程管理学部胡文瑞院士进行主持,中国工程院原副院长、本次大会主席杜祥琬院士,第十三届全国人大常委、环资委副主任委员、中国工程院原副院长赵宪庚院士,及阿里巴巴技术委员会主席王坚院士在内的多名国内外知名学者、院士莅临参加。 本次大会汇聚全国八百余位专家学者和代表到会,上万人在线参与直播观看,会议主要围绕对经济发展和社会进步有重要作用和深远影响的未来技术、颠覆性创新主题进行大会学术交流。并针对电子信息、未来芯片、能源、人工智能和生物信息等五大重点方向举行专题学术研讨,以及国际对接交流。
其中,涉及到光学、计算机科学、芯片制造等多个科学技术门类的 “光子芯片”,因为其前瞻性和对当前世界格局的颠覆性潜力而备受瞩目。
来自麻省理工学院的纳米光学先驱、“麦克阿瑟天才奖” 获得者马林・索利亚奇(Marin Soljačić)教授、及源自麻省理工学院的光子计算硬件开发公司曦智科技(Lightelligence)联合创始人兼 CEO 沈亦晨博士就 “光子芯片” 技术的发展和应用在主论坛作了精彩演讲,现由 DeepTech 整理如下。

由于疫情的原因,Marin 教授本人没有到场,而是以视频的方式详细介绍了光计算产生的背景、技术优势和演进历程。本部分内容绝大部分整理自 Marin 和沈亦晨的演讲,并适当作了补充。


光计算 —— 从概念到产品
随着时代的发展,诸如阿里巴巴这样的公司,拥有了越来越多的数据。人们可以基于此建立强大的人工智能模型,但与此同时,对计算机算力的要求也水涨船高。
过去,硬件能力按照摩尔定律持续增长,算力方面的瓶颈还没有那么明显,但显然现在这个时刻,它开始 “失效” 了,硅基芯片开始逐渐到达物理极限,人们必须寻找更新、更高效的计算方式。
同时,超高算力的计算机在能耗方面的问题也日渐凸显。

太湖之光的功率是 1.5 万千瓦时,大于 1.5 万台空调的能耗;而人脑工作一天只需要一个汉堡包。这是六个数量级的差距,或许这说明计算这个过程并不一定需要耗费如此巨量的能源。因此,尝试不使用硅基芯片,或者说不使用电子计算是一个可能的方向,于是 Marin 结合前期的研究,提出了光计算设想。
现有的研究已经证明,光计算在处理某些问题时,能力明显优于电子运算,例如“矩阵乘法”,使用光可以基本上零延时、零能耗完成。
矩阵乘法对人工智能神经网络非常重要。实际上,很难找到比神经网络更加依赖矩阵乘法计算的实例了。
这并不是 Marin 他们的独创,早在 1987 年便有人发表了此类论文,奈何当时并没有比较合适的应用领域,所以后来逐渐沉寂,但现在人工智能兴起,到了它焕发第二春的时候,因此为 “使用光计算矩阵乘法” 这一过程开发专门的硬件变得顺理成章。

以 Marin 的博士生沈亦晨为首的几名学生,在几年前承担了这个任务,他们很快发现这个路径是可行的,并且前景广阔。
光计算最基础的光学元件名为 MZI(马赫-曾德尔干涉仪),它本来用作观测从单独光源发射的光束分裂成两道准直光束之后,经过不同路径与介质所产生的相对相移变化。
在矩阵乘法中,MZI 的计算原理可以通俗地解释为,它有两条 “手臂”,通过某种方式改变两条手臂的光程,以此来改变光通过两条手臂之后相互干涉的结果。
图 | MZI 矩阵乘法原理图。具体流程是,进入 MZI 的相干光首先分为两部分,每半部分的相位调整不同。将具有不同相位的信号组合会导致相长或相消干涉,从而有效地调节通过 MZI 的光的亮度,该调节过程可被视为乘法运算。而当两道光线相遇,信号被有效地加在一起,即完成了一次光 MAC(Multiply-accumulate 乘积累加)。
目前的实验证明,光计算实现人工智能的识别率已经非常接近于传统的电子计算机,并且仍然存在非常大的改进空间。

最让人兴奋的地方在于,整个计算过程是瞬时无能耗的,并且光计算的时钟周期可以比电子计算机提高约 100 多倍。
短期内,光子计算机作为一个整体与电子计算机基于通用 Benchmark,在相同的节点之下,前者大概领先后者 5 到 10 倍,在一些特定算法(如退火),光子计算机可以达到百倍的提升。

“光子芯片” 发展时间表
2016 年,沈亦晨和导师 Marin 在 MIT 实验室初步验证了光子计算芯片的可行性。研究成果于 2017 年 6 月发表在顶级期刊  Nature Photonics,并荣登封面。

2017 年曦智科技成立,2019 年初,他们发布了全球首款光子芯片原型板卡。

2020 年,曦智科技已经打造了一支近 80 人的精干研发团队,并与全球领先的晶圆厂、封装厂产线达成战略合作,全部准备工作基本就绪。云计算服务商、运营商、金融集团等将成为曦智科技的第一批客户。

目前,曦智科技的光计算芯片由一个电子芯片和光子芯片垂直堆叠组成。沈亦晨说道,未来的光计算系统中,较大可能短期内离不开一块电子芯片,光子芯片可以理解为电子芯片的 “地铁”,它帮助电子芯片分担包括线性计算、数据传输、内存读取这些相对耗时的操作。
最大的挑战来自于对于光计算芯片上光学器件密度的提升。以目前的科技水平和制造工艺,曦智已经可以做到在一个芯片上集成数万个基础光学器件。
未来与展望
从 2017 年论文发表,到 2021 年第一代商用产品落地,看似短短的几年时间,其实是沈亦晨和团队星夜兼程的结果。
他说,未来曦智的光电芯片会做成 PCIe 板卡,集成到云计算服务器中,为需要算力的场景如城市大脑、自动驾驶、智慧金融、新材料、药物研发等提供强大支撑。
如果人工智能是一个拥有无限潜力开疆拓土的机器,那么高算力芯片将成为最核心的发动机。
光计算芯片将突破摩尔定律和电子芯片物理极限,大幅降低芯片能耗,让云计算机房摆脱对能源的依赖和带来更长的续航。同时,光子芯片有望帮助我国摆脱对先进制程技术的依赖,让低制程、高性能成为可能,一改当前的被动局面。
最后,光子芯片技术究竟颠覆的是什么?“首先,光子芯片提供了全新芯片设计架构思路,从把更多的处理同一任务的器件放在一起,到利用光学芯片作为传输,彻底颠覆原有的设计理念;此外,光子芯片激发人们对芯片性能极限的思考:当芯片性能极限不再受到工艺制程的限制,那么光子芯片的极限到底是什么?这种性能极限的突破对于应用场景意味着什么?这可能将会启发出更多新的想法。” 沈亦晨的话给光子芯片的发展留下了无穷的想象空间,也对会议主题作出了回应。
图 | 马林・索利亚奇(Marin Soljačić),1974 年出生于克罗地亚首都萨格勒布。1996 年获得麻省理工学院物理学和电气工程学士学位,1998 年获得普林斯顿大学理学硕士学位,2000 年获得物理学博士学位。2005 年,他成为麻省理工学院物理学教授。2008 年,他被授予麦克阿瑟奖,这是一个 “不附带任何条件” 的奖项,非官方称之为 “天才奖”。他的主要研究兴趣是人工智能以及电磁现象,重点是纳米光子学,非线性光学和无线电力传输。他是 200 多篇论文和 100 多项美国专利的合著者。
图 | 曦智科技联合创始人兼 CEO 沈亦晨,麻省理工学院物理学博士,师从麻省理工学院 Marin Soljacic 教授,拥有多年纳米光学和人工智能算法的科研经验。曦智科技成功开发出世界第一款光子芯片原型板卡,并且用光子芯片运行了 Google TensorFlow 自带的卷积神经网络模型来处理 MNIST 数据集,整个模型超过 95% 的运算是在光子芯片上完成。光子芯片处理的准确率已经接近电子芯片(97% 以上),另外光子芯片完成矩阵乘法所用的时间是最先进的电子芯片的 1% 以内。

 

道翰天琼CiGril机器人API

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

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

开始接入

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

请求方式:post

请求参数:

参数

类型

默认值

描述

userid  

String  

平台注册账号

appid  

String  

平台创建的应用id

key  

String  

平台应用生成的秘钥

msg  

String  

""

用户端消息内容

 

接口连接示例: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"));
            
    }
}