Meta AI的Llama语言模型经修改后可在有20年历史的Xbox 360上运行

摘要:

开源项目llama2.c旨在完全使用C代码运行轻量级版本的Llama 2模型。 这个"婴儿"Llama 2 模型受到 llama.cpp 的启发,llama.cpp 是一个为在从本地设备到云平台等各种硬件上实现 LLM 推理而创建的项目。 现在,这些紧凑的代码实验已被用于在几乎所有带芯片的设备上运行人工智能技术,凸显了人工智能工具日益增长的可访问性和多功能性。

在看到 Exo Labs 在运行 Windows 98 的古老 Pentium II 上运行一个大型语言模型后,开发者 Andrei David 决定接受一个更加非传统的挑战。 他从自己的 Xbox 360 游戏机上掸掉灰尘,开始强迫这台使用了近二十年的机器加载 Meta AI 的 Llama LLM 系列中的人工智能模型。

David 在 X 上分享说,他成功地将 llama2.c 移植到了微软 2005 年的游戏机上。 然而,这一过程并非没有重大障碍。 Xbox 360 的 PowerPC CPU 是big-endian架构,因此需要对模型的配置和权重进行大量的 endianness 转换。 此外,他还必须对原始代码进行大量调整和优化,使其能够在老化的硬件上运行。

内存管理是另一项重大挑战。 60MB 的 llama2 模型必须经过精心设计,以适应 Xbox 360 的统一内存架构,即 CPU 和 GPU 共享同一个内存池。 大卫认为,Xbox 360 的内存架构在当时是非常具有前瞻性的,它预示了现代游戏机和 APU 的标准内存管理技术。

经过大量的编码和优化,戴维成功地在他的 Xbox 360 上运行了 llama2,只用了一个简单的提示:"瞌睡乔说"。 尽管 llama2 模型只有 700 行 C 代码,没有任何外部依赖性,但戴维指出,如果针对足够狭窄的领域进行定制,它可以提供"令人惊讶"的强大性能。

图片.png

大卫解释说,在 Xbox 360 这种有限平台的限制下工作,不得不优先考虑内存的高效使用。 对此,另一位 X 用户提出,微软老式游戏机的 512MB 内存可能足以运行其他小型 LLM 实现,例如人工智能初创公司 Hugging Face 创建的 smolLM。

开发者欣然接受了挑战,因此在不久的将来,我们很可能会在 Xbox 360 上看到更多的 LLM 实验。

我们在FebBox(https://www.febbox.com/cnbeta) 开通了新的频道,更好阅读体验,更及时更新提醒,欢迎前来阅览和打赏。
查看评论
created by ceallan