成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

26年前老年機跑Llama2,每秒39個token:你的AI PC,也可以是Windows 98

人工智能 新聞
這臺 PC 可能比你的年齡還大,要知道它已經是 26 年前的硬件了,配備英特爾奔騰 2 CPU 和 128MB 的內存。

讓 Llama 2 在 Windows 98 奔騰 2(Pentium II)機器上運行,不但成功了,輸出達到 39.31 tok / 秒。

這臺 PC 可能比你的年齡還大,要知道它已經是 26 年前的硬件了,配備英特爾奔騰 2 CPU 和 128MB 的內存。

該項目是一個名為 EXO Labs 組織的一次大膽嘗試,其證明了如果 Llama 模型能在 26 年前的硬件上跑通,那么它可以在任何地方運行。

圖片

為了證明這是真實發生的,EXO Labs 還放出了一段視頻。視頻顯示一臺古老的 350 MHz Elonex 奔騰 2 電腦啟動 Windows 98 后,然后啟動了基于 Andrej Karpathy 開發的 Llama2.c 定制的純 C 推理引擎,并要求 LLM 生成一個關于 Sleepy Joe 的故事。

令人驚訝的是,它成功了,故事的生成速度非常快。

不過,上述令人大開眼界的壯舉遠不是 EXO Labs 的最終目標。這個有點神秘的組織于 9 月正式成立,其使命是「讓人工智能普及大眾」。該組織由牛津大學的研究人員和工程師組成。簡而言之,EXO 認為少數幾家大公司控制人工智能對文化、真理和我們社會的其他基本方面來說是一件非常糟糕的事情。因此,EXO 希望建立開放的基礎設施來訓練前沿模型,并使任何人都可以在任何地方運行它們。通過這種方式,普通人幾乎可以在任何設備上訓練和運行人工智能模型 —— 而這個瘋狂的 Windows 98 運行大模型只是一個演示,展示了在(嚴重)有限的資源下我們可以做些什么。

正如讀者所料,EXO 輕而易舉地從 eBay 上買到了一臺舊的 Windows 98 PC 作為該項目的基礎,硬件有了,但仍有許多障礙需要克服。EXO 解釋說,將數據導入舊硬盤就是一項巨大的挑戰,因此他們只能使用老式 FTP(good old FTP)通過這臺古老機器的以太網端口進行文件傳輸。

然而,更大的挑戰是讓 Windows 98 編譯現代代碼。好在 EXO 找到了 Andrej Karpathy 的 llama2.c 項目。借助此資源和舊的 Borland C++ 5.02 IDE 和編譯器(加上一些小調整),可以將代碼制作成與 Windows 98 兼容的可執行文件并運行。

代碼已經開源。

圖片

項目地址:https://github.com/exo-explore/llama98.c

為了讓大家更好的了解這項研究,EXO Labs 還專門寫了一篇博客,通過這篇博客,我們看看具體實現過程。

硬件設置

首先,需要機器本身。我們在 eBay 上以 118.88 英鎊的價格找到了一臺 Windows 98 奔騰 II 電腦。

圖片

我在 eBay 上發現了這個泛黃的主機,一臺 Windows 98 奔騰 II,128MB 內存,售價 118.88 英鎊。

讓它與現代外圍設備一起工作是第一個挑戰,我們的 USB 鍵盤或鼠標都無法工作。解決辦法是重新使用傳說中的 PS/2 接口,但有一個問題要注意:鼠標必須放在端口 1,鍵盤放在端口 2。反向配置則行不通。

圖片

背板展示了 PS/2 端口、串行端口,以及至關重要的、后來被證明是必不可少的以太網端口。

文件傳輸:回歸 FTP

下一個挑戰是將文件傳輸到機器上。我們需要傳輸模型權重、tokenizer 配置和推理代碼。現代解決方案都失敗了:

  • 系統無法識別 RW 磁盤
  • 我們的 4TB USB 驅動器對于 FAT32 格式來說太大了

