Millfolio – 我對本地/混合AI的嘗試
Millfolio是一個在Mac上運行的本地優先AI工具,通過將程序發送到數據而非將數據發送到模型來保護隱私。它使用Mojo構建後端,利用本地模型索引文件,並通過前沿模型(Claude)編寫查詢程序,該程序只訪問脱敏的模式信息。
Millfolio是一個個人項目,旨在讓用户在自己的數據上使用AI,而無需將數據交給第三方提供商。它完全在Mac上運行,採用一種新穎的隱私保護方法:不是將數據發送到模型,而是將程序發送到數據。
當用户提問時,本地模型已經在設備上讀取並索引了文件——將其分塊、嵌入到本地保管庫索引中。這是唯一接觸實際數據的部分。然後,一個前沿模型(Claude)編寫一個小程序來回答問題,但它只看到保管庫的脱敏模式:列名、標籤名、類型、形狀,從未看到任何實際值。該程序在設備上的沙盒中運行,並本地組裝答案。因此,前沿模型負責規劃和編碼,而實際數據從不離開機器。通過網絡傳輸的是脱敏的清單和查詢程序,而不是用户的交易數據。
Millfolio的數據棧幾乎完全使用Mojo編寫,包括一個從頭編寫的推理引擎,具有自定義的GPU/Metal內核。本地模型在設備上讀取、索引並回答有針對性的問題。引擎執行使小型模型在Mac mini上可用的樸素工作:int4 GEMV、張量核心注意力、持久化Metal管道緩存、提示查找推測解碼。還有額外的工作以批處理模式運行本地模型,並設置不同優先級,以保持筆記本電腦在同時處理其他工作時的響應性。
作者坦誠地指出了項目的侷限性:它是個人項目,僅支持Apple Silicon,主要由AI編寫代碼,但作者進行了大量設計和測試。它需要API密鑰用於代碼編寫步驟,因為本地模型不夠強大,無法可靠地編寫查詢程序——這是前沿模型的工作。因此它是本地優先,而不是完全隔離的。作者表示,如果有人能證明本地模型可以很好地編寫這些程序,那將消除最後一個遠程依賴。
該項目沒有保修,也不承擔任何責任。隱私通過設計得到保護,但沒有軟件是絕對安全的。用户應使用自己願意承擔一定風險的數據。
要快速瞭解這個想法,可以訪問實時演示(Demo: demo.millfolio.app),它使用合成保管庫,一鍵即可運行,無需安裝或密鑰。更多信息請訪問 millfolio.app,代碼在 github.com/millfolio。作者歡迎反饋,特別是關於隱私模型是否經得起推敲,以及將實際推理棧押注在Mojo上的決策。