百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

Windows 98也能跑AI!26年前的“老古董”玩转大模型Llama,每秒生成39个token

yuyutoo 2025-01-12 19:58 3 浏览 0 评论

整理 | 屠敏
出品 | CSDN(ID:CSDNnews)

被淘汰的“古董电脑”不一定非得走上“被卖掉换脸盆”的命运。有时稍加改造,它不仅能继续用,还能运行时下前沿的大模型!

最近,一个名为 EXO Labs 的团队发布了一段视频,展示了在一台有着 26 年历史的 Windows 98 Pentium II PC 上运行强大的 LLM 的经历。令人惊讶的是,这一过程成功了,而且大模型生成速度相当不错,每秒能有 39.31 个 token 的输出速度!

EXO Labs 表示,前沿 AI 并不一定非要依赖数据中心运行。他们这一次让 Llama 在一台运行 Windows 98 的奔腾 II 电脑上复活,这意味着——“如果它能跑在 25 年前的硬件上,那就说明它可以跑在任何地方!

那么他们究竟是怎么实现的?我们将通过下文一起来了解一下~~

硬件设置

为了详细地说明,EXO Labs 还发布了一篇主题为《在 Windows 98 上运行 Llama》的博客文章进行了步骤解析与痛点难点分享。

首先在硬件方面,EXO 在 eBay 上花费了 118.88 英镑(约 1087 元)购买了一台 Windows 98 Pentium II PC 作为实验基础设备,其配备 128MB RAM,正如下图所示:

不难想象,5 年前的手机和电脑今天使用时还会遇到不少问题:一方面运行非常卡顿,另一方面许多设备也可能不兼容,更别提这台 26 年前的老旧设备了。

正因此,在把这台设备收到手后,EXO 就发现了现代 USB 键盘和鼠标根本无法与这台电脑配合使用,这是需要解决的首要难题。

经过一番思考,EXO 提出了一个解决方案——放弃现代 USB 外设,回归使用 PS/2 外设。毕竟,在那个年代,PS/2 接口是标准配置,Windows 98 与这类硬件天然兼容。

然而,使用 PS/2 键盘和鼠标时,该团队还遇到了一个有趣的“限制”:必须将鼠标插入 PS/2 的端口 1,键盘插入端口 2,否则系统无法正确识别这些外设。

文件传输:回归老旧的 FTP 协议

上面这个问题解决之后,接下来的挑战是将文件传输到这台老旧机器上。因为想要在这台 Windows 95 设备上运行大模型,就必须要传输模型权重、标记器配置(tokenizer configs)和推理代码等。

然而,该团队尝试了之后,现代解决方案全都失败了,其中:

  • 系统无法识别可重写磁盘(RW disks)

  • 4TB 的 USB 硬盘因 FAT32 文件系统限制而无法使用

没有其他办法,EXO 团队成员最终选择了经典的 FTP。

事实证明,FTP 在这些年里始终保持了向后兼容性。EXO 团队通过在一台 M4 MacBook Pro 上运行 FileZilla FTP 服务器,通过 USB-C 转以太网适配器的方式将其连接到 Windows 98 机器,设置静态 IP 后,可以直接通过命令行传输文件。

为了让 MacBook 的 USB-C 以太网适配器与 Windows 98 通信,该团队将其 IP 地址手动设置为 192.168.1.1,并验证了连接是否正常。

一个简单的 ping 测试证明两台设备可以成功互相通信:

  • Windows 98 命令提示符显示 ping 成功

  • Windows 98 与 MacBook 的延迟小于 1 毫秒

网络连接建立后,现在终于可以通过 FTP 传输文件。不过其中还有一个关键问题:可执行文件无法运行。

该团队发现,它们需要以二进制模式传输。解决方法也很简单——只需在 FTP 命令行中输入 binary 即可:

通过二进制模式成功传输 stories260K.bin 文件

编译挑战

让现代代码在 Windows 98 上进行编译想想都是一项非常棘手的任务。

最初,该团队希望尝试 mingw,这是一个用于在 Windows 操作系统上开发原生应用程序的开发工具集。它包含了一些 GNU 工具(如 GCC 编译器),使得开发者可以使用类似 Unix 的开发环境来编译和构建 Windows 应用程序,据称也可以为 Windows 98 和奔腾 II 编译现代 C++。

令人遗憾是,这条路行不通——可能是因为 CMOV(条件传送)指令不被奔腾 Pro 之前的处理器支持。因此,早期的奔腾 II 处理器(即奔腾 Pro 之前的版本)不支持这一指令。当编译器尝试在不支持 CMOV 的旧处理器上使用这一指令时,程序可能会出现错误或无法编译。

于是该团队继续采取了复古方案:使用 26 年前的 Borland C++ 5.02,这是一个可以直接在 Windows 98 上运行的 IDE 和编译器。

