![]()
![]()
![]()
前言
2026年4月9日,本地大模型運(yùn)行框架ollama正式推出v0.20.4 Latest穩(wěn)定版本。本次更新圍繞MLX硬件加速性能優(yōu)化、Gemma4系列模型支持、前端代碼規(guī)范、Safetensors模型創(chuàng)建流程、函數(shù)調(diào)用輸出能力、MLX動態(tài)庫兼容、集成測試體系搭建等多個核心維度展開,共計8次提交、51個文件變更,由4位貢獻(xiàn)者共同完成,整體新增2458行代碼、刪除215行代碼,在保持框架穩(wěn)定性的同時,進(jìn)一步強(qiáng)化了對新型大模型、多硬件平臺以及自定義模型部署的支持能力。
本文將基于官方完整提交記錄與文件變更明細(xì),對ollama v0.20.4的每一項(xiàng)更新進(jìn)行逐點(diǎn)拆解,覆蓋核心功能優(yōu)化、代碼結(jié)構(gòu)調(diào)整、兼容性修復(fù)、測試用例新增、底層庫加載邏輯改進(jìn)等全部內(nèi)容,不遺漏任何一處技術(shù)變更,為開發(fā)者提供可直接參考的完整更新指南。
一、ollama v0.20.4整體更新概覽
本次v0.20.4版本發(fā)布時間為2026年4月9日,核心提交集中在4月7日與4月8日,整體變更可劃分為六大核心板塊:
1. 底層推理加速優(yōu)化:MLX框架M5性能提升、Gemma4閃光注意力啟用與兼容修復(fù)
2. 模型創(chuàng)建流程重構(gòu):實(shí)驗(yàn)性路徑清理、Safetensors模型導(dǎo)入修復(fù)與邏輯簡化
3. 前端UI代碼規(guī)范整改:未使用變量、常量聲明、空捕獲語句等語法問題修復(fù)
4. 接口能力擴(kuò)展:函數(shù)調(diào)用輸出數(shù)組類型支持
5. 硬件兼容強(qiáng)化:macOS Metal版本檢測、舊GPU閃光注意力禁用、MLX庫路徑匹配優(yōu)化
6. 測試體系完善:新增圖像生成集成測試、Safetensors解析單元測試、模型創(chuàng)建集成測試
從代碼改動規(guī)模來看,本次更新以新增功能與兼容修復(fù)為主,刪除代碼多為冗余邏輯與廢棄路徑,整體架構(gòu)更加精簡高效,同時大幅完善了測試覆蓋,保障自定義模型、多模態(tài)模型、Safetensors格式模型的運(yùn)行穩(wěn)定性。
二、核心功能更新逐點(diǎn)解析 (一)MLX框架性能優(yōu)化:M5性能提升與NAX技術(shù)應(yīng)用
本次更新首項(xiàng)核心優(yōu)化針對MLX框架,通過NAX技術(shù)實(shí)現(xiàn)M5硬件平臺的推理性能提升。MLX作為蘋果生態(tài)下的高性能數(shù)值計算框架,是ollama在macOS平臺實(shí)現(xiàn)GPU加速的核心依賴,本次針對M5芯片的專項(xiàng)優(yōu)化,直接提升了本地大模型在蘋果最新硬件上的推理速度、吞吐量與內(nèi)存利用效率。
該優(yōu)化直接面向硬件底層計算調(diào)度,通過NAX指令集與計算流水線優(yōu)化,減少推理過程中的冗余計算與內(nèi)存拷貝,在運(yùn)行參數(shù)量更大的語言模型與多模態(tài)模型時,能夠顯著降低首token生成延遲,提升連續(xù)對話流暢度。該項(xiàng)改動屬于底層推理引擎核心優(yōu)化,無需用戶額外配置,更新后即可自動生效。
(二)Gemma4模型全面支持:閃光注意力啟用與兼容修復(fù)
Gemma4作為新一代輕量級高性能大模型,在ollama v0.20.4中獲得完整支持,核心更新包括兩項(xiàng):
1. 正式啟用閃光注意力(Flash Attention)
閃光注意力是提升Transformer模型推理效率的關(guān)鍵技術(shù),能夠大幅降低注意力計算的內(nèi)存占用與計算耗時,本次更新將Gemma4加入閃光注意力支持列表,在GGML底層代碼中完成配置注冊,使Gemma4模型在支持的GPU平臺上自動開啟閃光注意力加速。2. 舊GPU平臺閃光注意力兼容修復(fù)
考慮到部分老舊顯卡不兼容閃光注意力實(shí)現(xiàn),本次更新針對性添加了舊GPU禁用邏輯,避免因硬件不兼容導(dǎo)致的推理崩潰、內(nèi)存溢出或速度異常下降,保障不同世代GPU用戶都能穩(wěn)定運(yùn)行Gemma4模型。
同時,本次更新還補(bǔ)充了Gemma4相關(guān)缺失文件,完善模型加載依賴,解決了此前版本中Gemma4模型加載失敗、配置缺失的問題,實(shí)現(xiàn)從模型加載到推理運(yùn)行的全流程穩(wěn)定支持。
(三)模型創(chuàng)建流程重構(gòu):實(shí)驗(yàn)性路徑清理與Safetensors修復(fù)
ollama的模型創(chuàng)建功能是自定義模型部署的核心入口,本次更新對create命令相關(guān)邏輯進(jìn)行全面重構(gòu):
1. 清理實(shí)驗(yàn)性路徑,簡化代碼結(jié)構(gòu)
刪除冗余的實(shí)驗(yàn)性路徑引用,合并重復(fù)邏輯,減少代碼維護(hù)成本,同時保留核心的Safetensors模型創(chuàng)建與圖像生成模型創(chuàng)建能力,僅通過--experimental flag進(jìn)行功能管控,保持接口簡潔統(tǒng)一。2. 修復(fù)從現(xiàn)有Safetensors創(chuàng)建模型的問題
修復(fù)了在使用本地Safetensors格式模型文件創(chuàng)建ollama模型時的路徑錯誤、文件讀取異常問題,支持直接從本地Safetensors權(quán)重目錄導(dǎo)入模型,配合Modelfile完成自定義配置,大幅降低開源模型本地化部署門檻。3. 遠(yuǎn)程模型創(chuàng)建限制明確
在實(shí)驗(yàn)性模式下明確限制遠(yuǎn)程Safetensors模型創(chuàng)建,僅支持本地服務(wù)器操作,避免因網(wǎng)絡(luò)傳輸、文件權(quán)限等問題導(dǎo)致模型創(chuàng)建失敗,提升使用確定性。
ollama的函數(shù)調(diào)用(Function Call)能力在v0.20.4中得到擴(kuò)展,新增對函數(shù)調(diào)用輸出數(shù)組的支持。此前版本中函數(shù)調(diào)用返回結(jié)果多為單值對象,難以滿足批量數(shù)據(jù)返回、多結(jié)果返回場景,本次更新后,模型可直接返回數(shù)組格式的函數(shù)調(diào)用輸出,適配更復(fù)雜的工具調(diào)用、數(shù)據(jù)處理、多步驟推理業(yè)務(wù)場景,提升框架在企業(yè)級應(yīng)用中的實(shí)用性。
該項(xiàng)改動位于responses模塊,直接擴(kuò)展API響應(yīng)結(jié)構(gòu),前端與后端服務(wù)均可無縫對接新的返回格式,無需額外適配改造。
三、前端UI代碼規(guī)范全面整改
本次更新對app/ui前端代碼進(jìn)行系統(tǒng)性語法規(guī)范修復(fù),覆蓋多個核心組件,提升代碼健壯性與可維護(hù)性:
1. Message.tsx組件優(yōu)化
移除JSON解析捕獲語句中的無用異常變量,將catch(e)簡化為catch(),消除未使用變量告警;統(tǒng)一異常處理邏輯,保持代碼風(fēng)格一致,避免因語法告警導(dǎo)致構(gòu)建失敗。2. MessageList.tsx組件優(yōu)化
清理空捕獲語句,添加注釋明確忽略邏輯,消除lint工具對空catch的警告,提升代碼可讀性。3. Badge.tsx與Button.tsx組件優(yōu)化
將可變變量let聲明改為常量const聲明,符合前端代碼最佳實(shí)踐,減少意外變量修改風(fēng)險,同時保持樣式類計算邏輯不變,不影響UI展示效果。
本次前端整改全部為語法規(guī)范優(yōu)化,不改變?nèi)魏谓换ミ壿嬇cUI展示效果,能夠有效降低長期維護(hù)成本,避免因代碼規(guī)范問題導(dǎo)致的構(gòu)建報錯。
四、底層硬件兼容與庫加載邏輯強(qiáng)化 (一)MLX動態(tài)庫加載機(jī)制優(yōu)化
1. 切換默認(rèn)HTTP客戶端
簡化MLX模塊網(wǎng)絡(luò)請求邏輯,使用系統(tǒng)默認(rèn)HTTP客戶端,減少第三方依賴,提升網(wǎng)絡(luò)請求穩(wěn)定性,避免因自定義客戶端配置導(dǎo)致的連接異常。2. MLX庫路徑匹配規(guī)則優(yōu)化
在GPU設(shè)備發(fā)現(xiàn)邏輯中添加mlx_前綴過濾,避免因路徑匹配錯誤導(dǎo)致的MLX庫加載失敗,精準(zhǔn)識別mlx_開頭的硬件加速庫目錄,提升蘋果芯片與NVIDIA GPU平臺的庫加載成功率。
新增macOS系統(tǒng)版本檢測邏輯,針對Metal加速庫做嚴(yán)格兼容判斷:
1. 新增dynamic_darwin.go文件,通過syscall讀取macOS系統(tǒng)主版本號
2. 對mlx_metal_v4及以上版本進(jìn)行限制,僅在macOS 26及以上系統(tǒng)啟用,避免在低版本macOS上加載高版本Metal著色器導(dǎo)致渲染失敗、推理崩潰
3. 非macOS平臺直接跳過檢測,保持跨平臺一致性
該項(xiàng)優(yōu)化解決了長期存在的舊版macOS運(yùn)行MLX加速異常的問題,提升跨系統(tǒng)版本兼容性。
(三)統(tǒng)一MLX變體加載策略
對mlx_*目錄進(jìn)行倒序排序加載,優(yōu)先加載高版本MLX庫(如mlx_metal_v4優(yōu)先于mlx_metal_v3),自動跳過不兼容硬件平臺的變體,實(shí)現(xiàn)硬件自適應(yīng)加載,無需用戶手動指定庫路徑。
五、Safetensors模塊重構(gòu)與測試體系完善 (一)Safetensors解析模塊獨(dú)立重構(gòu)
將原位于x/imagegen/safetensors的extractor.go遷移至x/safetensors目錄,實(shí)現(xiàn)Safetensors解析能力獨(dú)立化,不再與圖像生成模塊強(qiáng)綁定,支持語言模型、多模態(tài)模型統(tǒng)一使用Safetensors解析邏輯,提升代碼復(fù)用性。
該模塊提供完整的Safetensors文件讀取、張量信息提取、原始數(shù)據(jù)讀取、打包與解包能力,核心功能包括:
1. 讀取Safetensors文件頭,解析張量名稱、數(shù)據(jù)類型、形狀、數(shù)據(jù)偏移
2. 提取指定張量原始數(shù)據(jù),支持F32、F16、U8等多種數(shù)據(jù)類型
3. 構(gòu)建打包Safetensors格式數(shù)據(jù),支持多張量合并
4. 自動過濾__metadata__字段,避免元數(shù)據(jù)干擾張量解析
本次更新大幅擴(kuò)充測試用例,提升代碼質(zhì)量與穩(wěn)定性:
1. 新增create_imagegen_test.go(107行)
實(shí)現(xiàn)圖像生成模型完整集成測試,覆蓋模型下載、Modelfile創(chuàng)建、ollama create執(zhí)行、圖像生成、格式校驗(yàn)、模型刪除全流程,要求最低13GB顯存支持,驗(yàn)證Z-Image-Turbo等多模態(tài)模型的創(chuàng)建與推理能力。2. 新增create_test.go(350行)
實(shí)現(xiàn)Safetensors格式LLM模型集成測試,以TinyLlama-1.1B為測試對象,驗(yàn)證從HuggingFace下載模型、通過實(shí)驗(yàn)性模式創(chuàng)建ollama模型、模型信息查看、對話推理等全流程能力,同時添加遠(yuǎn)程服務(wù)器跳過邏輯,保障測試可靠性。3. 新增extractor_test.go(394行)
覆蓋Safetensors解析模塊全功能測試,包括文件創(chuàng)建、張量讀取、異常處理、循環(huán)讀寫校驗(yàn)、元數(shù)據(jù)過濾、多張量打包等場景,保障解析邏輯零錯誤。
測試體系的完善,使ollama在自定義模型、多模態(tài)模型、Safetensors模型支持上具備更強(qiáng)的穩(wěn)定性保障,減少版本更新帶來的兼容性問題。
六、配置文件與輔助文件更新
1. .github/workflows/release.yaml
將macOS構(gòu)建環(huán)境從macos-14-xlarge升級為macos-26-xlarge,適配最新蘋果硬件構(gòu)建需求,提升發(fā)布包兼容性。2. .gitignore
新增integration/testdata/models/目錄忽略規(guī)則,避免測試模型文件被提交至倉庫,保持倉庫整潔。
1. 硬件性能進(jìn)一步釋放
MLX M5優(yōu)化與Gemma4閃光注意力啟用,使蘋果芯片用戶獲得更高推理速度,老舊GPU也能穩(wěn)定運(yùn)行新型模型。2. 自定義模型部署更簡單
Safetensors導(dǎo)入修復(fù)、實(shí)驗(yàn)性路徑簡化,讓開源模型一鍵轉(zhuǎn)為ollama可用格式,降低本地化部署成本。3. 企業(yè)級應(yīng)用能力增強(qiáng)
函數(shù)調(diào)用數(shù)組輸出支持,適配復(fù)雜工具鏈與業(yè)務(wù)系統(tǒng),提升框架實(shí)用價值。4. 跨平臺兼容性大幅提升
Metal版本檢測、MLX庫自適應(yīng)加載,解決不同系統(tǒng)、不同硬件的運(yùn)行異常問題。5. 代碼質(zhì)量與可維護(hù)性升級
前端規(guī)范整改、模塊重構(gòu)、全面測試覆蓋,為后續(xù)版本迭代打下穩(wěn)定基礎(chǔ)。
代碼地址:github.com/ollama/ollama
ollama v0.20.4作為2026年4月的最新穩(wěn)定版,以“性能提升、模型適配、兼容強(qiáng)化、測試完善”為核心,完成了從底層推理引擎、模型管理流程、前端代碼規(guī)范到硬件兼容邏輯的全鏈路升級。8次提交、51個文件變更看似規(guī)模不大,但每一處改動都精準(zhǔn)解決實(shí)際使用痛點(diǎn),尤其是對Gemma4的完整支持、MLX硬件加速優(yōu)化、Safetensors模型創(chuàng)建修復(fù)以及測試體系的全面搭建,直接提升了ollama在本地大模型部署領(lǐng)域的競爭力。
我們相信人工智能為普通人提供了一種“增強(qiáng)工具”,并致力于分享全方位的AI知識。在這里,您可以找到最新的AI科普文章、工具評測、提升效率的秘籍以及行業(yè)洞察。 歡迎關(guān)注“福大大架構(gòu)師每日一題”,發(fā)消息可獲得面試資料,讓AI助力您的未來發(fā)展。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
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.