因为我在研发机器学习编译器,而且编译器大体上就是个复杂艰深些的软件项目,所以我敢自称编译器人。但是前两天看到王垠的高论*有点受打击,加上编程语言理论全是数学有些吓人,不敢自称编程语言理论人……
@peko20 如果只是NV卡到手机这种场景也还好。实际上现在各种机器学习加速芯片满天飞,如果你有M种模型,N种平台要部署,那就出现了可怕的M×N问题……
@fulkrum 竟然还要部署到手机,可便携式式 AI 是吗
@peko20 对,比如Hi, Siri的一些语音识别功能就是本地计算。这样隐私和延迟都更好,更别提自动驾驶这种性命攸关的应用了……
@peko20 您如果留意的话,这几年手机商家都在宣传自己手机上的机器学习加速功能。苹果好像是A12开始称作「仿生」芯片,意指其附带了ML加速模块;高通的芯片也带了类似模块;谷歌前两年在Pixel手机上搞了个TPU,应该就是Google Cloud上TPU的底配版……
@fulkrum 仿生……好浮夸 😕
@peko20 概括来看这类软件在变换机器学习模型(高维数组),就像编译器在变换计算机程序,故名机器学习编译器。但这并不是说二者如同印度和印度尼西亚。实际这类软件的设计和技术也如同传统编译器,变换的过程由前端、IR、后端以及若干Pass组成,同时也要根据硬件后端开发或对接相应的Codegen。