llama.cpp 修復投機解碼下 logprobs 為空的問題
llama.cpp 建置 b11776 修復了服務端在開啟投機解碼(speculative decoding)時無法正確返回 logprobs 的問題:此前被接受的草稿 token 其 logprob 報為 0.0、top_logprobs 為空,現在改為返回目標模型的 logprobs。同時新增迴歸測試(#24271),把開啟草稿的執行與不開草稿的基線做對比,該測試在修復前的版本上失敗,應用 #27196 後通過。
原標題:b11776
閱讀原文
| 評分 | 42 / 44(平均 43,門檻 60) |
|---|---|
| 狀態 | 未入選 |
原文
相關報導
llama.cpp 為草稿模型與 MTP 加入機率取樣
llama.cpp 合併 PR #27694,為 simple draft 與 MTP 推測解碼引入機率取樣:草稿端按機率取樣,目標模型用拒絕取樣驗證,並修復草稿取樣器與目標模型共用 RNG 流等問題。新增開關控制機率草稿取樣,預設仍為貪心;語法約束請求回退到 argmax,同時支援在拒絕取樣中處理語法約束。改動由 NVIDIA 工程師參與提交,隨各平台建置一同發布。
llama.cpp 修復截斷後溫度大於 0 時 n-gram 草稿被拒的問題
llama.cpp 發布 b11387 版本,修復了在截斷後溫度大於 0 時 n-gram 草稿被拒絕的問題(PR #29924),由 NVIDIA 的 Pranesh Gonegandla 參與提交。
llama.cpp 建置 b11641:spec 新增 lilicorr 支援
llama.cpp 發布建置 b11641,其中 spec(推測解碼)新增 lilicorr 支援(PR #30506),是本次最主要的變更。同一批提交還讓 convert 採用約定的超參賦值方式,併為 llama-batch.cpp 中的 hparam 使用留下 TODO,另有一處 typo 修復,提交由 Georgi Gerganov 共同署名。
llama.cpp 測試修復:MoE 路由選擇不再受後端噪聲干擾
llama.cpp 建置 b11752 的兩項改動都集中在測試程式碼:MoE 路由選擇加入 step 2 的偏置斜坡,讓每個專家擁有獨立的分數區間,使 top-k 只由專家索引決定,避免後端浮點噪聲把 token 路由到不同專家。此前只有 Beam 架構(8 個專家用 2 個、4 組用 2 個)會撞上這個問題,在 M2 Ultra 上 20 個種子有 2 個失敗、logits 相差 4e-3;修復後 160 個種子全部與 CPU 參考值吻合在 4e-7 以內。
llama.cpp 修復純 embedding 模型計算圖為空的問題
llama.cpp 合併 PR #30522,修復純 embedding 模型在未開啟 embeddings 時計算圖為空、輸入始終未被分配的問題:這類模型沒有 logits,且 build_pooling() 在 embeddings 關閉時會提前返回,圖會變空,因此改為在這種情況下也擴充套件 t_embd。