今天双十一,收到我的那本《机器学习算法的数学解析与Python实现》的二刷样书,心里一阵感慨。
写书像是一场漫长的长跑,中途好几次都觉得绞尽脑汁的认真未必就能换得认可,忍不住想要把键盘一扔就放弃算了。十分感谢亲们和华章各位老师的大力支持,除了谢谢谢谢谢,还想多说两句什么,又不知道该说些什么
头条介绍的是TinyML,在写这篇文章的时候,中文圈子对TinyML的讨论少得奇怪,更奇怪的是,最近对TinyML的讨论好像一下全冒了出来,连“下一代机器学习”这样的大旗子也支棱起来了,有一点催人跑的意思。
TinyML要重视起来我是认可的,不过呢,虽然我也写了TinyML的文章,可是直接就说TinyML是下一代,未免也太向流量折腰了。
人类从来就按捺不住对未来的好奇,机器学习的公众号也特别爱用某某模型算法是下一代的机器学习/深度学习这样的文字做标题。不过,至少在机器学习这里,这种说法本身其实隐藏了一个错误的假设:
机器学习技术是沿着线性轨道发展的,总有新的模型等在前面准备一战封神。结果呢,大家老三心二意,觉得眼下的模型行将就木,总想要追逐潮流学一点“新”的东西。
实际真是这样吗?未必。
我们都知道,现在最热的机器学习技术,叫深度学习。深度学习是2012年火起来的,但知道的人都知道,深度学习并不是2012年才有的技术。那它的前身是什么呢?是神经网络,一个发展了快有半个世纪的机器学习模型。
神经网络很波折,好几次被寄予厚望,又好几次被盖棺定论,认为是死路一条。可是,神经网络也很顽强,第N次走投入路,就有第N+1次的绝处逢生,最近一次是90年代被支持向量机虐得满地找牙,差点一口气续不上来,可是也就十来年功夫,就又靠着深度学习满血复活,甚至更加辉煌。
把神经网络的发展轨迹连起来,就能清晰看到,它一直是在螺旋上升。这不是孤例,这么多的机器学习模型,没有哪款觉得自己就该到此为止,不是正在大放异彩,就是正在继续力量,随时等待着大放异彩。
没准在机器学习的下一个路口,我们遇到的还会是老朋友。
说回到TinyML。
对于TinyML的介绍,头条文字应该已经比较清楚了,不过,有一个观点我还想再啰嗦一遍:学习机器学习,最忌捧高踩低,TinyML即将迎来大发展,并不意味着大模型就准备过气。
但从性能来说,“大便是美”的大原则,即使在下一个时代也不会变,我最近在用Bert做项目,就有很深的体会。同样的代码,把Base换成Large,其它什么都不动,性能就能提升10%。唯一要做的,就是不断升级硬件。这种通过简单氪金就能显著提升性能的玩法,相信怎么也不会过时。
不过呢,头条我也说了,现实中总会有很多场景,是谢绝氪金的,对于性能和耗能成正比的大模型来说,就是十动然拒的自动发卡姬,未来机器学习想要更广泛地应用,想要冲破禁区给这些场景带来智能,创造更多的可能性,TinyML是一条值得探索的路子。
在这种情况下,TinyML确实是名副其实的“下一代机器学习”。