最后成功的是古老的 FTP。事實證明,FTP 多年來一直保持向后兼容。我們在 M4 MacBook Pro 上運行 FileZilla FTP 服務器,通過以太網(使用 USB-C 轉以太網適配器)連接到 Windows 98 機器,設置靜態 IP,然后就可以直接從命令行傳輸文件了。

圖片

使用手動 IP(192.168.1.1)配置 MacBook 的 USB-C 以太網適配器,以便與 Windows 98 通信。

設置網絡配置后,我們需要驗證連接。一個簡單的 ping 測試確認了機器之間可以相互通信:

圖片

成功!Windows 98 機器與 MacBook 的連接延遲小于 1 毫秒。

建立網絡連接后,我們終于可以使用 FTP 傳輸文件了。一個關鍵問題是:可執行文件無法運行,直到我們發現它們需要以二進制模式傳輸。解決方法很簡單,只需在 FTP CLI 中輸入「二進制」即可:

圖片

通過 FTP 以二進制模式傳輸 stories260K.bin 模型文件。

編譯挑戰

在 Windows 98 下編譯現代代碼非常棘手。我們首先嘗試了 mingw,據說它可以為 Windows 98/Pentium II 編譯現代 C++。結果卻走入了死胡同 — 可能是由于 CMOV 指令不支持奔騰 Pro 之前的版本。

于是,我們采用了老式的方法:Borland C++ 5.02 是一款有 26 年歷史的集成開發環境和編譯器,可直接在 Windows 98 上運行。唯一的問題是它支持的是非常老的 C/C++ 版本。現代 C++ 是不可能的,但幾十年來 C 語言的變化卻少得驚人。C 語言最大的變化是在 1999 年(C99),所以很遺憾我們錯過了。舊版 C 的主要限制是不能「隨處聲明」變量,所有變量都必須在函數的開始部分聲明。

圖片圖片

Borland C++ 5.02,一款有 26 年歷史的集成開發環境,仍然能夠完成任務。

Karpathy 救場

這讓我們想到了 Andrej Karpathy 的 llama2.c:700 行純 C 語言,可以在具有 Llama 2 架構的模型上運行推理。非常完美,但為了在奔騰 II 上運行 Win98,它仍然需要一些調整:

  • 用「DLONGWORD」代替「long long」(使用類型定義);
  • 將所有變量聲明移至函數起始處;
  • 簡化了從磁盤到內存的加載(內存映射會導致 SEGFAULTS);
  • 通過用 GetTickCount () 代替 clock_gettime 修復了時間戳問題。

本項目的代碼可在 GitHub 上的 llama98.c 獲取。

圖片

成功!在 Windows 98 上運行的 260K 參數 Llama 模型生成了一個關于 Sleepy Joe 的故事。

結果

終于讓它工作了!以下是我們實現的結果,完全在 Pentium II CPU 上運行,無需 GPU:

圖片

Llama 3.2 1B 的結果是基于運行適合內存的模型碎片的基準測試和磁盤讀取基準測試得出的。Llama98.c 正在通過卸載功能進行擴展,以運行更大的模型來進行實際測試。

雖然沒有達到 ChatGPT 的速度,但讓任何現代人工智能模型在二十多年前的 CPU 硬件上運行,都是朝著我們的使命邁出的重要一步。在此特別感謝 Chris Wellons 關于如何在 Windows 98 上運行 C++ 的精彩博文。

未來:BitNet 及其他

BitNet 是前沿模型真正可以在任何硬件上運行的一個前景廣闊的方向。BitNet 是一種使用三元權重的 transformer 架構,每個權重只能是 0、-1 或 1,每個權重只需要 1.58 比特(log?(3) ≈ 1.58)。這一簡單的變化具有重大意義:

圖片

Matmul 變成了具有三元權重的加法(Ma et al. 2024)。

由于乘以 0 是省略,乘以 1 是加法,而乘以 - 1 是減法,因此所有常見的矩陣乘法都變成了加法和減法。