不过,这个 IDE 只支持非常老旧的 C/C++ 版本,无法支持现代 C++。好在 C 语言在近几十年间变化不大,要说最大的一次变更还是 1999 年的 C99 标准。这种旧版本的 C 主要限制是无法在函数中任意位置声明变量——所有变量都必须在函数开头声明。

尽管老旧,但 Borland C++ 5.02 依然“能干活”

感谢 Karpathy 的助力

为 Windows 98 编译现代代码,该团队最终选择了曾担任 Tesla 的 AI 总监、也是 OpenAI 的创始团队成员之一 Andrej Karpathy 开发的 llama2.c。此前,我们也曾报道过,llama2.c 是一个仅有 700 行的纯 C 代码的推理引擎,可以运行基于 Llama 2 架构的模型推理。

虽然这一项目非常合适作为此次实验运行的模型,但 EXO 团队成员认为,仍需要针对奔腾 II 和 Windows 98 进行一些调整:

  • 将 long long 替换为 DLONGWORD(通过 typedef 实现)

  • 将所有变量声明移动到函数开头

  • 简化了磁盘到内存的加载(内存映射会导致段错误)

  • 用 GetTickCount() 替换了 clock_gettime 解决时间戳问题

因此,他们将 llama2.c 进行优化调整之后得到了一个 llama98.c 项目,并将其完成的代码在 GitHub 上开源出来:https://github.com/exo-explore/llama98.c。

借助这些资源,该团队成功地将代码编译为可在 Windows 98 上运行的可执行文件。

260K 参数的 Llama 模型在 Windows 98 上运行,生成了一个关于 Sleepy Joe 的故事

运行结果

最终成功了!以下是在奔腾 II CPU(无需 GPU)上运行的测试结果如下:

对此,EXO 的成员之一 Alex Cheema 表示,在运行一个 260K 参数量的 Llama 架构模型时,这套系统在 Windows 98 上达到了每秒 39 token 的生成速度。当然,260K 的模型规模相对较小,但在一台 350 MHz 单核古董 PC 上,这样的运行速度已经相当可观了。

根据上述结果显示,当升级到 15M 参数量的 LLM 后,生成速度降到了略高于 每秒 1 token。然而,当尝试运行 Llama 3.2 的 1B 参数量模型时,速度则降到了极其缓慢的每秒 0.0093 token。

虽然速度远不及 ChatGPT,但能让现代 AI 模型在 25 年前的 CPU 上运行是一个重要里程碑。

未来更多的可能性

EXO Labs 之所以做这样的试验,也并非没有缘由。这家略显神秘的组织成立于今年 9 月成立,主要成员来自牛津大学的研究人员和工程师,他们希望“让每个人都能平等地获取 AI 技术。”

简单来说,EXO 认为,由少数几家巨头公司掌控 AI 技术对文化、事实真相以及社会的其他基本方面是极其不利的。因此,EXO 的愿景是“构建开放的基础设施,用于训练前沿模型,并使任何人能够在任何地方运行它们。”

通过这种方式,普通人也有希望在几乎任何设备上训练和运行 AI 模型。而这次看似疯狂的 Windows 98 AI 实验,正是有限资源下 AI 能力的标志性演示。

对此,在博文中,EXO 表示,希望通过 BitNet 实现 AI 的普惠化。

BitNet 是一种新的人工智能模型架构,旨在通过使用三元权重(ternary weights)来实现更高效的模型运行。与传统的深度学习模型使用浮点数(如 32 位或 64 位)表示权重不同,BitNet 的权重值只使用三个可能的值:0、-1 和 1,每个权重仅需 1.58 比特存储空间(log?(3) ≈ 1.58)。这种简化的权重表示可以显著减少模型的存储需求和计算量,从而使得模型能够在硬件资源有限的设备上运行。

EXO 称,利用这种架构

  • 70 亿参数的 BitNet 模型仅需 1.38GB 存储空间。这对一台 26 年前的奔腾 II 来说可能仍然是巨大的负担,但对于现代硬件,甚至是十几年前的设备而言,已经相当轻量了。

  • 它以 CPU 优先为设计理念,微软的 BitCPP 可以在 M2 Ultra CPU 上实现 52 tokens/秒的生成速度,在 Intel i7 上生成速度为 18 tokens/秒

  • 更令人惊叹的是,100B 参数的 BitNet 可以在单个 CPU 上以 5-7 tokens/秒的人类阅读速度运行

  • 它比全精度模型能效高 50%以上

“虽然目前还没有大型开源 BitNet 模型,但我们相信三值模型是实现普惠 AI 的未来”,EXO Labs 说道,其也希望看到更多的努力致力于在老旧硬件上运行 AI 模型,因为这方面还有大量的工程工作要做——从优化内存使用到探索可以高效运行于受限硬件的新架构。

