IT之家12月30日消息,一个名为EXOLabs的组织今日在社交媒体上发布了一段视频,展示了一台运行Windows98系统的26年高龄的奔腾II电脑(128MB内存)成功运行大型语言模型(LLM)的情形。随后,EXOLabs在其博客上发表了一篇详细文章,进一步阐述了这个项目的细节,以及其“普及人工智能”的愿景。
IT之家注意到,视频中一台350MHz的Elonex奔腾II电脑启动Windows98后,EXOLabs运行了基于AndrejKarpathy的Llama2.c开发的定制纯C推理引擎,并让LLM生成了一个关于“SleepyJoe”的故事。令人惊讶的是,整个过程运行流畅,故事生成速度也相当可观。
EXOLabs由牛津大学的研究人员和工程师组成,于今年9月正式对外亮相,其使命是“普及人工智能”。该组织认为,少数大型企业控制人工智能会对文化、真相以及社会其他基本方面造成负面影响。因此,EXOLabs希望“构建开放的基础设施,以训练前沿模型,并使任何人都能在任何地方运行它们”,从而让普通人也能在几乎任何设备上训练和运行AI模型。此次在Windows98上运行LLM的壮举,正是对这一理念的有力证明。
根据EXOLabs的博客文章,他们从eBay上购得了一台老式Windows98电脑。然而,将数据传输到这台老机器上却是一个挑战,他们最终通过其以太网端口使用“古老的FTP”完成了文件传输。
更大的挑战在于为Windows98编译现代代码,幸运的是他们找到了AndrejKarpathy的llama2.c,这是一个“用700行纯C代码即可在Llama2架构的模型上运行推理”的工具。借助这一资源以及老式的BorlandC++5.02IDE和编译器(以及一些小的调整),EXOLabs成功将代码编译成可在Windows98上运行的可执行文件。他们还在GitHub上公开了最终代码。
EXOLabs的AlexCheema特别感谢了AndrejKarpathy的代码,并对其性能赞叹不已,称其在使用基于Llama架构的26万参数LLM时,在Windows98上实现了“每秒35.9个token”的生成速度。值得一提的是,Karpathy曾任特斯拉人工智能主管,也是OpenAI的创始团队成员之一。
虽然26万参数的LLM规模较小,但在这台古老的350MHz单核电脑上运行速度相当不错。根据EXOLabs的博客,使用1500万参数的LLM时,生成速度略高于每秒1个token。而使用Llama3.210亿参数模型时,速度则非常缓慢,仅为每秒0.0093个token。
EXOLabs的目标远不止于在Windows98机器上运行LLM。他们在博客文章中进一步阐述了其对未来的展望,并希望通过BitNet实现人工智能的普及。
据介绍,“BitNet是一种使用三元权重的transformer架构”,使用这种架构,一个70亿参数的模型只需要1.38GB的存储空间。这对于一台26年前的奔腾II来说可能仍然有些吃力,但对于现代硬件甚至十年前的设备来说,都非常轻量级的。
EXOLabs还强调,BitNet是“CPU优先”的,避免了对昂贵GPU的依赖。此外,据称这种类型的模型比全精度模型效率高50%,并且可以在单个CPU上以人类阅读速度(约每秒5到7个token)运行一个1000亿参数的模型。