DeepSeek-R1勁敵?阿里QwQ實測

挑戰巨人:輕巧的競爭者

QwQ 儘管與 DeepSeek R1 聲稱的 6710 億參數相比,僅有 320 億參數,卻被定位為「推理」模型。阿里巴巴聲稱,這個相對較小的模型可以在特定的基準測試中超越 R1,特別是在數學、編碼和函數調用等領域。這一雄心勃勃的說法值得我們仔細研究 QwQ 的內部運作和實際效能。

強化學習:QwQ 實力的關鍵

與 DeepSeek R1 類似,Qwen 團隊採用強化學習 (RL) 來優化 QwQ 的思維鏈推理能力。這種方法增強了模型逐步分析和分解複雜問題的能力。RL 的傳統方法是獎勵模型給出正確答案,從而強化準確的回應。

然而,Qwen 團隊對 QwQ 採取了更細緻的方法。他們整合了一個準確性驗證器和一個程式碼執行伺服器。這一關鍵的補充確保了只有在數學上合理的解決方案和可運行的程式碼才會獲得獎勵。通過實施這種嚴格的驗證過程,該團隊旨在培養一個具有更高精確度和可靠性的模型。

效能聲明:現實檢驗

Qwen 團隊聲稱,他們的努力產生了一個遠超其量級的模型。他們斷言 QwQ 的效能水準與更大的模型相當,甚至在某些情況下超越了它們。

然而,人工智慧基準測試的世界可能很複雜。重要的是要超越報告的數字,並檢驗這些說法如何轉化為實際的、真實世界的場景。

實機測試:讓 QwQ 接受考驗

為了評估 QwQ 的能力,設計了一系列測試提示,涵蓋了廣泛的領域。其中包括常識、空間推理、問題解決、數學以及其他已知對最先進的大型語言模型 (LLM) 構成困難的挑戰。

由於完整模型對記憶體的需求很大,測試在兩種配置下執行。首先,使用 Hugging Face 上的 QwQ demo 評估完整模型。這允許評估其全部潛力。其次,在 24GB GPU(特別是 Nvidia 3090 或 AMD Radeon RX 7900XTX)上測試了 4 位元量化版本。此配置旨在衡量量化對模型準確性的影響,使其更容易被硬體效能較低的使用者使用。

常識:保持水準

對於大多數常識問題,QwQ 表現出與 DeepSeek 的 6710 億參數 R1 和其他推理模型(如 OpenAI 的 o3-mini)相當的效能。該模型通常需要幾秒鐘來組織其思緒,然後再提供對查詢的回應。這種行為是推理模型的特徵,它們優先考慮仔細的思考而不是立即的回應。

擅長複雜性:邏輯、編碼和數學

QwQ 真正開始脫穎而出的地方是處理涉及邏輯、編碼或數學的更複雜的挑戰。讓我們深入研究這些領域,強調其優勢並指出一些不足之處。

空間推理:導航迷宮

Homebrew Research 開發了一個相對較新的空間推理測試,作為其 AlphaMaze 專案的一部分,用於評估 QwQ。

本地託管的 QwQ 實例和完整大小的模型都始終成功解決了這些難題。然而,每次運行確實需要幾分鐘才能完成。這表明雖然 QwQ 可以有效地處理空間推理,但它不一定是速度最快的。

相比之下,DeepSeek 的 R1 及其 32B distill 表現出不同的行為。兩種模型都成功解決了第一個迷宮。然而,R1 在第二個迷宮中掙扎,而 32B distill 在第二個迷宮中實現了 90% 的成功率。這種差異並非完全出乎意料,因為 R1 和 distill 使用不同的基礎模型。

雖然 QwQ 在此特定測試中表現出優於 DeepSeek 的效能,但在 4 位元模型中觀察到了一些不尋常的行為。最初,它需要幾乎兩倍的「思考」token 才能完成測試。這最初表明量化可能導致損失。然而,進一步的調查顯示,量化模型在其初始狀態下表現出次優效能。調整超參數並重新運行測試解決了這個問題,證明了正確配置的重要性。

單次編碼:潛在優勢

QwQ 因其在「單次」程式碼生成方面的潛力而備受關注——即在第一次嘗試時產生可用程式碼的能力。這個特定領域似乎是該模型的一個顯著優勢。

該模型被要求使用 pygame 函式庫以 Python 重新創建幾個相對簡單的遊戲。選擇的遊戲是 Pong、Breakout、Asteroids 和 Flappy Bird。

QwQ 相對輕鬆地處理了 Pong 和 Breakout。經過幾分鐘的處理,該模型生成了這兩個遊戲的可運行版本。

然而,當被要求重新創建 Asteroids 時,QwQ 遇到了困難。儘管生成的程式碼可以運行,但圖形和遊戲機制經常失真且存在錯誤。相比之下,R1 在第一次嘗試時就忠實地重現了經典的街機射擊遊戲。

重要的是要考慮這些模型的訓練資料。它們已經接觸了大量公開可用的原始碼,可能包括經典遊戲的複製品。這引出了一個問題,即模型是簡單地回憶學習到的資訊,還是獨立地從頭開始推導遊戲機制。這強調了這些大型神經網路的基本性質,其中明顯的智慧通常源於廣泛的模式識別。

即使存在這些限制,QwQ 在重現經典街機遊戲方面的表現仍然令人印象深刻,特別是考慮到它的參數數量。它可能無法在每次測試中都與 R1 匹敵,但它展示了非凡的能力水準。汽車界常用的「排量無可替代」這句話可能與此相關。這可以解釋為什麼阿里巴巴正在開發 QwQ 的「Max」版本,儘管它不太可能很快在消費級硬體上運行。