這樣做的好處是顯而易見的:

  • 一個 7B 參數的 BitNet 模型只需要 1.38GB 的存儲空間,小到足以安裝在大多數硬件上,甚至是幾十年前的 PC(我們使用的 PC 只有 1.6GB 的硬盤驅動器);
  • CPU 優先:微軟的 BitCPP 在 M2 Ultra CPU 上每秒可生成 52 個 token,在英特爾 i7 上每秒可生成 18 個 token;
  • 更令人印象深刻的是:100B 參數的 BitNet 可在單個 CPU 上以人類讀取速度(5-7 個 token / 秒)運行;
  • 節能:比全精度模型節能 50% 以上。

在 EXO,我們研究三元模型已經有一段時間了。2024 年 4 月,我們發布了在蘋果芯片上高效運行的 MLX-BitNet。在 2024 年的 ICML 會議上,我們首次展示了用于蛋白質語言建模的 BitNet 實現,并正在開發用于蛋白質建模的更大 BitNet 模型。

雖然目前還沒有大型開源 BitNet 模型,但我們相信三元模型是人工智能的未來。我們計劃在 2025 年訓練一個三元模型。

然后呢?

我們希望看到更多的努力集中于在舊硬件上運行人工智能模型。從優化內存使用到探索能在有限硬件上高效運行的新架構,都有大量工程工作要做。

如果你對在舊硬件(如舊 Mac、Gameboy、摩托羅拉手機,甚至舊 Raspberry Pi)上運行模型感興趣,請查看代碼并加入我們的 Discord #retro 頻道。人工智能的未來不一定要被鎖在龐大的數據中心里,它可以在你已有的硬件上運行。

責任編輯:張燕妮 來源: 機器之心
相關推薦

2023-03-28 16:25:23

ChatGPT

2018-08-27 09:28:02

Windows 95WindowsAPP

2015-12-25 15:16:28

開源github開源項目

2023-09-04 19:09:00

訓練模型數據

2009-06-23 08:41:53

微軟Windows 7操作系統

2022-08-06 19:59:49

昇騰AI開發者

2020-11-20 16:42:37

前端開發技術

2023-10-04 08:16:04

2023-09-01 13:26:03

2018-07-04 13:00:58

雷軍代碼程序員

2023-08-21 10:36:23

2024-07-12 11:31:06

2023-12-04 09:11:00

AI模型

2021-11-05 21:51:50

Windows 11Windows微軟

2020-07-31 16:54:52

戴爾

2012-05-15 08:38:19

升級NASSATA

2023-07-26 13:22:54

模式LSTMLlama 2

2020-10-16 19:07:33

Windows 10微軟回應

2019-02-11 15:35:30

2024-01-29 11:56:04

模型訓練
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区视频在线 | 亚洲资源站 | 全部免费毛片在线播放网站 | 国产精品免费一区二区 | 欧美亚洲国产日韩 | av在线免费观看不卡 | 欧美国产精品一区二区 | 欧美成人在线免费 | 精国产品一区二区三区四季综 | 欧美日韩亚洲成人 | 久久久综合久久 | 中文字幕乱码视频32 | 亚洲一区二区视频 | 亚洲精品久久久久久久久久久久久 | 国产精品国产成人国产三级 | 中文字幕不卡一区 | 久久久久亚洲精品国产 | 一级片毛片 | 国产一区二区 | 日本超碰 | 中文字幕在线不卡 | 亚洲欧美一区二区三区1000 | 91精品国产麻豆 | 国产一级淫片免费视频 | 国产黄色小视频在线观看 | 国产高清在线 | 日韩成人一区 | 中文字幕四虎 | 亚洲欧美国产一区二区三区 | 亚洲精品久久久久久一区二区 | 久久国产精品一区 | 国产亚洲一区二区三区在线观看 | 蜜桃视频一区二区三区 | 日韩一级在线 | 亚洲精品一区二区 | 免费观看www| 中文字幕国产精品 | 欧美一级毛片免费观看 | 成人国产精品久久 | 亚洲欧美综合精品另类天天更新 | 夜夜干夜夜操 |