致敬TempleOS,有開發(fā)者創(chuàng)建了啟動Llama 2的操作系統(tǒng),網(wǎng)友:8G內(nèi)存老電腦就能跑
自 Meta 發(fā)布開源大模型 Llama 2 以來,圍繞著該模型的「二創(chuàng)」項目便多了起來。
此前 7 月,特斯拉前 AI 總監(jiān)、重回 OpenAI 的 Andrej Karpathy 利用周末時間,做了一個關(guān)于 Llama 2 的有趣項目 llama2.c,讓用戶在 PyTorch 中訓(xùn)練一個 baby Llama 2 模型,然后使用近 500 行純 C、無任何依賴性的文件進(jìn)行推理。
今天,在 Karpathy llama2.c 項目的基礎(chǔ)上,又有開發(fā)者創(chuàng)建了一個啟動 Llama 2 的演示操作系統(tǒng),以及一個調(diào)用用戶模式助手進(jìn)行 Llama 2 推理的內(nèi)核模塊。該項目名為 Llama 2 Everywhere(簡稱為 L2E)。
不過,作者也表示,當(dāng)前的系統(tǒng)要求是 512MB RAM 和 x86_64(64 位)PC,可用性有待提升。
同時,這個項目還藏有一些彩蛋,比如《毀滅戰(zhàn)士》游戲,不過必須解答謎題才能找到它。
項目地址:https://github.com/trholding/llama2.c
Andrej Karpathy 也轉(zhuǎn)發(fā)了這個新項目,表示它具備了「獨立運行、二進(jìn)制、便攜和可啟動」等特性。他預(yù)計自己的 llama2.c 項目將走向成功,這個新項目擴展了想象力。
L2E 得到了各路網(wǎng)友的認(rèn)可,有人表示,這真是太棒了?;旧峡梢栽谌魏闻f筆記本上啟動,并且可以僅在 CPU 上運行,8G 內(nèi)存就夠了,16G 更好。
也有人覺得該項目非常像為上帝開發(fā)的操作系統(tǒng) TempleOS(它由已故天才程序員 Terry Davis 獨自開發(fā)),但項目作者表示自己只是對 Terry 和 TempleOS 的致敬。
L2E 僅僅使用 Linux 內(nèi)核和一些知識構(gòu)建了一個操作系統(tǒng),與 Terry 從頭開始構(gòu)建的操作系統(tǒng)存在天壤之別。
接下來了解一下 L2E 項目的初衷、Demo 和特性。
L2E 項目介紹
項目作者表示,L2E 旨在確保其在各種設(shè)備上的兼容性,比如在 chromebook 上啟動、在企業(yè)高密度 unikernel 上部署。
未來,通過利用大量具備適度硬件要求的網(wǎng)絡(luò)化、分布式和自協(xié)調(diào)的小規(guī)模專業(yè) LLM,該項目有潛力釋放超越單個大規(guī)模 LLM 的群體智慧。
目前,L2E 顯著的用例是在不同文本源上訓(xùn)練小規(guī)模模型,包括教科書、開放書籍和 SlimPajama 語料庫等。這些經(jīng)過訓(xùn)練的模型使用 L2E 進(jìn)行部署,從而作為可啟動實例在老舊過時的學(xué)校計算機上運行。這種部署方案可在互聯(lián)網(wǎng)連接有限或網(wǎng)絡(luò)不可用的學(xué)校圖書館或教室中發(fā)揮重要價值。
項目的最終目標(biāo)是創(chuàng)建一個包容性的 AI 生態(tài)系統(tǒng),能夠適應(yīng)多樣化的環(huán)境,并在全球范圍內(nèi)為個人和社區(qū)賦能。
此外通過使用各種硬件遙測數(shù)據(jù)訓(xùn)練,希望模型能夠?qū)W會解釋傳感器輸入并根據(jù)從傳感器輸入中收集的 insight 來控制執(zhí)行器。這一研究方向可能會在自動化、太空、機器人和物聯(lián)網(wǎng)等領(lǐng)域發(fā)揮作用,而 L2E 將對彌合 AI 和物理系統(tǒng)之間的差距發(fā)揮關(guān)鍵作用。
L2E Demo 展示
項目作者展示了啟動 Llama 2 的一些示例。
如下為 Linux 內(nèi)核的 L2E 操作系統(tǒng),現(xiàn)在可以在計算機上真正啟動并推理 Llama 2 模型了。
此外可以做 cat /dev/llama 并回顯 "Sudo make me a sandwich!" > /dev/llama 等命令,或者傳遞一個內(nèi)核參數(shù) l2e.quest="What is the meaning of life?"。
最后還可以在大型企業(yè)服務(wù)器上啟動并推理一組 1000 個 Virtural Baby Llama 2 模型。
L2E 具備很強的便攜性,可以在任何 x86_64 操作系統(tǒng)上運行單個可執(zhí)行文件,比如 Windows、GNU Linux、GNU/Systemd、NetBSD、OpenBSD 等。獨立性則表現(xiàn)在可以通過 ZipOS (cosmocc)、INCBIN、strliteral 嵌入模型和 tokenizer。L2E 可以在 CPU/GPU 上運行。
更多細(xì)節(jié)內(nèi)容請參閱原項目。