與 DeepSeek 類似大小的 R1 Qwen 2.5 32B distill 相比,阿里巴巴決定將程式碼執行伺服器整合到其強化學習流程中,可能在與程式設計相關的挑戰中賦予了優勢。

數學:能力與注意事項

從歷史上看,LLM 一直在與數學作鬥爭,這是它們以語言為中心的訓練的結果。雖然較新的模型已經顯示出改進,但 QwQ 仍然面臨挑戰,儘管原因不一定如人們所預期的那樣。

QwQ 成功解決了之前向 R1 提出的所有數學問題。這表明 QwQ 可以處理基本的算術甚至一些代數。然而,問題在於它的效率。當計算器和直接計算仍然隨時可用且速度明顯更快時,使用 LLM 進行數學計算似乎違反直覺。
例如,求解一個簡單的方程式,如 7*43,需要 QwQ 生成超過 1,000 個 token,在 RTX 3090 Ti 上大約需要 23 秒。這是一個可以在袖珍計算器上在很短的時間內完成的任務。

對於更大的計算,效率低下的問題變得更加明顯。求解 3394*35979,一個超出大多數非推理模型能力的乘法問題,QwQ 的本地實例花了三分鐘和超過 5,000 個 token 來計算。

在超參數修復之前,相同的方程式需要驚人的九分鐘和近 12,000 個 token。

這裡的關鍵要點是,雖然模型可能能夠通過蠻力找到正確的答案,但這並不一定意味著它是完成這項工作的最佳工具。更實用的方法是為 QwQ 提供對 Python 計算器的訪問權限。這利用了模型的優勢,同時將計算密集型任務卸載到更合適的工具上。

當被要求使用工具解決相同的 3394*35979 方程式時,QwQ 的回應時間驟降至八秒,因為計算器處理了繁重的工作。

「等待」的普遍性:一窺思維過程

檢查 QwQ 的「想法」會發現「等待」一詞頻繁出現,尤其是在複雜任務或文字問題期間。這反映了模型根據替代結果檢查其工作的內部過程。

雖然這種行為在推理模型中很常見,但當 QwQ 生成不正確的答案時,即使在「思考」過程中表現出對正確答案的理解,它也可能特別令人沮喪。

在測試過程中經常遇到這個問題。最能說明問題的例子之一是 AutoGen AI 對經典的狼、山羊和捲心菜問題的改編。這個難題提出了一個帶有轉折的運輸優化挑戰:

解決方案嵌入在提示中:有三個安全的隔間,農民可以一次運送所有物品。然而,由於這個難題與經典版本相似,模型經常忽略隔間。

在測試中,QwQ 始終未能正確解決這個難題。檢查它的思維過程表明它並沒有忽略這三個隔間。事實上,它承認了它們,但認為它們太簡單了:

「等等,如果農民可以一次帶走所有三個,那麼他就可以這樣做並完成。但這會使問題變得微不足道,這是不太可能的。所以也許隔間是分開的,但船只能攜帶兩件物品加上農民?」

無論測試是在雲端的完整模型上還是在本地運行,QwQ 都難以始終如一地解決這個問題。這突出了其推理能力的潛在局限性,它可能會過度思考或誤解問題的約束。

超參數敏感性:微妙的平衡

與其他模型相比,QwQ 對其配置表現出更高的敏感性。最初,阿里巴巴推薦了特定的採樣參數:

  • Temperature: 0.6
  • TopP: 0.95
  • TopK: 20 到 40 之間

隨後,這些建議被更新為包括:

  • MinP: 0
  • Presence Penalty: 0 到 2 之間

由於 Llama.cpp 處理採樣參數時存在明顯的錯誤(Llama.cpp 用於在模型上運行推理),因此還需要通過將其設置為 1 來禁用重複懲罰。

如前所述,解決這些配置問題導致了顯著的改進,將得出答案所需的「思考」token 數量減少了一半以上。然而,此錯誤似乎特定於在 Llama.cpp 推理引擎上運行的 GGUF 量化版本的模型,該引擎被 Ollama 和 LM Studio 等流行應用程式使用。

對於計劃使用 Llama.cpp 的使用者,強烈建議查閱 Unsloth 的指南以更正採樣順序。

QwQ 入門:實用指南

對於那些有興趣嘗試 QwQ 的人來說,在 Ollama 中進行設置相對簡單。但是,需要注意的是,它確實需要具有大量 vRAM 的 GPU。該模型已在具有足夠大上下文窗口的 24GB 3090 Ti 上成功運行,以供實際使用。

雖然從技術上講,在 CPU 和系統記憶體上運行該模型是可行的,但除非使用高端工作站或伺服器,否則這可能會導致極其緩慢的回應時間。

先決條件:

  1. 一台能夠以 4 位元量化運行中型 LLM 的機器。建議使用至少具有 24GB vRAM 的相容 GPU。可以在這裡找到受支援顯卡的列表。
  2. 對於 Apple Silicon Mac,建議至少 32GB 的記憶體。

本指南假定您基本熟悉 Linux 世界的命令列介面和 Ollama。

安裝 Ollama

Ollama 是一個流行的模型運行器,它簡化了在消費級硬體上下載和提供 LLM 的過程。對於 Windows 或 macOS 使用者,請像從 ollama.com 下載和安裝任何其他應用程式一樣下載和安裝它。

對於 Linux 使用者,Ollama 提供了一個方便的單行安裝程式: