新智元報道
編輯:KingHZ
【新智元導讀】你以為PDF只是用來閱讀文檔的?這次它徹底顛覆了你的想象!極客Aiden Bai最新整活——直接把大語言模型(LLM)塞進PDF里,打開文件就能讓AI講故事、陪你聊天!更夸張的是,連Linux系統(tǒng)都能在PDF里運行。
技術宅太瘋狂!
在PDF中,也能運行LLM。
從PDF里跑出AI大腦?網(wǎng)友驚呼:這操作太「黑科技」了!
最近,Aiden Bai的推文掀起了熱議,已有數(shù)萬瀏覽!
他展示了一個名為「llm.pdf」的項目,標題赫然寫著:「在PDF文件中,運行大語言模型!」
瘋狂程度堪比人類穿越進入電子游戲!
更夸張的是,評論區(qū)里還有人爆料,連Linux系統(tǒng)都能塞進PDF里運行。
日常辦公、「高端爆料」中常見的文件格式——
Portable Document Format(.PDF),還能跑大模型,這到底怎么回事兒?
PDF里藏AI:還能講故事、聊聊天
「llm.pdf」的項目在PDF里面,嵌入了幾個小型語言模型(SLM),比如TinyStories(3M參數(shù))、Pythia(31M參數(shù))和TinyLLM(10M參數(shù))。
這些模型雖然「小巧」,但功能可不簡單!
TinyStories:3M參數(shù),運行速度快。號稱是最小的能生成連貫文本的語言模型,專門為講故事設計。想象一下,打開PDF,它給你講個兒童故事,比如「小紅帽大戰(zhàn)大灰狼2.0」!
Pythia:31M參數(shù),速度稍慢,支持對話。一個小型對話模型,能與人聊天,比如問它「今天天氣怎么樣」,它可能會一本正經(jīng)地回答:「我不知道,但我可以給你講個下雨天的故事!」
TinyLLM:10M參數(shù),速度快。一個概念驗證模型,專注于文本生成,適合做些簡單的創(chuàng)作實驗。
用戶可以直接下載這些已構建好的PDF文件,打開后就能體驗AI的「魔法」——直接在PDF里生成文本、講故事,甚至聊天!
想象一下,你打開一個PDF文件,里面不是枯燥的文檔,而是一個能跟你互動的AI小助手,給你講個睡前故事,或者陪你聊聊今天的趣事。
這種體驗是不是有點像科幻電影里的場景?
網(wǎng)友們炸開了鍋,有人調(diào)侃:「我現(xiàn)在是更怕醒來發(fā)現(xiàn)自己被困在PDF里,還是怕變成Fortnite里的聯(lián)動角色?」
TinyStories:講睡前故事的最小LLM
「llm.pdf」項目里提到的TinyStories模型,其實背后還有一段有趣的故事。
這個模型基于TinyStories數(shù)據(jù)集,最早是為了研究小型語言模型的能力。
研究者用GPT-3.5和GPT-4生成了數(shù)百萬個兒童小故事,內(nèi)容簡單但包含了語法、詞匯和推理等語言要素。
詞匯簡單,3到4歲兒童就能看得懂。
論文鏈接:https://arxiv.org/abs/2305.07759
Pythia:從實驗室到百姓
Pythia旨在研究語言模型的「可解釋性」和「學習動態(tài)」。
簡單來說,他們想搞清楚:AI模型在訓練過程中,到底是怎么「學會」語言的?知識又是如何一步步積累的?
論文鏈接:https://arxiv.org/abs/2304.01373
Pythia項目聚焦于自回歸Transformer模型,結合可解釋性分析和規(guī)模法則(scaling laws),研究模型在訓練中的知識演變。
Pythia模型家族包含多個版本,從70M到12B參數(shù)不等,而「llm.pdf」里用到的Pythia-31M是其中最小的一個版本。
雖然小,但它繼承了Pythia項目的核心優(yōu)勢:高效、透明、適合研究。
多項目研究利用Pythia模型的透明性和可控性,深入探索了語言模型的「黑箱」問題。
而「llm.pdf」項目把Pythia-31M塞進PDF里,也算是讓學術成果「飛入尋常百姓家」,從實驗室走向了普通用戶。
TinyLLM:為邊緣設備量身打造
TinyLLM的目標是為邊緣設備(比如物聯(lián)網(wǎng)設備、嵌入式傳感器)設計輕量級語言模型,因為這些設備通常計算資源有限,跑不動動輒幾十億參數(shù)的大模型。
TinyLLM框架有幾個亮點:
輕量高效:TinyLLM模型只有10M參數(shù),卻能完成基本的文本生成任務,非常適合資源受限的場景。這種小模型在邊緣設備上推理時,內(nèi)存占用和計算需求都極低。
訓練框架:TinyLLM提供了一個完整的訓練和部署pipeline,支持用戶用自己的數(shù)據(jù)訓練模型。框架支持多種優(yōu)化技術,比如量化(quantization)和剪枝(pruning),進一步降低模型的資源需求。
嵌入式應用:TinyLLM最初是為嵌入式傳感設備設計的。
「llm.pdf」項目里的TinyLLM-10M,正是這個框架的一個實例。
雖然PDF并不是TinyLLM的典型應用場景,但這種跨界玩法也體現(xiàn)了小型語言模型的靈活性。
不只是AI,連Linux都能跑?
更讓人瞠目結舌的是,Zaid在評論區(qū)丟出一記「重磅炸彈」:早在2月份,他就發(fā)帖提到過,PDF文件還能運行Linux系統(tǒng)!
他提到的項目利用RISC-V模擬器(基于TinyEMU),通過JavaScript在PDF里模擬出一個完整的Linux環(huán)境。
換句話說,你打開一個PDF,里面可能藏著一個能跑命令行的小型操作系統(tǒng)!
這波操作簡直讓網(wǎng)友們腦洞大開。
網(wǎng)友Gadgets Fan甚至開玩笑說:「這不算啥,畢竟我們整個宇宙可能都在一個PDF里模擬運行呢!」
雖然是玩笑,但也反映了大家對這種技術的驚嘆——PDF這個我們常用的文件格式,竟然能變成一個「萬能容器」,裝下AI、操作系統(tǒng),甚至更多可能性。
這背后是怎么做到的?
技術原理
你可能好奇,PDF不是用來存文檔的嗎?怎么還能跑AI和Linux?
其實,這一切都要歸功于PDF格式的一個隱藏技能——它支持JavaScript!
是的,你沒聽錯,PDF文件可以通過嵌入JavaScript代碼來執(zhí)行動態(tài)操作。
早在Adobe Acrobat等PDF編輯軟件中,就已經(jīng)支持在PDF里運行JavaScript了,比如用來做動態(tài)表單或者交互效果。
「llm.pdf」項目正是利用了這一點。
開發(fā)團隊將小型語言模型編譯成JavaScript代碼(通過工具像Emscripten將C代碼轉(zhuǎn)為asm.js),然后嵌入到PDF中。
打開PDF時,JavaScript引擎就會運行這些代碼,讓AI模型「活」過來。
在對應的Github項目中,開發(fā)者解釋了具體的細節(jié):
模型編譯:用Emscripten工具把高效的語言模型推理框架llama.cpp編譯成了asm.js,這樣模型就可以在JavaScript環(huán)境中運行。
嵌入PDF:利用老版本的PDF JavaScript注入技術(PDF JS injection),他們把編譯好的模型代碼嵌入到PDF文件中。
不僅如此,模型的權重文件(比如TinyStories的3M參數(shù)權重)也被轉(zhuǎn)成base64格式,直接塞進了PDF里。
這意味著,整個AI模型和它的運行環(huán)境都打包在一個PDF文件里,打開就能用!
運行推理:當你打開PDF時,閱讀器會執(zhí)行嵌入的JavaScript代碼,加載模型并運行推理(inference),直接在PDF界面上生成文本或?qū)υ挕?/p>
不過,這種操作也有局限性。
現(xiàn)代瀏覽器(比如Chrome)的PDF引擎禁用了JIT(即時編譯)功能,導致JavaScript運行速度較慢。
相比之下,Adobe Acrobat的表現(xiàn)更好,因為它的JavaScript引擎更寬松,支持更高效的執(zhí)行。
至于Linux項目,原理類似,也是利用PDF的JavaScript支持,通過RISC-V模擬器(TinyEMU)在PDF里模擬一個小型操作系統(tǒng)。雖然性能有限,但這種創(chuàng)意已經(jīng)足夠震撼了!
結語:PDF,你還有多少驚喜?
誰能想到,平日里我們用來存簡歷、合同的PDF,竟然能變成AI和操作系統(tǒng)的「游樂場」?
從Linux模擬,再到如今的「llm.pdf」,PDF的潛力似乎被徹底挖掘出來了。
或許在未來,PDF不再只是靜態(tài)文檔,而是可以互動、計算甚至「思考」的智能容器。
PDF的下一個「魔法」會是什么?
參考資料:
https://www.youtube.com/watch?v=4cBom2lAx-g
https://x.com/aidenybai/status/1916171665421053963
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.