Qwen2.5:13個新模型來襲!開源通用、編碼、數(shù)學(xué)模型全解讀,72B超越Llama 405B - 本地安裝測試
Qwen 剛剛發(fā)布了 13 個新模型,這些新模型被稱為 Qwen 2.5。這次發(fā)布有三種類型的模型:通用任務(wù)模型、編碼模型和數(shù)學(xué)模型。通用任務(wù)模型有七種尺寸:0.5B 模型、1.5B 模型、3B 模型、7B 模型、14B 模型、32B 模型和 72B 模型。
編碼模型有 1.5B 和 7B 尺寸,未來還會推出 32B 版本,但目前尚未提供。與此同時,數(shù)學(xué)模型有 1.5B、7B 和 72B 尺寸。這些模型都是開源的,并根據(jù) Apache 2.0 許可發(fā)布,除了 3B 和 72B 版本。
他們還發(fā)布了 Qwen 2.5 Plus 和 Turbo 版本,這些是閉源的,僅通過他們的 API 提供,表現(xiàn)非常好,一次性發(fā)布這么多模型真是太酷了。
無論如何,讓我們仔細看看這些模型。這些新模型是基于最多 18 萬億個 tokens 訓(xùn)練的,而編碼模型則是基于大約 5.5 萬億個與代碼相關(guān)的數(shù)據(jù)進行訓(xùn)練的。
除此之外,這些模型還支持 Chain of Thought(思維鏈)和其他功能,這也很不錯??傮w上來說,這些模型比 Qwen 2 表現(xiàn)得更好,Qwen 2 已經(jīng)給人留下了深刻印象,而這些新模型更是進一步提升。
他們聲稱這些新模型具有更多的知識,并在編碼和數(shù)學(xué)方面有了顯著改進。這些新模型在指令遵循、生成長文本、理解結(jié)構(gòu)化數(shù)據(jù)和生成結(jié)構(gòu)化輸出(特別是 JSON 格式)方面取得了顯著的進步。
這些新模型支持的上下文長度可以達到 128K tokens,且能生成大約 8K tokens 的輸出,這非常不錯。這些新模型還保留了對 29 種語言的多語言支持。
此外,期待已久的 Qwen 2.5 編碼模型終于來了,上一個編碼模型 Qwen 1.5 是大約一年前發(fā)布的,而現(xiàn)在他們發(fā)布了新版本,該版本基于 5.5 萬億個與代碼相關(guān)的數(shù)據(jù)進行訓(xùn)練,使得更小的編碼特定模型能夠在編碼評估基準上與更大的語言模型展開競爭。
現(xiàn)在讓我們來看看基準測試結(jié)果。
72B 模型在幾乎所有基準測試中都超過了之前的 Qwen 2 模型和 Llama 3.1,甚至在一些基準中超過了更高參數(shù)的模型,這非常令人印象深刻。
他們還發(fā)布了一個 Qwen Plus 模型,
只能通過他們的 API 使用,并且不公開發(fā)布,但在與閉源模型的比較中表現(xiàn)非常出色。
除此之外,Qwen 2.5 32B 模型在與其他開源模型(如 Gemma)以及閉源模型 GPT 4o Mini 的比較中也展現(xiàn)了令人印象深刻的表現(xiàn),這也非???。
它僅在 ieval Arena Hard 和 aLine Bench 上稍遜一籌。18B 模型也表現(xiàn)優(yōu)異,在幾乎所有基準測試中都非常接近 GPT 40 Mini,看到這一點真的很酷。
他們還分享了一張圖表,顯示了模型的 MMLU 分數(shù)隨著模型尺寸的縮小而提升。
3B 模型現(xiàn)在的 MMLU 分數(shù)與之前的 72B 模型相似,看到這一點非常令人驚喜。此外,所有這些模型現(xiàn)在都支持生成最多 8K tokens 的長文本,并且能夠生成更好的結(jié)構(gòu)化輸出。
現(xiàn)在讓我們談?wù)?Qwen 2.5 的編碼模型。
根據(jù)他們的說法,Qwen 2.5 編碼模型現(xiàn)在是最好的編碼模型之一。7B 編碼模型在幾乎所有基準測試中都擊敗了其他模型,包括 Cod Astral 和 Deep Seek V2 Coder Light,而這些模型的尺寸是 7B 模型的三倍,看到這一點真是令人驚嘆。
如果我們具體看看基準測試結(jié)果,Human Eval 基準測試的表現(xiàn)相當出色,而 MBPP 也展現(xiàn)了相似的結(jié)果,其他基準測試也大體相似,除了 BigCode Bench,Deep Seek 的得分略高一些,但 Qwen 也非常接近,指令調(diào)優(yōu)的模型也顯示了類似的結(jié)果,這很棒。
他們還用多種編程語言對其進行了測試,Qwen 在大多數(shù)語言中都表現(xiàn)出色,看到這一點非常驚人。
除此之外,在 CRUXEval Chain of Thought 中,它也展現(xiàn)了出色的結(jié)果,令人驚嘆。
它還在數(shù)學(xué)推理基準測試中擊敗了 Deep Seek,在基本功能方面也展現(xiàn)了相似的結(jié)果,這同樣令人印象深刻。
目前他們的編碼模型陣容包括 1.5B 和 7B 模型,但未來他們計劃推出 32B 模型,令人期待。
現(xiàn)在我們聊聊數(shù)學(xué)模型,因為它有一些有趣的功能。數(shù)學(xué)模型現(xiàn)在有 Chain of Thought(思維鏈),這意味著它可以像 o1 一樣使用逐步推理來更有效地解決復(fù)雜問題。
他們建議不要將這一系列模型用于其他任務(wù),因為它是為特定用例進行了微調(diào)的。他們已經(jīng)將其與同類范圍內(nèi)的其他模型進行了測試,通常表現(xiàn)優(yōu)于其他模型,得益于它的新推理方法。
他們還添加了 Python 解釋器支持,有時會生成代碼來更好地解決問題并找到答案,這非???。
▲ https://github.com/QwenLM/Qwen-Agent
我不是數(shù)學(xué)天才,但如果你是,你可以嘗試一下。
所以這些就是關(guān)于這些模型的基本信息。這些模型現(xiàn)在可以在 Ollama 上本地使用,他們還在 Hugging Face 上推出了一個空間供大家試用。
我不會在這篇文章中測試這些模型,因為測試這么多模型文章會很長。我會用一篇單獨文章來測試,盡情期待。
huggingface 部署
快速創(chuàng)建一個虛擬環(huán)境,我將它命名為 Qwen。
接下來我要安裝所有的前置需求,包括 Torch 和 Transformers。
現(xiàn)在我們要做的是安裝這個系列中的一個小型模型,它只有 5 億參數(shù)。
它是 Qwen 2.5 的一個因果語言模型(Causal Language Models),參數(shù)總數(shù)為 5 億 49 百萬,其中 36 百萬參數(shù)是不參與訓(xùn)練的。
它有 24 層,并且使用了 GQA(分組查詢注意力)。它的上下文窗口為 32K,也就是說,它一次可以處理 32K 大小的數(shù)據(jù),并且能夠一次生成 8000 個 token,即使是這個小模型,真的非常令人印象深刻。
讓我啟動 Jupyter Notebook,這樣我們可以在瀏覽器環(huán)境中下載并測試這個模型。
讓我導(dǎo)入相關(guān)的庫,然后下載這個新模型及其分詞器。
你可以看到這個模型只有 988MB,等待下載完成。
模型下載完了,讓我們進行一些推理測試。
在第一個測試中,我問了一個經(jīng)典的問題:“草莓里面有多少個r?” 大多數(shù)模型會回答錯誤。
但是我們來試試看。這個過程非常標準,我們提供提示,指定系統(tǒng)和用戶角色,使用分詞器將文本轉(zhuǎn)換為 token,生成輸出,然后解碼并打印響應(yīng)。
看到了嗎?這個小模型竟然回答正確了!
接下來我做了另一個測試,要求模型寫 10 個以“美麗”結(jié)尾的句子。
好吧,這一次模型失敗了,它沒有做到。
我們知道它可以一次生成 8000 個 token,所以接下來我讓它寫一篇關(guān)于數(shù)據(jù)集準備的研究論文,嘗試提出一些新的想法,并盡可能詳細地描述。這里我設(shè)置了 8000 個 token 的生成上限。
好的,論文已經(jīng)生成了一部分。我檢查了我的 GPU 使用情況,顯存消耗大約是 1.3GB,表現(xiàn)不錯。雖然它沒有生成完整的 8000 字論文,但寫的內(nèi)容還是相當不錯的。
vLMM部署
建議使用最新版本的 vLLM 來構(gòu)建兼容 OpenAI 的 API 服務(wù),支持工具使用。以下是使用聊天模型啟動服務(wù)器的步驟,以 ??Qwen2.5-7B-Instruct?
? 為例:
vllm serve Qwen/Qwen2.5-7B-Instruct
啟動服務(wù)器后,你可以通過如下的聊天 API 與模型進行交互:
curl http://localhost:8000/v1/chat/completions -H "Content-Type: application/json" -d '{
"model": "Qwen/Qwen2.5-7B-Instruct",
"messages": [
{"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."},
{"role": "user", "content": "Tell me something about large language models."}
],
"temperature": 0.7,
"top_p": 0.8,
"repetition_penalty": 1.05,
"max_tokens": 512 }'
Python 客戶端示例
使用 OpenAI Python 客戶端調(diào)用 vLLM API 服務(wù)。您可以按照以下步驟配置并發(fā)送聊天請求:
from openai import OpenAI
# 設(shè)置 OpenAI 的 API 密鑰和 API 基地址,使用 vLLM 提供的 API 服務(wù)
openai_api_key = "EMPTY"
openai_api_base = "http://localhost:8000/v1"
client = OpenAI(
api_key=openai_api_key,
base_url=openai_api_base,
)
chat_response = client.chat.completions.create(
model="Qwen2.5-7B-Instruct",
messages=[
{"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."},
{"role": "user", "content": "Tell me something about large language models."},
],
temperature=0.7,
top_p=0.8,
max_tokens=512,
extra_body={
"repetition_penalty": 1.05,
},
)
print("Chat response:", chat_response)
Qwen2.5 博客后面的這個歸納還挺有用的:
▲ https://qwenlm.github.io/blog/qwen2.5/
圖片
??希望這篇文章對你有幫助,感謝閱讀!如果你喜歡這系列文章請以 點贊 / 分享 / 在看 的方式告訴我,以便我用來評估創(chuàng)作方向。
參考鏈接:
[1] blog:https://qwenlm.github.io/blog/
[2] huggingface:https://huggingface.co/spaces/Qwen/Qwen2.5
[3] ?https://www.youtube.com/watch?v=cad59UJO6-
[4]? https://www.youtube.com/watch?v=x97BWsrmjpU
[5] https://github.com/QwenLM/Qwen-Agent?
本文轉(zhuǎn)載自 ??AI進修生??,作者: Aitrainee
