无主之地2配置高吗|看真人裸体BBBBB|秋草莓丝瓜黄瓜榴莲色多多|真人強奷112分钟|精品一卡2卡3卡四卡新区|日本成人深夜苍井空|八十年代动画片

網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

ollama v0.22.1 重大更新全解析:新增Poolside集成、模型推薦機(jī)制與多架構(gòu)適配

0
分享至




Ollama作為開源大模型本地化部署的核心工具,憑借輕量、易用、高效的特性,成為開發(fā)者實(shí)現(xiàn)大模型本地運(yùn)行的首選方案。近日,Ollama正式發(fā)布v0.22.1版本,此次更新堪稱一次全方位的功能升級(jí)與體驗(yàn)優(yōu)化,涵蓋新增Poolside集成、完善模型推薦機(jī)制、優(yōu)化量化策略、適配多模型架構(gòu)、修復(fù)核心Bug等多個(gè)維度,涉及代碼修改文件數(shù)十個(gè),新增代碼數(shù)千行,進(jìn)一步提升了Ollama的兼容性、實(shí)用性和性能表現(xiàn)。

一、版本核心更新概述

Ollama v0.22.1版本的更新核心圍繞“兼容性拓展、體驗(yàn)優(yōu)化、性能提升”三大目標(biāo)展開,涉及多個(gè)模塊的代碼重構(gòu)與功能新增。具體來看,此次更新主要包含以下幾大方向:

  • ? 新增Poolside集成:支持Poolside CLI的運(yùn)行與管理,完善相關(guān)測(cè)試用例,實(shí)現(xiàn)跨平臺(tái)適配(Windows系統(tǒng)暫不支持)。

  • ? 完善模型推薦機(jī)制:新增模型推薦接口、緩存管理,優(yōu)化推薦模型的排序與展示邏輯,支持從服務(wù)端獲取動(dòng)態(tài)推薦列表。

  • ? 優(yōu)化量化策略:新增Laguna模型專屬量化邏輯,支持FP8張量源的量化適配,調(diào)整不同模型的量化類型優(yōu)先級(jí),提升量化模型的性能與精度。

  • ? 多模型架構(gòu)適配:新增Laguna、Nemotron-H系列模型的適配支持,完善模型渲染器、解析器的自動(dòng)配置邏輯。

  • ? 推理性能優(yōu)化:優(yōu)化日志概率(Logprobs)的輸出邏輯,修復(fù)內(nèi)置解析器場(chǎng)景下的日志概率丟失問題,完善緩存機(jī)制提升推理速度。

  • ? Bug修復(fù)與細(xì)節(jié)優(yōu)化:修復(fù)多個(gè)測(cè)試用例的異常問題,優(yōu)化命令行交互體驗(yàn),完善集成注冊(cè)與管理邏輯,提升版本穩(wěn)定性。

此次更新覆蓋了Ollama的核心模塊,包括launch命令模塊、server服務(wù)模塊、模型量化模塊、模型適配模塊等,涉及代碼文件近50個(gè),新增代碼超3000行,修改代碼超2000行,是一次規(guī)模較大的版本升級(jí)。接下來,我們將逐一拆解每個(gè)模塊的具體更新內(nèi)容。

二、核心功能更新詳解 2.1 新增Poolside集成:拓展外部工具適配能力

此次更新最引人注目的功能之一,便是新增了Poolside集成支持。Poolside作為一款輕量的大模型運(yùn)行工具,與Ollama的集成的,進(jìn)一步拓展了Ollama的外部工具適配范圍,為開發(fā)者提供了更多的運(yùn)行選擇。此次集成涉及多個(gè)文件的新增與修改,具體實(shí)現(xiàn)細(xì)節(jié)如下:

2.1.1 Poolside核心實(shí)現(xiàn)(cmd/launch/poolside.go)

新增poolside.go文件,實(shí)現(xiàn)了Poolside的Runner接口,用于處理Poolside CLI的運(yùn)行邏輯。核心功能包括:

  • ? 定義Poolside結(jié)構(gòu)體,實(shí)現(xiàn)String()方法,返回集成名稱“Pool”,用于在命令行中展示。

  • ? 實(shí)現(xiàn)args()方法,用于構(gòu)建Poolside的運(yùn)行參數(shù),支持傳入模型名稱和額外參數(shù),參數(shù)格式為“-m 模型名 額外參數(shù)”。

  • ? 實(shí)現(xiàn)Run()方法,核心邏輯的是:檢查當(dāng)前系統(tǒng)是否為Windows(Windows暫不支持Poolside),若為Windows則返回不支持錯(cuò)誤;查找Poolside的可執(zhí)行文件“pool”,若未找到則返回安裝提示;構(gòu)建運(yùn)行命令,設(shè)置環(huán)境變量(POOLSIDE_STANDALONE_BASE_URL和POOLSIDE_API_KEY),并執(zhí)行命令,將標(biāo)準(zhǔn)輸入、輸出、錯(cuò)誤流與當(dāng)前進(jìn)程關(guān)聯(lián)。

  • ? 定義poolsideUnsupportedError()方法,返回Windows系統(tǒng)不支持Poolside的錯(cuò)誤提示信息。

其中,環(huán)境變量的設(shè)置是關(guān)鍵,POOLSIDE_STANDALONE_BASE_URL設(shè)置為Ollama的基礎(chǔ)地址(加上/v1后綴),POOLSIDE_API_KEY設(shè)置為“ollama”,確保Poolside能夠與Ollama正常通信。

