阿里推出全新推理模型(因果語言模型),僅1/20參數媲美DeepSeek R1

阿里Qwen 團隊正式發布了他們最新的研究成果——QwQ-32B大語言模型!這款模型不僅名字萌萌噠(QwQ),實力更是不容小覷!😎
QwQ-32B 已在 Hugging Face 和 ModelScope 開源,采用了 Apache 2.0 開源協議。大家可通過 Qwen Chat 直接進行體驗!在這里插入圖片描述

Qwen 團隊卻用320億參數的 QwQ-32B,硬剛擁有6710億參數的 DeepSeek-R1,并且在多項評測中取得了媲美甚至超越后者的驚人成績!背后究竟是什么黑科技?答案就是——強化學習(Reinforcement Learning,RL)!

劃重點:強化學習,大模型的新引擎!💪

Qwen 團隊在博文中提到,他們深入探索了強化學習(RL)在提升大語言模型智能方面的巨大潛力。QwQ-32B 的成功發布,有力地證明了RL 是提升模型性能的強大引擎!

多項基準評測硬剛 DeepSeek-R1
官方給出基準評測結果,涵蓋了數學推理、代碼能力和通用問題解決等多個方面:
在這里插入圖片描述
從數據中我們可以清晰地看到,在AIME24和IFEval等關鍵基準測試中,QwQ-32B 的表現甚至略微超過了參數量巨大的 DeepSeek-R1!而在其他基準測試中,也基本與 DeepSeek-R1 持平,遠超其他對比模型。

這意味著 QwQ-32B 在僅有 DeepSeek-R1 約 1/20 參數量的情況下,用強化學習,實現了性能上的驚人跨越!

實例對比:我身高1.73米,拿著一根5.5米長的竹竿,能否通過高4米、寬3米的門?

這個問題目前只有騰訊元寶/問小白里的deepseek回答可以通過
在這里插入圖片描述
在這里插入圖片描述

技術揭秘:

冷啟動+結果導向的強化學習策略

Qwen 團隊在博文中也簡單介紹了 QwQ-32B 背后的強化學習方法。他們采用了冷啟動(cold-start checkpoint)的方式,并實施了結果導向(outcome-based rewards)的強化學習策略。

? 冷啟動:從一個預訓練模型的檢查點開始訓練。

? 結果導向:在初始階段,主要針對數學和代碼任務進行 RL 訓練。

? 數學問題:使用準確率驗證器(accuracy verifier)來確保答案的正確性。

? 代碼生成:使用代碼執行服務器(code execution server)來評估生成的代碼是否能夠成功運行。

? 通用獎勵模型和規則驗證器:后續階段,會逐步引入更通用的獎勵模型和規則驗證器,提升模型在其他通用能力方面的表現。

這種策略的核心在于不依賴傳統的獎勵模型,而是直接根據任務結果(答案是否正確,代碼是否運行成功)來指導模型的學習,更加高效和直接。

冷啟動的基礎上開展了大規模強化學習。在初始階段,特別針對數學和編程任務進行了 RL 訓練。與依賴傳統的獎勵模型(rewardmodel)不同,通過校驗生成答案的正確性來為數學問題提供反饋,并通過代碼執行服務器評估生成的代碼是否成功通過測試用例來提供代碼的反饋。隨著訓練輪次的推進,這兩個領域中的性能均表現出持續的提升。在第一階段的RL 過后,增加了另一個針對通用能力的 RL。此階段使用通用獎勵模型和一些基于規則的驗證器進行訓練。發現,通過少量步驟的通用RL,可以提升其他通用能力,同時在數學和編程任務上的性能沒有顯著下降。

特點:

? 類型:因果語言模型

? 訓練階段:預訓練與后訓練(監督微調和強化學習)

? 架構:帶 RoPE、SwiGLU、RMSNorm 和注意力 QKV 偏置的 Transformer

? 參數數量:325 億

? 非嵌入參數數量:310 億

? 層數:64

? 注意力頭數量(GQA):Q 為 40,KV 為 8

? 上下文長度:完整支持 131,072 個標記

