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 程式碼,沒有任何外部依賴性,但戴維指出,如果針對足夠狹窄的領域進行定制,它可以提供”令人驚訝”的強大性能。
大衛解釋說,在Xbox 360 這種有限平台的限制下工作,不得不優先考慮記憶體的高效使用。 對此,另一位X 用戶提出,微軟老式遊戲機的512MB 記憶體可能足以運行其他小型LLM 實現,例如人工智慧新創公司Hugging Face 創建的smolLM。
開發者欣然接受了挑戰,因此在不久的將來,我們很可能會在Xbox 360 上看到更多的LLM 實驗。