内存管理也是他必须克服的一大难题。llama2模型的大小达到60MB,而Xbox360的内存架构为统一内存,这意味着CPU和GPU需要共享同一块内存。这使得David在内存使用设计上必须十分谨慎。他认为,尽管Xbox360的内存有限,但其架构在当时却极具前瞻性,预示了现代游戏机和APU的标准内存管理技术。

image.png

经过不断的编码和优化,David最终在Xbox360上成功运行了llama2模型,只需输入一个简单的提示:“瞌睡乔说”。值得一提的是,llama2模型仅有700行C代码,且无外部依赖,使其在特定领域的定制化下展现出“令人惊叹”的强大性能。

David的成功为其他开发者提供了新的思路。有用户提出,Xbox360的512MB内存或许也能支持其他小型LLM的实现,例如Hugging Face公司开发的smolLM。对此,David表示欢迎,并相信未来我们可能会看到更多关于LLM在Xbox360上的实验成果。