環境要求

Qwen2.5 的代碼已集成到最新版的 Hugging Facetransformers中,建議使用最新版本的transformers

如果你使用的是transformers<4.37.0,可能會遇到以下錯誤:

KeyError: 'qwen2'

快速入門

API調用

from openai import OpenAI
import os# Initialize OpenAI client
client = OpenAI(# If the environment variable is not configured, replace with your API Key: api_key="sk-xxx"# How to get an API Key:https://help.aliyun.com/zh/model-studio/developer-reference/get-api-keyapi_key=os.getenv("DASHSCOPE_API_KEY"),base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)reasoning_content = ""
content = ""is_answering = Falsecompletion = client.chat.completions.create(model="qwq-32b",messages=[{"role": "user", "content": "Which is larger, 9.9 or 9.11?"}],stream=True,# Uncomment the following line to return token usage in the last chunk# stream_options={#     "include_usage": True# }
)print("\n" + "=" * 20 + "reasoning content" + "=" * 20 + "\n")for chunk in completion:# If chunk.choices is empty, print usageif not chunk.choices:print("\nUsage:")print(chunk.usage)else:delta = chunk.choices[0].delta# Print reasoning contentif hasattr(delta, 'reasoning_content') and delta.reasoning_content is not None:print(delta.reasoning_content, end='', flush=True)reasoning_content += delta.reasoning_contentelse:if delta.content != "" and is_answering is False:print("\n" + "=" * 20 + "content" + "=" * 20 + "\n")is_answering = True# Print contentprint(delta.content, end='', flush=True)content += delta.content

transformers 本地加載

from transformers import AutoModelForCausalLM, AutoTokenizermodel_name = "Qwen/QwQ-32B"model = AutoModelForCausalLM.from_pretrained(model_name,torch_dtype="auto",device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)prompt = "單詞 'strawberry' 中有幾個字母 'r'?"
messages = [{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True
)model_inputs = tokenizer([text], return_tensors="pt").to(model.device)generated_ids = model.generate(**model_inputs,max_new_tokens=32768
)
generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)

使用指南

為了達到最佳性能,建議以下設置:

? 確保深思熟慮的輸出:確保模型以"<think>"開頭,以避免生成空洞的思考內容,這可能會降低輸出質量。如果你使用apply_chat_template并設置add_generation_prompt=True,這已經自動實現,但可能會導致響應缺少開頭的<think>標簽。這是正常現象。

? 采樣參數

? 使用溫度參數 Temperature=0.6TopP=0.95,而不是貪婪解碼,以避免無盡重復并增強多樣性。

? 對于復雜的推理任務(如數學或編程),設置 TopK=40

? 對于其他類型的問題,使用 TopK=20。

? 標準化輸出格式:在基準測試時,建議使用提示詞來標準化模型輸出。

? 數學問題:在提示詞中加入"請逐步推理,并將最終答案放在\boxed{}中。"

? 選擇題:在提示詞中加入以下 JSON 結構以標準化回答:“請在answer字段中顯示你的選擇,僅使用選項字母,例如,\"answer\": \"C\"。”

? 處理長輸入:對于超過 32,768 個標記的輸入,啟用YaRN以提升模型對長序列信息的捕捉能力。

如果你需要支持的框架,可以在config.json中添加以下內容以啟用 YaRN

{...,"rope_scaling": {"factor": 4.0,"original_max_position_embeddings": 32768,"type": "yarn"}
}

目前,vLLM 僅支持靜態 YaRN,這意味著縮放因子無論輸入長度如何都保持不變,可能會對較短文本的性能產生影響。建議僅在需要處理長上下文時添加rope_scaling配置。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71537.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71537.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71537.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

TomcatServlet

https://www.bilibili.com/video/BV1UN411x7xe tomcat tomcat 架構圖&#xff0c;與 jre&#xff0c;應用程序之前的關系 安裝使用 tomcat 10 開始&#xff0c;api 從 javax.* 轉為使用 jakarta.*&#xff0c;需要至少使用 jdk 11 cmd 中默認 gbk 編碼&#xff0c;解決控制…

JDK ZOOKEEPER KAFKA安裝

JDK17下載安裝 mkdir -p /usr/local/develop cd /usr/local/develop 將下載的包上傳服務器指定路徑 解壓文件 tar -zxvf jdk-17.0.14_linux-x64_bin.tar.gz -C /usr/local/develop/ 修改文件夾名 mv /usr/local/develop/jdk-17.0.14 /usr/local/develop/java17 配置環境變量…

高考數學。。。

2024上 具體來說&#xff0c;直線的參數方程可以寫為&#xff1a; x1t y?t z1t 二、簡答題(本大題共5小題&#xff0c;每小題7分&#xff0c;共35分。) 12.數學學習評價不僅要關注結果評價&#xff0c;也要關注過程評價。簡要說明過程評價應關注哪幾個方面。…

C# 實現鼠標軌跡錄制與回放自動化功能(附源碼)

在軟件自動化測試或者重復性辦公任務中&#xff0c;鼠標操作的自動化可以大大減少人工干預&#xff0c;提高工作效率。這里將詳細介紹如何使用 C# 實現鼠標軌跡的錄制與回放功能&#xff0c;代碼結構清晰&#xff0c;具有較強的擴展性。 引用 NuGet 包 在開發這個功能時&…

Nacos 核心功能實戰筆記(超詳細)

Nacos 核心功能實戰筆記 一、Nacos 簡介 1. 是什么&#xff1f; 全稱&#xff1a;Nacos Naming and Configuration Service定位&#xff1a;阿里巴巴開源的 動態服務發現、配置管理、服務管理平臺核心功能&#xff1a;服務注冊與發現 統一配置管理 服務健康監測適用場景&…

安裝remixd,在VScode創建hardhat

在終端&#xff0c;以管理員身份&#xff0c;cmd 需要科學上網 npm install -g remix-project/remixd 在vscode插件中&#xff0c;安裝solidity插件&#xff0c;是暗灰色那款 1.將nodeJs的版本升級至18以上 2.在vscode打開一個新的文件&#xff0c;在終端輸入 npx hardhat 3.…

unity pico開發 四 物體交互 抓取 交互層級

文章目錄 手部設置物體交互物體抓取添加抓取抓取三種類型抓取點偏移抓取事件抓取時不讓物體吸附到手部 射線抓取交互層級 手部設置 為手部&#xff08;LeftHandController&#xff09;添加XRDirInteractor腳本 并添加一個球形碰撞盒&#xff0c;勾選isTrigger,調整大小為0.1 …

CyberRT(apollo) 定時器模塊簡述及bug分析

timer 模塊 timer的定義&#xff0c;cyberrt中timer模塊用于設置定時器任務&#xff0c;字面意思&#xff0c;設置設置定時周期及出發頻次&#xff08;周期 or oneshot)&#xff0c;到達指定時間時間觸發callback time wheel 時鐘節拍輪&#xff0c;常見的定時器設計&#x…

java八股文之消息中間件

1.RabbitMQ如何保證消息不丟失 開啟生產者確認機制&#xff0c;確保生產者的消息能到達隊列開啟持久化功能&#xff0c;確保消息未消費前在隊列中不會丟失&#xff08;交換機&#xff0c;隊列&#xff0c;消息都需要開啟持久化功能&#xff09;開啟消費者確認機制為auto,由spr…

Win7重裝不翻車!ISO鏡像安全下載渠道+BIOS設置避雷手冊

一、寫在前面&#xff1a;為什么你需要這份教程&#xff1f; 當電腦頻繁藍屏、系統崩潰甚至無法開機時&#xff0c;重裝系統可能是最后的救命稻草。但市面上的教程往往存在三大痛點&#xff1a; ?? 鏡像來源不明導致系統被植入后門 ?? 啟動盤制作失敗反復折騰 ?? 操作失…

大學至今的反思與總結

現在是2025年的3月5日&#xff0c;我大三下學期。 自大學伊始&#xff0c;我便以考研作為自己的目標&#xff0c;有時還會做自己考研上岸頭部985,211&#xff0c;offer如潮水般涌來的美夢。 但是我卻忽略了一點&#xff0c;即便我早早下定了決心去考研&#xff0c;但并沒有早…

SpringBoot 全局異常處理

文章目錄 異常處理全局異常處理(推薦)局部異常處理高級技巧設置返回狀態碼處理404異常異常處理 全局異常處理(推薦) 創建一個全局異常處理類,使用 @RestControllerAdvice 注解標記。 在方法上使用 @ExceptionHandler 聲明當前方法可處理的異常類型。當系統發生異常時,…

【四.RAG技術與應用】【11.阿里云百煉應用(上):RAG在云端的實踐】

一、為什么需要RAG?大模型的“知識困境”與破局之道 大模型雖然“博學”,但它的知識庫存在兩個致命短板: 缺乏私有知識:比如企業內部的產品手冊、客戶數據、行業報告等;知識更新滯后:大模型的訓練數據往往停留在某個時間點,無法實時獲取最新信息(比如今天的股票行情或…

使用wifi連接手機adb進行調試|不使用數據線adb調試手機|找應用錯誤日志和操作日志

手機在開發者選項里要開啟無線調試 在手機設置中查看WiFi的IP地址 設置 -> WLAN -> 已連接的WiFi -> IP地址 使用手機的IP地址連接 adb connect 192.168.1.12:xxxxx 檢查連接狀態 adb devices 斷開特定設備 adb disconnect 192.168.x.x:xxxxx 斷開所有設備 …

mapbox高階,結合threejs(threebox)添加三維球體

????? 主頁: gis分享者 ????? 感謝各位大佬 點贊?? 收藏? 留言?? 加關注?! ????? 收錄于專欄:mapbox 從入門到精通 文章目錄 一、??前言1.1 ??mapboxgl.Map 地圖對象1.2 ??mapboxgl.Map style屬性1.3 ??threebox Sphere靜態對象二、??使用t…

游戲引擎學習第140天

回顧并為今天的內容做準備 目前代碼的進展到了聲音混音的部分。昨天我詳細解釋了聲音的處理方式&#xff0c;聲音在技術上是一個非常特別的存在&#xff0c;但在游戲中進行聲音混音的需求其實相對簡單明了&#xff0c;所以今天的任務應該不會太具挑戰性。 今天我們會編寫一個…

golang并發編程如何學習

《掌握 Golang 并發編程的通關秘籍》 在當今的編程世界中&#xff0c;Golang 并發編程正以其獨特的魅力和強大的能力吸引著眾多開發者。然而&#xff0c;對于許多小伙伴來說&#xff0c;如何學好這門技術卻成了一個頭疼的問題。別擔心&#xff0c;今天就讓我來為大家揭開 Gola…

SpringMVC學習(controller層加載控制與(業務、功能)bean加載控制、Web容器初始化配置類)(3)

目錄 一、SpringMVC、Spring的bean加載控制。 &#xff08;1&#xff09;實際開發的包結構層次。 &#xff08;2&#xff09;如何"精準"控制兩個容器分別加載各自bean。(分析) <1>SpringMVC相關bean加載控制。(方法) <2>Spring相關bean加載控制。(方法) …

fastapi+mysql實現增刪改查

說明&#xff1a; 我計劃用python的fastapi框架&#xff0c;實現操作MySQL數據庫的表&#xff0c;實現增刪改查的操作&#xff0c;并且在postman里面測試 step1: 安裝數據庫依賴 pip install fastapi uvicorn pymysqlstep2:C:\Users\Administrator\PycharmProjects\FastAPIPro…

Linux系統之配置HAProxy負載均衡服務器

Linux系統之配置HAProxy負載均衡服務器 前言一、HAProxy介紹1.1 HAProxy簡介1.2 主要特點1.3 使用場景二、本次實踐介紹2.1 本次實踐簡介2.2 本次實踐環境規劃三、部署兩臺web服務器3.1 運行兩個Docker容器3.2 編輯測試文件3.3 訪問測試四、安裝HAProxy4.1 更新系統軟件源4.2 安…