2.1.2 Poolside測(cè)試用例(cmd/launch/poolside_test.go)

新增poolside_test.go文件,為Poolside集成提供了完善的測(cè)試用例,覆蓋參數(shù)構(gòu)建、運(yùn)行邏輯、跨平臺(tái)適配等場(chǎng)景,確保集成功能的穩(wěn)定性。具體測(cè)試場(chǎng)景包括:

  • ? TestPoolsideArgs:測(cè)試參數(shù)構(gòu)建邏輯,驗(yàn)證帶模型、不帶模型、帶額外參數(shù)等場(chǎng)景下,參數(shù)是否正確生成。

  • ? TestPoolsideRunSetsOllamaEnv:測(cè)試Run()方法是否正確設(shè)置環(huán)境變量,確保Poolside能夠正確關(guān)聯(lián)Ollama的服務(wù)地址和API密鑰。

  • ? TestPoolsideRunWindowsUnsupported:測(cè)試Windows系統(tǒng)下的不支持邏輯,驗(yàn)證是否能夠正確返回錯(cuò)誤提示。

測(cè)試用例中通過模擬不同系統(tǒng)環(huán)境、不同參數(shù)輸入,驗(yàn)證了Poolside集成的核心功能,確保在非Windows系統(tǒng)下能夠正常運(yùn)行,Windows系統(tǒng)下能夠給出明確的不支持提示。

2.1.3 集成注冊(cè)與管理(cmd/launch/registry.go、cmd/launch/launch_test.go等)

為了讓Ollama能夠識(shí)別并管理Poolside集成,此次更新對(duì)集成注冊(cè)相關(guān)代碼進(jìn)行了修改:

  • ? 在registry.go中,更新launcherIntegrationOrder列表,將“pool”添加到集成順序中,確保Poolside能夠被正確加載和展示。

  • ? 在launch_test.go的多個(gè)測(cè)試用例中,新增“/api/experimental/model-recommendations”接口的模擬響應(yīng),返回空推薦列表,避免因新增模型推薦機(jī)制導(dǎo)致測(cè)試用例失敗,同時(shí)確保Poolside集成的測(cè)試環(huán)境正常。

  • ? 在launch.go的Supported integrations說明中,新增“pool Pool”,用于在命令行幫助信息中展示Poolside集成的說明。

2.1.4 Poolside相關(guān)測(cè)試補(bǔ)充(cmd/launch/integration_test.go)

