Qwen2.5:13個(gè)新模型來襲!開源通用、編碼、數(shù)學(xué)模型全解讀,72B超越Llama 405B - 本地安裝測(cè)試 精華
Qwen 發(fā)布了 13 個(gè)新模型,這些新模型被稱為 Qwen 2.5。這次發(fā)布有三種類型的模型:通用任務(wù)模型、編碼模型和數(shù)學(xué)模型。通用任務(wù)模型有七種尺寸:0.5B 模型、1.5B 模型、3B 模型、7B 模型、14B 模型、32B 模型和 72B 模型。
編碼模型有 1.5B 和 7B 尺寸,未來還會(huì)推出 32B 版本,但目前尚未提供。與此同時(shí),數(shù)學(xué)模型有 1.5B、7B 和 72B 尺寸。這些模型都是開源的,并根據(jù) Apache 2.0 許可發(fā)布,除了 3B 和 72B 版本。
他們還發(fā)布了 Qwen 2.5 Plus 和 Turbo 版本,這些是閉源的,僅通過他們的 API 提供,表現(xiàn)非常好,一次性發(fā)布這么多模型真是太酷了。
無論如何,讓我們仔細(xì)看看這些模型。這些新模型是基于最多 18 萬億個(gè) tokens 訓(xùn)練的,而編碼模型則是基于大約 5.5 萬億個(gè)與代碼相關(guān)的數(shù)據(jù)進(jìn)行訓(xùn)練的。
除此之外,這些模型還支持 Chain of Thought(思維鏈)和其他功能,這也很不錯(cuò)??傮w上來說,這些模型比 Qwen 2 表現(xiàn)得更好,Qwen 2 已經(jīng)給人留下了深刻印象,而這些新模型更是進(jìn)一步提升。
他們聲稱這些新模型具有更多的知識(shí),并在編碼和數(shù)學(xué)方面有了顯著改進(jìn)。這些新模型在指令遵循、生成長文本、理解結(jié)構(gòu)化數(shù)據(jù)和生成結(jié)構(gòu)化輸出(特別是 JSON 格式)方面取得了顯著的進(jìn)步。
這些新模型支持的上下文長度可以達(dá)到 128K tokens,且能生成大約 8K tokens 的輸出,這非常不錯(cuò)。這些新模型還保留了對(duì) 29 種語言的多語言支持。
此外,期待已久的 Qwen 2.5 編碼模型終于來了,上一個(gè)編碼模型 Qwen 1.5 是大約一年前發(fā)布的,而現(xiàn)在他們發(fā)布了新版本,該版本基于 5.5 萬億個(gè)與代碼相關(guān)的數(shù)據(jù)進(jìn)行訓(xùn)練,使得更小的編碼特定模型能夠在編碼評(píng)估基準(zhǔn)上與更大的語言模型展開競爭。
現(xiàn)在讓我們來看看基準(zhǔn)測(cè)試結(jié)果。
72B 模型在幾乎所有基準(zhǔn)測(cè)試中都超過了之前的 Qwen 2 模型和 Llama 3.1,甚至在一些基準(zhǔn)中超過了更高參數(shù)的模型,這非常令人印象深刻。
他們還發(fā)布了一個(gè) 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)異,在幾乎所有基準(zhǔn)測(cè)試中都非常接近 GPT 40 Mini,看到這一點(diǎn)真的很酷。
他們還分享了一張圖表,顯示了模型的 MMLU 分?jǐn)?shù)隨著模型尺寸的縮小而提升。
3B 模型現(xiàn)在的 MMLU 分?jǐn)?shù)與之前的 72B 模型相似,看到這一點(diǎn)非常令人驚喜。此外,所有這些模型現(xiàn)在都支持生成最多 8K tokens 的長文本,并且能夠生成更好的結(jié)構(gòu)化輸出。
現(xiàn)在讓我們談?wù)?Qwen 2.5 的編碼模型。
根據(jù)他們的說法,Qwen 2.5 編碼模型現(xiàn)在是最好的編碼模型之一。7B 編碼模型在幾乎所有基準(zhǔn)測(cè)試中都擊敗了其他模型,包括 Cod Astral 和 Deep Seek V2 Coder Light,而這些模型的尺寸是 7B 模型的三倍,看到這一點(diǎn)真是令人驚嘆。
如果我們具體看看基準(zhǔn)測(cè)試結(jié)果,Human Eval 基準(zhǔn)測(cè)試的表現(xiàn)相當(dāng)出色,而 MBPP 也展現(xiàn)了相似的結(jié)果,其他基準(zhǔn)測(cè)試也大體相似,除了 BigCode Bench,Deep Seek 的得分略高一些,但 Qwen 也非常接近,指令調(diào)優(yōu)的模型也顯示了類似的結(jié)果,這很棒。
他們還用多種編程語言對(duì)其進(jìn)行了測(cè)試,Qwen 在大多數(shù)語言中都表現(xiàn)出色,看到這一點(diǎn)非常驚人。
除此之外,在 CRUXEval
它還在數(shù)學(xué)推理基準(zhǔn)測(cè)試中擊敗了 Deep Seek,在基本功能方面也展現(xiàn)了相似的結(jié)果,這同樣令人印象深刻。
目前他們的編碼模型陣容包括 1.5B 和 7B 模型,但未來他們計(jì)劃推出 32B 模型,令人期待。
現(xiàn)在我們聊聊數(shù)學(xué)模型,因?yàn)樗幸恍┯腥さ墓δ?。?shù)學(xué)模型現(xiàn)在有 Chain of Thought(思維鏈),這意味著它可以像 o1 一樣使用逐步推理來更有效地解決復(fù)雜問題。
他們建議不要將這一系列模型用于其他任務(wù),因?yàn)樗菫樘囟ㄓ美M(jìn)行了微調(diào)的。他們已經(jīng)將其與同類范圍內(nèi)的其他模型進(jìn)行了測(cè)試,通常表現(xiàn)優(yōu)于其他模型,得益于它的新推理方法。
他們還添加了 Python 解釋器支持,有時(shí)會(huì)生成代碼來更好地解決問題并找到答案,這非常酷。
▲ https://github.com/QwenLM/Qwen-Agent
我不是數(shù)學(xué)天才,但如果你是,你可以嘗試一下。
所以這些就是關(guān)于這些模型的基本信息。這些模型現(xiàn)在可以在 Ollama 上本地使用,他們還在 Hugging Face 上推出了一個(gè)空間供大家試用。
我不會(huì)在這篇文章中測(cè)試這些模型,因?yàn)闇y(cè)試這么多模型文章會(huì)很長。我會(huì)用一篇單獨(dú)文章來測(cè)試,盡情期待。
huggingface 部署
快速創(chuàng)建一個(gè)虛擬環(huán)境,我將它命名為 Qwen。
接下來我要安裝所有的前置需求,包括 Torch 和 Transformers。
現(xiàn)在我們要做的是安裝這個(gè)系列中的一個(gè)小型模型,它只有 5 億參數(shù)。
它是 Qwen 2.5 的一個(gè)因果語言模型(Causal Language Models),參數(shù)總數(shù)為 5 億 49 百萬,其中 36 百萬參數(shù)是不參與訓(xùn)練的。
它有 24 層,并且使用了 GQA(分組查詢注意力)。它的上下文窗口為 32K,也就是說,它一次可以處理 32K 大小的數(shù)據(jù),并且能夠一次生成 8000 個(gè) token,即使是這個(gè)小模型,真的非常令人印象深刻。
讓我啟動(dòng) Jupyter Notebook,這樣我們可以在瀏覽器環(huán)境中下載并測(cè)試這個(gè)模型。
讓我導(dǎo)入相關(guān)的庫,然后下載這個(gè)新模型及其分詞器。
你可以看到這個(gè)模型只有 988MB,等待下載完成。
模型下載完了,讓我們進(jìn)行一些推理測(cè)試。
在第一個(gè)測(cè)試中,我問了一個(gè)經(jīng)典的問題:“草莓里面有多少個(gè)r?” 大多數(shù)模型會(huì)回答錯(cuò)誤。
但是我們來試試看。這個(gè)過程非常標(biāo)準(zhǔn),我們提供提示,指定系統(tǒng)和用戶角色,使用分詞器將文本轉(zhuǎn)換為 token,生成輸出,然后解碼并打印響應(yīng)。
看到了嗎?這個(gè)小模型竟然回答正確了!
接下來我做了另一個(gè)測(cè)試,要求模型寫 10 個(gè)以“美麗”結(jié)尾的句子。
好吧,這一次模型失敗了,它沒有做到。
我們知道它可以一次生成 8000 個(gè) token,所以接下來我讓它寫一篇關(guān)于數(shù)據(jù)集準(zhǔn)備的研究論文,嘗試提出一些新的想法,并盡可能詳細(xì)地描述。這里我設(shè)置了 8000 個(gè) token 的生成上限。
好的,論文已經(jīng)生成了一部分。我檢查了我的 GPU 使用情況,顯存消耗大約是 1.3GB,表現(xiàn)不錯(cuò)。雖然它沒有生成完整的 8000 字論文,但寫的內(nèi)容還是相當(dāng)不錯(cuò)的。
vLMM部署
建議使用最新版本的 vLLM 來構(gòu)建兼容 OpenAI 的 API 服務(wù),支持工具使用。以下是使用聊天模型啟動(dòng)服務(wù)器的步驟,以 ??Qwen2.5-7B-Instruct?
? 為例:
vllm serve Qwen/Qwen2.5-7B-Instruct
啟動(dòng)服務(wù)器后,你可以通過如下的聊天 API 與模型進(jìn)行交互:
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ā)送聊天請(qǐng)求:
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 博客后面的這個(gè)歸納還挺有用的:
本文轉(zhuǎn)載自 ??AI進(jìn)修生??,作者: Aitrainee