对于这一尝试,面对有人质疑其实用性,EXO Labs 在社交平台 X 上再次强调,「这是硬件非常受限的一个例子。因此,结论是:如果我们能在此基础上实现,那么几乎可以在任何地方运行语言模型。」

参考:

https://blog.exolabs.net/day-4/

https://x.com/unwind_ai_/status/1873574158485111110

相关推荐

建筑福利-pdf转dwg格式转换器,再也不用描图-极客青年

作为一名经常熬夜画图的建筑狗或者cad用户,你体验过pdf图纸描图到cad吗?前几天一个老同学找我,说他的毕业设计需要我帮忙,发给我一份pdf图纸文件,问我怎么把pdf图纸转换成dwg格式。机智的我灵...

想学 HTML,不知从何入手?看完这篇文章你就知道了

很多人都说HTML是一门很简单的语言,看看书,看看视频就能读懂。但是,如果你完全没有接触过,就想通过看一遍教程,背背标签,想要完全了解HTML,真的有点太天真了。HTML中文...

「前端」HTML之结构

今天继续为大家分享前端的知识,如果对前端比较感兴趣的小伙伴,可以关注我,我会更大家继续分享更多与前端相关的内容,当然如果内容中又不当的或者文字错误的,欢迎大家在评论区留言,我会及时修改纠正。1.初识H...

手把手教你使用Python网络爬虫下载一本小说(附源码)

大家好,我是Python进阶者。前言前几天【磐奚鸟】大佬在群里分享了一个抓取小说的代码,感觉还是蛮不错的,这里分享给大家学习。...

用于处理pdf文件格式的转换器

在上传过程中如果单个文件太大则容易中断,而且文件太大的话对与存储也有些弊端。那么我们应该想到将文件进行压缩(注意这里压缩指的是不改变文件格式的压缩,而不是用变成压缩文件。这里就将以下用专门的软件压缩P...

乐书:在线 Kindle 电子书制作和转换工具

之前Kindle伴侣曾推荐过可以在Windows和Mac系统平台上运行的kindle电子书制作软件Sigil(教程),用它可以制作出高质量的的ePub格式电子书,当然最后还需要通...

付费文档怎么下载?教你5种方法,任意下载全网资源

网上查资料的时候,经常遇到需要注册登录或者付费的才能复制或者是下载,遇到这种情况大多数人都会选择重新查。...

捡来的知识!3种方法随便复制网页内容,白嫖真香呀

网上的资源真的多,所以许多人常常会从网上找资料。我们看到感兴趣的内容,第一时间可能会想要收入囊中。比如说截个图啊,或者挑选有意思的句子复制粘贴,记录下来。可是,有些时候,却会遇到这样的情况:1、内容不...

AI的使用,生成HTML网页。

利用deepseek,豆包,kimi以及通义千问,写入相同的需求。【写一个网页,实现抽奖功能,点击“开始”,按键显示“停止”,姓名开始显示在屏幕上,人员包括:“张三”,“里斯”,“Bool”,“流水废...

pdf转换成jpg转换器 4.1 官方正式版

pdf转换成jpg工具软件简介pdf转换成jpg转换器是一款界面简洁,操作方便的pdf转换成jpg转换器。pdf转换成jpg转换器可以将PDF文档转换为JPG,BMP,GIF,PNG,TIF图片文件。...

办公必备的office转换成pdf转换器怎么用?

2016-02-2415:53:37南方报道网评论(我要点评)字体刚从校园走出社会,对于快节奏的办公环境,难免会觉得有些吃力。在起步阶段力求将手头上的事情按时完工不出错,但是渐渐的你会发现,别人只...

为什么PDF转Word大多要收费?

PDF转Word大多都要收费?并非主要是因为技术上的难度,而是基于多方面的商业和版权考虑的,下面给大家浅分析下原因:...

如何用python生成简单的html report报告

前提:用python写了一个简单的log分析,主要也就是查询一些key,value出来,后面也可以根据需求增加。查询出来后,为了好看,搞个html表格来显示。需要的组件:jinja2flask...

学用系列|如何搞定word批量替换修改和格式转换?这里一站搞定

想必不少朋友都会碰到批量修改word文档内容、压缩文档图片、文件格式转换等重复性文档处理工作的需要,今天胖胖老师就推荐给大家一个免费工具XCLWinKits,一站搞定你所有的需要。什么是XCLWinK...

这款PDF文档转换神器,能帮你解决PDF使用中的许多难点

不管是平时的学习还是工作,相信许多朋友都经常接触PDF文件。可以说,PDF文件在我们的日常办公学习过程中的重要性和Word文档一样重要。在之前的更新中,小编介绍了几款非常不错的PDF文档格式转换软件,...

取消回复欢迎 发表评论: