DeepMind
Google AI部门DeepMind曾经以AlphaGo击败棋王一时声名大噪,本周DeepMind宣布最新AI模型研发成果AlphaDev,可加速资料中心运行速度并具节能之效。
AlphaDev是以精通下棋及电玩游戏的AlphaZero(曾经击败过AlphaGo)和MuZero模型改良而成。两者後来改以优化资料中心和影像压缩为主轴。而AlphaDev则是AlphaZero的特化版,它发现新的资料排序(sorting)及杂凑(hashing)演算法,可加速软体程式码的执行。
AlphaDev找寻新演算法是从让电脑读取的低阶程式指令,而非人类撰写如C++之类的高阶语言着手。他们相信,低阶的组合指令比高阶程式语言更容易找到改善空间,电脑储存和运算在这个层次更为弹性,意谓更容易有突破性的技术,以提升速度或降低耗能。他们希望能由AlphaDev找到新的资料排序及杂凑演算法,因为这是今天人们资料排序、储存及检索的二个最基本流程。排序演算法能影响数位装置处理和显示资讯,从搜寻或社群网站贴文排序、或使用者推荐等。
作为AlphaZero的变种,AlphaDev也是增强学习(reinforcement learning)模型。为了训练AlphaDev寻找新演算法,研究人员将排序变成一人玩家的「组合游戏」。每回合AlphaDev都观察它产生的演算法及由CPU取得的资讯,然後再选取一个指令加入演算法再展开下回合。AlphaDev必须要从非常多的指令组合中找出排序演算法,每回合再找出更快、更好的演算法。而指令组合数量,大概等同於宇宙的分子数量,或是西洋棋(10的120次方)与围棋(10的700次方)棋步。而走错任何一步,整个演算法可能就没用了。研究人员会从两方面来奖赏AlphaDev的排序,一是正确性,二是效率、速度。
最後AlphaDev发现到新的演算法,可改善低阶虚拟机器(LLVM)libc++排序函式库的速度,在较短(3到5 element)序列可提升70%,而在超过25万个element的长序列则提升1.7%。短序列的演算法是DeepMind研究重点,因为更为常用。DeepMind指出,在简单的使用者搜寻任务上,AlphaDev演算法可提升排序速度,但一旦应用到更大规模环境,例如资料中心,将能大量节能及省下成本。
寻找杂凑演算法也是AlphaDev的任务之一。杂凑常用於资料储存和检索,如资料库中。AlphaDev找到的演算法应用在资料中心内9到16 byte的杂凑函式时,可提升30%的效率。
自从发表用於LLVM标准C++函式库的排序演算法来取代用了十多年的副程式(sub-routines),及发表用於abseil函式库的杂凑演算法,已有数百万次下载,这些演算法已用於各种产业,包括云端、线上购物和供应链管理。
DeepMind预期,一如其演算法从下棋开始跨到资料中心运算,未来有更多通用型AI模型会进一步用於现代生活。