客戶的合約寫著「程式碼與內部文件不得上傳到任何雲端 AI 服務」,阿哲卻想用大型 AI 模型幫忙寫程式、讀長文件
Strata 是一個免費、開源的工具,目的是讓你在自己的 Windows 或 Linux 遊戲電腦上,跑一個 1250 億(125B)參數模型內部學到的數字,數量越多通常越聰明,也越佔空間的大型語言模型 Qwen3.8-Flash-Next。這種模型通常需要伺服器,但 Strata 宣稱只要有一張 12 GB 以上的 NVIDIA 或 AMD 顯卡就能跑。它能聊天、寫程式、看圖片,也能接上你的應用程式與寫程式助手,而且資料完全不離開你的電腦。
它到底快不快?素材用兩個單位來量:一個是「寫答案」的速度,也就是回覆出現得多快;另一個是「讀你的提示」的速度,也就是你丟一份 32K 的文件進去,它多快讀完。速度的單位是 token模型處理文字的最小單位,大約等於四分之三個英文單字每秒。素材舉例:每秒 60 個 token 比你閱讀的速度還快。
能放進一般電腦的關鍵之一是 量化把每個參數用更少的位元來存,像把高畫質照片壓成較小的檔案,犧牲一點精細度換取體積。素材中出現的 IQ3_S、Q2_0 就是不同的壓縮等級,數字越小檔案越小、對硬體要求越低。實測畫面就是在 RTX 5070 上用 IQ3_S 搭配 128K 的上下文模型一次能同時記住的對話與文件長度。
硬體門檻也寫得很明確:顯卡要 12 GB 以上的 VRAM顯卡自己的專用記憶體,模型越能放在這裡跑得越快,電腦記憶體(RAM)要 32 GB 以上(64 GB 可以跑所有尺寸),硬碟約要 80 GB 空位,最好是固態硬碟 SSD。素材還說:RAM 的大小決定哪一種尺寸的模型放得下;顯卡 VRAM 更大則速度更快,例如 24 GB 的 RTX 3090 預估每秒約寫 100 到 140 個 token。
| 項目 | NVIDIA 實測機 | AMD 實測機 | 官方最低需求 |
|---|---|---|---|
| 顯卡 | RTX 5070(12 GB) | RX 9070 XT(16 GB) | 12 GB VRAM 以上 |
| 處理器 | Ryzen 5 7600 | Ryzen 9 3900X | 素材未明列 |
| RAM | 64 GB | 47 GB | 32 GB 以上(64 GB 跑所有尺寸) |
| 硬碟 | 未明列 | 未明列 | 約 80 GB 空位,建議 SSD |
這支小程式用「參數量乘以每個參數佔幾位元」粗估模型大小,再和你電腦的 VRAM 加 RAM 比較,在你花時間下載 80 GB 之前先做第一道篩選。注意它是估算,實際檔案大小與執行方式以 Strata 文件為準。
PARAMS_B = 125BITS = {'Q2': 2.5, 'IQ3_S': 3.4, 'Q4': 4.5, 'FP16': 16.0}HEADROOM = 0.85def size_gb(params_b, bits): return params_b * bits / 8usable = (vram + ram) * HEADROOMok = 'OK 放得下' if need <= usable else 'X 放不下'這是一個真實小專案:下載(或複製)檔案,照步驟在你電腦上跑起來。
# 用「參數量 x 每參數位元數」粗估模型大小,在下載前先判斷電腦裝不裝得下
PARAMS_B = 125 # 單位是十億:125B = 1250 億參數
BITS = {'Q2': 2.5, 'IQ3_S': 3.4, 'Q4': 4.5, 'FP16': 16.0} # 每個參數約佔幾位元(近似值,非官方數字)
HEADROOM = 0.85 # 留 15% 給作業系統與長對話暫存,不能把記憶體塞滿
# 素材中的兩台實測電腦:(VRAM GB, RAM GB)
PCS = {
'NVIDIA 機 (RTX 5070 12GB + 64GB RAM)': (12, 64),
'AMD 機 (RX 9070 XT 16GB + 47GB RAM)': (16, 47),
'我的電腦(請改成你的數字)': (12, 32),
}
def size_gb(params_b, bits):
# 位元換位元組要除以 8
return params_b * bits / 8
for pc, (vram, ram) in PCS.items():
usable = (vram + ram) * HEADROOM
print(pc, '可用約', round(usable, 1), 'GB')
for name, bits in BITS.items():
need = size_gb(PARAMS_B, bits)
ok = 'OK 放得下' if need <= usable else 'X 放不下'
print(' ', name, round(need, 1), 'GB', ok)
print()