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