在integration_test.go中,補(bǔ)充了Poolside集成的相關(guān)測(cè)試,包括:

  • ? 在TestIntegrationLookup中,新增Poolside的集成查找測(cè)試,確保能夠正確查找到Poolside集成。

  • ? 在TestIntegrationRegistry中,更新expectedIntegrations列表,添加“pool”,驗(yàn)證集成注冊(cè)是否成功。

  • ? 在TestIntegration_InstallHint中,新增Poolside的安裝提示測(cè)試,確保當(dāng)Poolside未安裝時(shí),能夠返回正確的安裝地址(https://github\.com/poolsideai/pool)。

  • ? 新增TestListIntegrationInfos_HidesPoolsideOnWindows測(cè)試,驗(yàn)證Windows系統(tǒng)下是否會(huì)隱藏Poolside集成,避免用戶在不支持的系統(tǒng)中看到該集成。

  • ? 新增TestEnsureIntegrationInstalled_PoolsideUnsupportedOnWindows測(cè)試,驗(yàn)證Windows系統(tǒng)下調(diào)用EnsureIntegrationInstalled方法時(shí),是否會(huì)返回正確的不支持錯(cuò)誤。

通過以上測(cè)試用例的補(bǔ)充,確保了Poolside集成在不同場(chǎng)景下的穩(wěn)定性和正確性,為開發(fā)者使用Poolside集成提供了可靠保障。

2.2 完善模型推薦機(jī)制:實(shí)現(xiàn)動(dòng)態(tài)推薦與緩存管理

Ollama v0.22.1版本對(duì)模型推薦機(jī)制進(jìn)行了全面優(yōu)化,新增了模型推薦接口、緩存管理邏輯,優(yōu)化了推薦模型的排序與展示,支持從服務(wù)端獲取動(dòng)態(tài)推薦列表,提升了用戶選擇模型的體驗(yàn)。此次更新涉及cmd/launch/launch.go、cmd/launch/models.go、server/model_recommendations.go等多個(gè)文件,具體細(xì)節(jié)如下:

2.2.1 模型推薦核心邏輯(cmd/launch/launch.go)

在launch.go中,新增了模型推薦相關(guān)的核心邏輯,包括推薦列表的獲取、緩存、 fallback機(jī)制等:

  • ? 新增recommendations()方法,用于獲取模型推薦列表。核心邏輯的是:調(diào)用requestRecommendations()方法從服務(wù)端獲取動(dòng)態(tài)推薦列表;若獲取失敗或推薦列表為空,則 fallback到內(nèi)置的推薦模型列表(recommendedModels);同時(shí)設(shè)置動(dòng)態(tài)云模型限制(setDynamicCloudModelLimits),確保推薦模型的參數(shù)正確。

  • ? 新增requestRecommendations()方法,用于向服務(wù)端發(fā)送模型推薦請(qǐng)求(調(diào)用apiClient.ModelRecommendationsExperimental方法),解析響應(yīng)結(jié)果,過濾無效推薦(如空模型名、重復(fù)模型、缺少上下文長(zhǎng)度或最大輸出令牌的云模型),生成推薦列表。

  • ? 修改loadSelectableModels()方法,將原來的buildModelList()調(diào)用替換為buildModelListWithRecommendations(),傳入獲取到的推薦列表,實(shí)現(xiàn)推薦模型與現(xiàn)有模型的融合展示。

其中,requestRecommendations()方法中添加了日志記錄,當(dāng)云模型推薦缺少上下文長(zhǎng)度或最大輸出令牌時(shí),會(huì)輸出警告日志,便于開發(fā)者排查問題;同時(shí)通過seen map避免重復(fù)推薦,確保推薦列表的唯一性。

2.2.2 模型推薦輔助邏輯(cmd/launch/models.go)

在models.go中,對(duì)模型推薦相關(guān)的輔助邏輯進(jìn)行了優(yōu)化,包括推薦模型參數(shù)調(diào)整、云模型限制管理等:

  • ? 更新recommendedModels列表,為每個(gè)推薦模型補(bǔ)充了ContextLength、MaxOutputTokens、VRAMBytes等參數(shù),其中云模型補(bǔ)充上下文長(zhǎng)度和最大輸出令牌,本地模型補(bǔ)充VRAM需求,提升用戶選擇模型的參考價(jià)值。例如,kimi-k2.6:cloud的ContextLength設(shè)置為262144,MaxOutputTokens設(shè)置為262144;qwen3.5的VRAMBytes設(shè)置為14*format.GigaByte。

  • ? 新增displayVRAM()方法,用于將VRAM字節(jié)數(shù)轉(zhuǎn)換為易讀的格式(如~14GB),當(dāng)VRAMBytes為0時(shí)返回空字符串,確保模型描述的簡(jiǎn)潔性。

  • ? 新增cloudModelLimitsFromRecommendations()方法,用于從推薦列表中提取云模型的上下文長(zhǎng)度和最大輸出令牌,生成云模型限制映射。

  • ? 新增mergeCloudModelLimits()方法,用于合并基礎(chǔ)云模型限制和額外云模型限制,確保云模型限制的完整性。

  • ? 優(yōu)化lookupCloudModelLimit()方法,優(yōu)先從動(dòng)態(tài)云模型限制(dynamicCloudModelLimits)中查找,再從基礎(chǔ)云模型限制(cloudModelLimits)中查找,支持動(dòng)態(tài)更新云模型限制。

  • ? 新增setDynamicCloudModelLimits()方法,用于設(shè)置動(dòng)態(tài)云模型限制,通過互斥鎖保證并發(fā)安全。

  • ? 新增buildModelListWithRecommendations()方法,將推薦列表與現(xiàn)有模型列表融合,實(shí)現(xiàn)推薦模型的優(yōu)先展示,同時(shí)保留現(xiàn)有模型的展示邏輯。

此外,還刪除了原來的recommendedVRAM映射,改用displayVRAM()方法動(dòng)態(tài)生成VRAM提示,提升了代碼的靈活性和可維護(hù)性。

2.2.3 模型推薦接口與緩存(server/model_recommendations.go、server/routes.go)

在server模塊中,新增了模型推薦接口和緩存管理邏輯,支持服務(wù)端返回動(dòng)態(tài)推薦列表,并通過緩存提升響應(yīng)速度:

  • ? 新增model_recommendations.go文件,實(shí)現(xiàn)了模型推薦的緩存管理,包括緩存的初始化、獲取、更新等邏輯。通過SWR(Stale-While-Revalidate)策略,實(shí)現(xiàn)緩存的高效更新,確保推薦列表的時(shí)效性。

  • ? 在routes.go中,新增“/api/experimental/model-recommendations”接口,用于返回模型推薦列表。接口邏輯的是:優(yōu)先從緩存中獲取推薦列表,若緩存未命中或過期,則從服務(wù)端獲取最新推薦列表,更新緩存后返回;同時(shí)輸出日志,記錄推薦列表的來源(緩存或默認(rèn))和數(shù)量。

  • ? 在Server結(jié)構(gòu)體中,新增modelRecommendations字段,用于管理模型推薦緩存;在Serve()方法中,初始化模型推薦緩存并啟動(dòng)緩存更新機(jī)制。

2.2.4 模型推薦測(cè)試用例(server/model_recommendations_test.go)

新增model_recommendations_test.go文件,為模型推薦機(jī)制提供了完善的測(cè)試用例,覆蓋緩存邏輯、接口響應(yīng)、推薦列表過濾等場(chǎng)景,確保模型推薦功能的穩(wěn)定性和正確性。測(cè)試用例包括緩存命中、緩存過期、推薦列表過濾、服務(wù)端請(qǐng)求失敗等場(chǎng)景,全面驗(yàn)證了模型推薦機(jī)制的核心邏輯。

2.3 優(yōu)化量化策略:適配多模型架構(gòu),提升量化性能

量化是大模型本地化部署的關(guān)鍵技術(shù),能夠有效降低模型的內(nèi)存占用,提升運(yùn)行速度。Ollama v0.22.1版本對(duì)量化策略進(jìn)行了全面優(yōu)化,新增Laguna模型專屬量化邏輯,支持FP8張量源的量化適配,調(diào)整不同模型的量化類型優(yōu)先級(jí),進(jìn)一步提升了量化模型的性能與精度。此次更新涉及server/quantization.go、server/laguna_quantization_test.go、server/create.go等多個(gè)文件,具體細(xì)節(jié)如下:

2.3.1 量化核心邏輯優(yōu)化(server/quantization.go)

在quantization.go中,對(duì)量化核心邏輯進(jìn)行了多處優(yōu)化,新增了架構(gòu)專屬量化邏輯和FP8張量源適配:

  • ? 新增quantizeState結(jié)構(gòu)體字段,包括preserveSourceFP8ToQ8(是否保留FP8源張量到Q8量化)、preserveSourceQ4(是否保留FP8源張量到Q4量化)、sourceFP8Tensors(FP8源張量名稱集合),用于適配FP8張量源的量化邏輯。

  • ? 新增hasSourceFP8Tensors()方法,用于判斷模型是否包含F(xiàn)P8源張量(通過kv.String(&;source_quantization&;) == &;hf_fp8&;且kv.Strings(&;source_fp8_tensors&;)非空判斷)。

  • ? 新增sourceFP8TensorSet()方法,用于將FP8源張量名稱轉(zhuǎn)換為集合,便于快速查詢。

  • ? 優(yōu)化quantize()方法,初始化quantizeState時(shí),設(shè)置sourceFP8Tensors、preserveSourceFP8ToQ8、preserveSourceQ4等字段,根據(jù)模型的FP8源張量配置,調(diào)整量化策略。

  • ? 優(yōu)化newType()方法,在量化過程中,根據(jù)FP8源張量配置,保留指定張量的量化類型;同時(shí)新增Laguna模型的專屬量化邏輯,對(duì)不同類型的張量采用不同的量化策略。

  • ? 新增isLagunaGGUFRoutedExpertWeight()方法,用于判斷張量是否為L(zhǎng)aguna模型的路由專家權(quán)重(如ffn_gate_exps.weight、ffn_up_exps.weight、ffn_down_exps.weight)。

  • ? 新增lagunaGGUFBlockIndex()方法,用于提取Laguna模型張量的塊索引,為不同塊的量化策略調(diào)整提供依據(jù)。

  • ? 新增lagunaGGUFQuantization()方法,實(shí)現(xiàn)Laguna模型的專屬量化邏輯:非路由專家權(quán)重保留原始類型,不進(jìn)行量化;路由專家權(quán)重根據(jù)塊索引、量化類型、塊數(shù)量,調(diào)整量化類型(如Q4_K_M類型下,部分塊提升為Q6_K類型)。

  • ? 優(yōu)化getTensorNewType()方法,調(diào)整量化類型的優(yōu)先級(jí),新增對(duì)Laguna模型的支持,同時(shí)優(yōu)化Qwen3系列模型的量化邏輯。

此次量化策略優(yōu)化的核心亮點(diǎn),是實(shí)現(xiàn)了FP8張量源的精準(zhǔn)適配和Laguna模型的專屬量化,既能保證量化模型的性能,又能避免量化導(dǎo)致的精度損失,提升了大模型本地化運(yùn)行的體驗(yàn)。

2.3.2 Laguna量化測(cè)試用例(server/laguna_quantization_test.go)

新增laguna_quantization_test.go文件,為L(zhǎng)aguna模型的量化邏輯提供了專門的測(cè)試用例,覆蓋不同張量類型、不同量化類型、不同塊數(shù)量的場(chǎng)景,驗(yàn)證Laguna量化邏輯的正確性。具體測(cè)試場(chǎng)景包括:

  • ? 非路由權(quán)重的量化保留:驗(yàn)證非路由專家權(quán)重(如blk.1.attn_q.weight)在量化過程中是否保留原始類型,不進(jìn)行量化。

  • ? 共享專家權(quán)重的量化保留:驗(yàn)證共享專家權(quán)重(如blk.1.ffn_gate_shexp.weight)在量化過程中是否保留原始類型。

  • ? 路由門權(quán)重的量化:驗(yàn)證路由門權(quán)重(如blk.1.ffn_gate_exps.weight)在不同量化類型下的量化結(jié)果是否符合預(yù)期。

  • ? 路由下采樣權(quán)重的量化:驗(yàn)證路由下采樣權(quán)重(如blk.1.ffn_down_exps.weight)在不同量化類型、不同塊數(shù)量下的量化類型提升是否符合預(yù)期。

通過這些測(cè)試用例,確保了Laguna模型量化邏輯的正確性,為L(zhǎng)aguna模型的本地化部署提供了可靠保障。

2.3.3 量化相關(guān)邏輯調(diào)整(server/create.go)

在create.go中,對(duì)模型創(chuàng)建過程中的量化邏輯進(jìn)行了調(diào)整,適配FP8張量源和Laguna模型:

  • ? 修改createModel()方法,在量化邏輯中,新增對(duì)BF16模型的支持,將原來的“quantization is only supported for F16 and F32 models”提示修改為“quantization is only supported for F16, BF16 and F32 models”,支持更多類型的模型量化。

  • ? 新增hasSourceFP8Tensors()方法的調(diào)用,當(dāng)模型包含F(xiàn)P8源張量且未指定量化類型時(shí),自動(dòng)設(shè)置量化類型為Q8_0,確保FP8源張量的量化適配。

2.3.4 量化測(cè)試用例補(bǔ)充(server/quantization_test.go)

在quantization_test.go中,補(bǔ)充了FP8源張量量化的相關(guān)測(cè)試用例,包括:

  • ? source_fp8_q8_preserves_bf16_tensors:測(cè)試FP8源張量在Q8_0量化時(shí),是否只量化指定的FP8張量,保留其他BF16張量。

  • ? source_fp8_q4_promotes_bf16_tensors_to_q8:測(cè)試FP8源張量在Q4_K_M量化時(shí),是否將非FP8張量提升為Q8_0量化,確保量化精度。

這些測(cè)試用例的補(bǔ)充,進(jìn)一步驗(yàn)證了FP8源張量量化邏輯的正確性,確保量化策略的穩(wěn)定性。

2.4 多模型架構(gòu)適配:新增Laguna、Nemotron-H系列模型支持

Ollama v0.22.1版本進(jìn)一步拓展了模型架構(gòu)的適配范圍,新增了Laguna、Nemotron-H系列模型的支持,完善了模型渲染器、解析器的自動(dòng)配置邏輯,確保這些模型能夠在Ollama中正常運(yùn)行。此次更新涉及server/create.go、server/routes_create_test.go、x/models/laguna等多個(gè)文件,具體細(xì)節(jié)如下:

2.4.1 Laguna模型適配(x/models/laguna/laguna.go、x/models/laguna/laguna_test.go)

新增Laguna模型的適配代碼,包括模型的核心實(shí)現(xiàn)和測(cè)試用例,確保Laguna模型能夠正常加載和運(yùn)行:

  • ? 新增laguna.go文件,實(shí)現(xiàn)了Laguna模型的核心邏輯,包括模型的初始化、前向傳播、注意力機(jī)制等。Laguna模型采用了路由專家架構(gòu),適配了動(dòng)態(tài)專家選擇機(jī)制,能夠有效提升模型的推理性能。

  • ? 新增laguna_test.go文件,為L(zhǎng)aguna模型提供了完善的測(cè)試用例,覆蓋模型初始化、前向傳播、注意力計(jì)算等場(chǎng)景,驗(yàn)證模型實(shí)現(xiàn)的正確性。

2.4.2 Nemotron-H系列模型適配(server/create.go、server/routes_create_test.go)

在create.go中,新增了Nemotron-H系列模型的適配邏輯,包括nemotron_h、nemotron_h_moe、nemotron_h_omni三種模型:

  • ? 當(dāng)模型架構(gòu)為Nemotron-H系列時(shí),自動(dòng)設(shè)置渲染器(Renderer)和解析器(Parser)為“nemotron-3-nano”,確保模型的輸入輸出格式正確。

  • ? 如果用戶手動(dòng)指定了渲染器和解析器,則保留用戶的設(shè)置,不進(jìn)行自動(dòng)覆蓋,提升靈活性。

在routes_create_test.go中,新增了Nemotron-H系列模型的測(cè)試用例,包括:

  • ? TestCreateNemotronHDefaultsRendererParser:測(cè)試Nemotron-H系列模型在未指定渲染器和解析器時(shí),是否會(huì)自動(dòng)設(shè)置為“nemotron-3-nano”。

  • ? TestCreateNemotronHDefaultsKeepExplicitRendererParser:測(cè)試Nemotron-H系列模型在手動(dòng)指定渲染器和解析器時(shí),是否會(huì)保留用戶的設(shè)置。

2.4.3 模型架構(gòu)相關(guān)補(bǔ)充(server/sched.go、x/create/laguna.go等)

在sched.go中,更新了不支持并行請(qǐng)求的模型架構(gòu)列表,將“nemotron_h_omni”添加到列表中,確保該模型在運(yùn)行時(shí)不會(huì)啟用并行請(qǐng)求,避免出現(xiàn)運(yùn)行異常。

在x/create/laguna.go中,新增了Laguna模型的創(chuàng)建邏輯,支持Laguna模型的快速創(chuàng)建和配置,適配Laguna模型的專屬參數(shù)和結(jié)構(gòu)。

2.5 推理性能優(yōu)化:完善日志概率輸出與緩存機(jī)制

此次更新對(duì)Ollama的推理性能進(jìn)行了多方面優(yōu)化,重點(diǎn)完善了日志概率(Logprobs)的輸出邏輯,優(yōu)化了緩存機(jī)制,提升了推理速度和響應(yīng)效率。具體更新內(nèi)容如下:

2.5.1 日志概率輸出優(yōu)化(server/routes.go、server/routes_generate_test.go)

日志概率是大模型推理過程中的重要指標(biāo),用于衡量模型輸出結(jié)果的置信度。此次更新優(yōu)化了日志概率的輸出邏輯,修復(fù)了內(nèi)置解析器場(chǎng)景下的日志概率丟失問題:

  • ? 在routes.go的GenerateHandler()方法中,修改了日志概率的輸出判斷條件,將原來的“res.Response != &;&; || res.Thinking != &;&; || res.Done || len(res.ToolCalls) > 0”修改為“res.Response != &;&; || res.Thinking != &;&; || res.Done || len(res.ToolCalls) > 0 || len(res.Logprobs) > 0”,確保即使解析器仍在緩沖可見內(nèi)容,只要存在日志概率,就會(huì)輸出相關(guān)結(jié)果,避免日志概率丟失。

  • ? 在routes_generate_test.go中,新增TestGenerateLogprobsWithBuiltinParser測(cè)試用例,驗(yàn)證內(nèi)置解析器場(chǎng)景下,日志概率是否能夠正常輸出,確保優(yōu)化后的邏輯正確。

2.5.2 緩存機(jī)制優(yōu)化(x/mlxrunner/cache/*)

在mlxrunner的緩存模塊中,對(duì)緩存機(jī)制進(jìn)行了全面優(yōu)化,提升了推理過程中的緩存利用率,減少重復(fù)計(jì)算,從而提升推理速度:

  • ? 優(yōu)化cache.go中的緩存管理邏輯,調(diào)整緩存的存儲(chǔ)和讀取策略,提升緩存命中率。

  • ? 完善recurrent.go中的循環(huán)緩存邏輯,優(yōu)化循環(huán)注意力的緩存處理,減少內(nèi)存占用,提升推理效率。

  • ? 新增rotating_attention_test.go文件,為旋轉(zhuǎn)注意力緩存提供專門的測(cè)試用例,驗(yàn)證緩存邏輯的正確性。

  • ? 優(yōu)化recurrent_test.go中的測(cè)試用例,覆蓋更多緩存場(chǎng)景,確保緩存機(jī)制的穩(wěn)定性。

2.6 其他重要更新:Bug修復(fù)與細(xì)節(jié)優(yōu)化

除了上述核心功能更新外,Ollama v0.22.1版本還進(jìn)行了大量的Bug修復(fù)和細(xì)節(jié)優(yōu)化,覆蓋測(cè)試用例、命令行交互、模型配置等多個(gè)方面,提升了版本的穩(wěn)定性和易用性。

2.6.1 測(cè)試用例修復(fù)與補(bǔ)充

此次更新修復(fù)了多個(gè)測(cè)試用例的異常問題,補(bǔ)充了大量缺失的測(cè)試用例,確保版本的穩(wěn)定性:

  • ? 在cmd/launch/launch_test.go中,為所有測(cè)試用例新增了“/api/experimental/model-recommendations”接口的模擬響應(yīng),避免因新增模型推薦機(jī)制導(dǎo)致測(cè)試用例失敗。

  • ? 在server/routes_create_test.go中,新增TestCreateLagunaDetectsRendererParser測(cè)試用例,驗(yàn)證Laguna模型是否能夠自動(dòng)檢測(cè)并設(shè)置正確的渲染器和解析器。

  • ? 修復(fù)了quantization_test.go中的部分測(cè)試用例,確保量化邏輯的測(cè)試覆蓋全面。

2.6.2 模型配置優(yōu)化

在server/create.go中,優(yōu)化了模型創(chuàng)建過程中的配置邏輯,新增了Laguna模型的渲染器和解析器自動(dòng)配置,確保模型能夠正常運(yùn)行。

2.6.3 命令行交互優(yōu)化

在cmd/launch/launch.go中,更新了Supported integrations說明,新增Poolside集成的說明,便于用戶了解和使用該集成;同時(shí)優(yōu)化了命令行參數(shù)的解析邏輯,提升交互體驗(yàn)。

2.6.4 其他細(xì)節(jié)優(yōu)化

  • ? 在x/tokenizer/tokenizer_load.go中,新增了tokenizer的加載邏輯,完善了tokenizer的管理,提升了模型的分詞效率。

  • ? 在x/models/nn/目錄下,新增了recurrent.go、sdpa.go等文件,實(shí)現(xiàn)了循環(huán)神經(jīng)網(wǎng)絡(luò)和縮放點(diǎn)積注意力的核心邏輯,為多模型架構(gòu)提供支持。

  • ? 優(yōu)化了多個(gè)模型的實(shí)現(xiàn)代碼(如gemma4、qwen3_5等),修復(fù)了潛在的Bug,提升了模型的運(yùn)行穩(wěn)定性。

三、版本更新總結(jié)與應(yīng)用建議 3.1 版本更新總結(jié)

Ollama v0.22.1版本是一次全方位的功能升級(jí),此次更新的核心價(jià)值在于:

  • ? 拓展了外部工具適配能力:新增Poolside集成,為開發(fā)者提供了更多的大模型運(yùn)行選擇,豐富了Ollama的生態(tài)。

  • ? 提升了用戶體驗(yàn):完善模型推薦機(jī)制,實(shí)現(xiàn)動(dòng)態(tài)推薦與緩存管理,幫助用戶快速選擇合適的模型;優(yōu)化日志概率輸出,為開發(fā)者提供更精準(zhǔn)的推理指標(biāo)。

  • ? 增強(qiáng)了模型兼容性:新增Laguna、Nemotron-H系列模型的適配,拓展了Ollama支持的模型架構(gòu)范圍;優(yōu)化量化策略,適配FP8張量源,提升了量化模型的性能與精度。

  • ? 提升了版本穩(wěn)定性:修復(fù)了多個(gè)Bug,補(bǔ)充了大量測(cè)試用例,優(yōu)化了核心邏輯,確保Ollama在不同場(chǎng)景下的穩(wěn)定運(yùn)行。

此次更新涉及的代碼修改范圍廣、內(nèi)容多,充分體現(xiàn)了Ollama團(tuán)隊(duì)對(duì)用戶需求的關(guān)注和對(duì)產(chǎn)品質(zhì)量的追求,進(jìn)一步鞏固了Ollama在大模型本地化部署領(lǐng)域的優(yōu)勢(shì)地位。

3.2 應(yīng)用建議

針對(duì)Ollama v0.22.1版本的更新內(nèi)容,結(jié)合實(shí)際應(yīng)用場(chǎng)景,為開發(fā)者提供以下應(yīng)用建議:

  • ? 對(duì)于需要使用Poolside工具的開發(fā)者,可在非Windows系統(tǒng)(如Linux、macOS)中升級(jí)至v0.22.1版本,體驗(yàn)Poolside與Ollama的集成功能,注意需先安裝Poolside CLI(可通過https://github\.com/poolsideai/pool獲取)。

  • ? 對(duì)于使用Laguna、Nemotron-H系列模型的開發(fā)者,升級(jí)后無需手動(dòng)配置渲染器和解析器,Ollama會(huì)自動(dòng)適配,可直接加載模型運(yùn)行,同時(shí)建議使用優(yōu)化后的量化策略,提升模型運(yùn)行性能。

  • ? 對(duì)于關(guān)注模型推薦和日志概率的開發(fā)者,可充分利用新增的模型推薦接口和優(yōu)化后的日志概率輸出邏輯,提升模型選擇效率和推理結(jié)果分析能力。

  • ? 對(duì)于追求推理性能的開發(fā)者,可關(guān)注緩存機(jī)制的優(yōu)化,合理配置模型參數(shù),充分利用量化策略,降低模型內(nèi)存占用,提升推理速度。

  • ? Windows系統(tǒng)用戶需注意,此次更新中的Poolside集成暫不支持Windows系統(tǒng),后續(xù)可關(guān)注Ollama的版本更新,等待Windows系統(tǒng)的支持。

3.3 后續(xù)展望

Ollama v0.22.1版本的更新,為大模型本地化部署提供了更強(qiáng)大的功能和更優(yōu)的體驗(yàn)。結(jié)合此次更新的方向,后續(xù)Ollama可能會(huì)繼續(xù)推進(jìn)以下方面的發(fā)展:

  • ? 完善Poolside集成的Windows系統(tǒng)支持,實(shí)現(xiàn)跨平臺(tái)的全面適配。

  • ? 拓展更多模型架構(gòu)的適配,支持更多主流大模型的本地化部署。

  • ? 進(jìn)一步優(yōu)化量化策略和緩存機(jī)制,提升大模型的推理性能和運(yùn)行效率。

  • ? 豐富模型推薦機(jī)制,結(jié)合用戶的使用場(chǎng)景和硬件配置,提供更精準(zhǔn)的模型推薦。

四、總結(jié)

代碼地址:github.com/ollama/ollama

Ollama v0.22.1版本的更新,是一次兼顧功能拓展、體驗(yàn)優(yōu)化和性能提升的重大升級(jí),涵蓋了Poolside集成、模型推薦、量化策略、模型適配等多個(gè)核心模塊,為開發(fā)者提供了更強(qiáng)大、更易用、更穩(wěn)定的大模型本地化部署工具。

我們相信人工智能為普通人提供了一種“增強(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.

相關(guān)推薦
熱點(diǎn)推薦
3個(gè)細(xì)節(jié)對(duì)比,劉濤這次真的有點(diǎn)難受,小媽祖直接被跪拜

3個(gè)細(xì)節(jié)對(duì)比,劉濤這次真的有點(diǎn)難受,小媽祖直接被跪拜

手工制作阿殲
2026-05-12 19:19:53
硬氣!中方徹底松手,拒接8500億美債!救美就是救中方的時(shí)代結(jié)束

硬氣!中方徹底松手,拒接8500億美債!救美就是救中方的時(shí)代結(jié)束

云舟史策
2026-05-12 07:14:59
用血淚教訓(xùn)告訴大家:鄰里關(guān)系再好,有些“善良”也不能給得太多

用血淚教訓(xùn)告訴大家:鄰里關(guān)系再好,有些“善良”也不能給得太多

小馬達(dá)情感故事
2026-05-11 18:40:04
安徽一副縣長(zhǎng),主動(dòng)投案!另有多人被通報(bào)

安徽一副縣長(zhǎng),主動(dòng)投案!另有多人被通報(bào)

鳳凰網(wǎng)安徽
2026-05-12 17:17:35
水在4℃時(shí)密度最大?這個(gè)反常識(shí)物理Bug,差點(diǎn)決定地球生命的命運(yùn)

水在4℃時(shí)密度最大?這個(gè)反常識(shí)物理Bug,差點(diǎn)決定地球生命的命運(yùn)

半解智士
2026-05-05 12:56:18
拔蘿卜帶泥!逃往美國(guó)的恒大“二把手”,鄰居卻是另一名潛逃富豪

拔蘿卜帶泥!逃往美國(guó)的恒大“二把手”,鄰居卻是另一名潛逃富豪

二大爺觀世界
2026-03-14 18:43:53
果然低估印度!川普訪華前夕,印度突然放雜音,妄圖拿捏中國(guó)命脈

果然低估印度!川普訪華前夕,印度突然放雜音,妄圖拿捏中國(guó)命脈

蘭妮搞笑分享
2026-05-12 18:33:35
體育總局人力中心發(fā)文,親宣陳若琳新身份,戀情傳聞早真相大白

體育總局人力中心發(fā)文,親宣陳若琳新身份,戀情傳聞早真相大白

觀察鑒娛
2026-05-10 10:38:12
特斯拉:再次突破

特斯拉:再次突破

新浪財(cái)經(jīng)
2026-05-11 10:29:59
變天了!特朗普登上專機(jī)前,鄭麗文劃下紅線:不許支持“臺(tái)獨(dú)”

變天了!特朗普登上專機(jī)前,鄭麗文劃下紅線:不許支持“臺(tái)獨(dú)”

線裝史冊(cè)
2026-05-12 18:31:31
48歲歐陽夏丹現(xiàn)狀:離開央視,被教授邀請(qǐng)現(xiàn)身挪威,至今未婚未育

48歲歐陽夏丹現(xiàn)狀:離開央視,被教授邀請(qǐng)現(xiàn)身挪威,至今未婚未育

白面書誏
2026-05-07 17:50:08
1650年,39歲多爾袞突然墜馬身亡,彌留時(shí)急召哥哥,順治:太遲了

1650年,39歲多爾袞突然墜馬身亡,彌留時(shí)急召哥哥,順治:太遲了

掠影后有感
2026-05-12 10:30:55
阿扎爾:巴薩配得上加冕西甲冠軍,我希望穆帥回到皇馬

阿扎爾:巴薩配得上加冕西甲冠軍,我希望穆帥回到皇馬

懂球帝
2026-05-12 20:36:22
莎拉安全過關(guān)!菲律賓參議院議長(zhǎng)突然被換,就是13號(hào)彈劾預(yù)演

莎拉安全過關(guān)!菲律賓參議院議長(zhǎng)突然被換,就是13號(hào)彈劾預(yù)演

蘭妮搞笑分享
2026-05-12 13:42:22
發(fā)現(xiàn)一個(gè)殘酷現(xiàn)實(shí),中印沖突正全方位升級(jí),中國(guó)越避讓 印度越對(duì)

發(fā)現(xiàn)一個(gè)殘酷現(xiàn)實(shí),中印沖突正全方位升級(jí),中國(guó)越避讓 印度越對(duì)

瀲滟晴方DAY
2026-05-12 20:05:08
CBA再開重磅罰單,奇葩操作太離譜,必須嚴(yán)懲

CBA再開重磅罰單,奇葩操作太離譜,必須嚴(yán)懲

宗介說體育
2026-05-12 09:58:47
你們有后悔過前幾年大手大腳浪費(fèi)掉的錢嗎?網(wǎng)友:現(xiàn)在都買不起了

你們有后悔過前幾年大手大腳浪費(fèi)掉的錢嗎?網(wǎng)友:現(xiàn)在都買不起了

另子維愛讀史
2026-05-11 21:30:13
星際迷航最慘星艦:剛出廠就故障纏身

星際迷航最慘星艦:剛出廠就故障纏身

娛圈觀察員
2026-05-11 20:03:25
貔貅認(rèn)主不看財(cái)富,這四個(gè)生肖千萬別碰,戴了反而會(huì)破財(cái)

貔貅認(rèn)主不看財(cái)富,這四個(gè)生肖千萬別碰,戴了反而會(huì)破財(cái)

紙鳶奇譚
2026-04-13 16:06:54
張藝謀新劇《主角》爆火,張嘉益劉浩存表現(xiàn)平平,37歲女配卻出圈

張藝謀新劇《主角》爆火,張嘉益劉浩存表現(xiàn)平平,37歲女配卻出圈

冷紫葉
2026-05-11 18:12:37
2026-05-12 22:31:00
moonfdd incentive-icons
moonfdd
福大大架構(gòu)師每日一題
1221文章數(shù) 67關(guān)注度
往期回顧 全部

科技要聞

宇樹發(fā)布載人變形機(jī)甲,定價(jià)390萬元起

頭條要聞

新電動(dòng)車到手不足一月頻繁自動(dòng)鎖死 老人被摔傷五六次

頭條要聞

新電動(dòng)車到手不足一月頻繁自動(dòng)鎖死 老人被摔傷五六次

體育要聞

總是掉鏈子的“倒霉蛋”,闖進(jìn)了歐戰(zhàn)決賽

娛樂要聞

白鹿風(fēng)波升級(jí)!掉粉20萬評(píng)論區(qū)淪陷

財(cái)經(jīng)要聞

黃仁勛真是被白宮徹底封殺了

汽車要聞

吉利銀河“TT”申報(bào)圖曝光 電動(dòng)尾翼+激光雷達(dá)

態(tài)度原創(chuàng)

數(shù)碼
游戲
本地
公開課
軍事航空

數(shù)碼要聞

綠聯(lián)推出“AP16”16英寸便攜屏:2.5K 165Hz +揚(yáng)聲器,1799元

《紅色沙漠》更新暴雷 暗改女性服裝!官方回應(yīng)了

本地新聞

用蘇繡的方式,打開江西婺源

公開課

李玫瑾:為什么性格比能力更重要?

軍事要聞

知情人士披露:美國(guó)或考慮恢復(fù)對(duì)伊朗軍事行動(dòng)

無障礙瀏覽 進(jìn)入關(guān)懷版