如何使用 API 或本地端存取 Qwen 2 7B:完整指南

如何使用 API 或本地端存取 Qwen 2 7B:完整指南

重點摘要

進階效能
Qwen 2-7B 基於 transformer 架構,具備 SwiGLU 激活函數 注意力 QKV 偏置 ** 和 ** 群組查詢注意力 (GQA) 等進階功能,可加速推理並減少記憶體使用。它支援高達 131,072 個 token 的上下文長度,非常適合長上下文任務。

如何在本地端存取 Qwen 2-7B
本地端存取需要高效能 GPU(如 NVIDIA RTX 4080 Super),且至少具備 15.4 GB VRAM

如何透過 API 存取 Qwen 2-7B
Novita AI 這樣的平台提供簡單的設定流程,無需硬體支援。

使用建議
本地端存取適合需要完全控制的研究人員,而 API 存取則適合追求快速部署與易用性的開發者與企業。

Qwen 2-7B 是一款成本效益極佳的語言模型,專為效能最佳化而設計,適用於自然語言理解與程式碼生成等應用。

什麼是 Qwen 2 7B?

Qwen 2 - 7B 是 Qwen 系列中的先進模型,採用 transformer 架構。該系列提供從 0.5 到 720 億參數的多種語言模型,其中 Qwen 2-7B-Instruct 是經過微調、針對指令最佳化的變體。

主要特色

  • Transformer 架構:採用 SwiGLU 激活函數、注意力 QKV 偏置和群組查詢注意力。
  • 分詞器:增強版分詞器,能夠處理多種自然語言與程式碼。
  • 訓練:在大量資料集上進行預訓練,並透過監督式微調和直接偏好最佳化進行精煉。
  • 上下文長度:支援最多 131,072 個 token,適合長上下文任務。
  • 語言支援:在英文和中文方面表現出色,並額外支援其他語言。

https://youtu.be/EG3IFDnYQkA

基準測試

qwen 2 的基準測試

資料來源:LLM EXPLORER

Qwen2.5-7B Instruct

  • 整體最佳效能,在 MMLU Pro、MUSR、IFEval 和 MATH Level 5 中領先。
  • 數學推理能力顯著提升(MATH Level 5:50)。

Qwen2-7B Instruct

  • GPQABBH 中表現最佳。
  • 整體表現均衡,但在大多數其他指標上略遜於 Qwen2.5-7B。

DeepSeek R1 Distill Qwen-7B

  • 在所有基準測試中表現最低。
  • 適合輕量級任務,但在複雜基準測試中遠落後於 Qwen2 模型。

與其他 Qwen 模型比較

Qwen 2 系列包含五種尺寸的基礎模型與指令微調模型:Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B 和 Qwen2-72B。以下為這些模型的關鍵資訊摘要:

qwen2

來源:Qwen

1. 群組查詢注意力 (GQA)

  • 所有模型(Qwen2-0.5B、Qwen2-7B、Qwen2-57B、Qwen2-72B)皆採用 GQA,提供:
    • 更快的推理速度。
    • 更低的記憶體使用量。
  • 與 Qwen1.5 相比是一項重大改進,因為 Qwen1.5 僅大型模型(32B 和 110B)使用 GQA。

2. 上下文長度

  • 基礎模型(Qwen2-0.5B、Qwen2-7B、Qwen2-57B、Qwen2-72B):

    • 預訓練上下文長度為 32K 個 token。
    • 根據困惑度 (PPL) 評估,展現出高達 128K 個 token 的強外推能力。
  • 指令微調模型(Qwen2-7B-Instruct、Qwen2-72B-Instruct):

    • 使用「大海撈針」等任務進行評估。
    • 在長上下文任務中表現極為出色,結合 YARN 後能力可延伸至 128K 個 token。

3. 多語言能力

  • 所有模型(Qwen2-0.5B、Qwen2-7B、Qwen2-57B、Qwen2-72B):

    • 受益於改進的預訓練資料集,包含除英文和中文之外的 27 種額外語言。
    • 多語言表現隨模型尺寸提升,較大的模型(Qwen2-57B、Qwen2-72B)在更複雜的多語言任務中表現出色。

如果您想查看與其他模型(如 Qwen 2.5 72B)更詳細的參數比較,可以參考這篇文章:Qwen 2.5 72b vs Llama 3.3 70b:哪個模型符合您的需求?Qwen 2.5 vs Llama 3.2 90B:程式碼與影像推理能力對比分析

如何在本地端存取 Qwen 2 7B

GPU 建議

**型號 ** **VRAM 容量 ** ** 記憶體類型 ** ** 相對效能 ** ** 價格範圍**
NVIDIA RTX 4080 Super 16 GB GDDR6X ⭐⭐⭐⭐⭐(高階)
AMD RX 7900 XTX 24 GB GDDR6 ⭐⭐⭐⭐⭐(高階)
NVIDIA RTX 4070 Ti Super 16 GB GDDR6X 中高 ⭐⭐⭐⭐(中高階)
AMD RX 7600 XT 16 GB GDDR6 ⭐⭐⭐(中階)
NVIDIA RTX 4060 Ti (16GB) 16 GB GDDR6 ⭐⭐⭐(中階)

快速開始

from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda" # the device to load the model onto

model = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen2-7B-Instruct",
    torch_dtype="auto",
    device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2-7B-Instruct")

prompt = "Give me a short introduction to large language model."
messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(device)

generated_ids = model.generate(
    model_inputs.input_ids,
    max_new_tokens=512
)
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]

如何透過 Novita AI 存取 Qwen 2 7B

逐步指南

Novita AI 是一個 AI 雲端平台,為開發者提供透過簡單 API 部署 AI 模型的簡易方式,同時也提供價格實惠且可靠的 GPU 雲端服務,用於建置與擴展。

步驟 1:登入並存取模型庫

登入您的帳戶,然後點選 模型庫 按鈕。

登入並存取模型庫

立即試用 Qwen 2 7B 演示!

步驟 2:選擇您的模型

瀏覽可用的選項,並選擇符合您需求的模型。

選擇您的模型

步驟 3:開始免費試用

開始免費試用,探索所選模型的功能。

開始免費試用

步驟 4:取得 API 金鑰

為了驗證 API,我們將提供一個新的 API 金鑰。進入「設定」頁面,您可以依照圖片指示複製 API 金鑰。

取得 API 金鑰

步驟 5:安裝 API

使用您程式語言專屬的套件管理器安裝 API。

安裝 API

安裝完成後,在開發環境中匯入必要的程式庫。使用您的 API 金鑰初始化 API,開始與 Novita AI LLM 互動。以下是使用 Python 的聊天補全 API 範例。

from openai import OpenAI
  
client = OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    api_key="<YOUR Novita AI API Key>",
)

model = "qwen/qwen-2-7b-instruct"
stream = True # or False
max_tokens = 2048
system_content = """Be a helpful assistant"""
temperature = 1
top_p = 1
min_p = 0
top_k = 50
presence_penalty = 0
frequency_penalty = 0
repetition_penalty = 1
response_format = { "type": "text" }

chat_completion_res = client.chat.completions.create(
    model=model,
    messages=[
        {
            "role": "system",
            "content": system_content,
        },
        {
            "role": "user",
            "content": "Hi there!",
        }
    ],
    stream=stream,
    max_tokens=max_tokens,
    temperature=temperature,
    top_p=top_p,
    presence_penalty=presence_penalty,
    frequency_penalty=frequency_penalty,
    response_format=response_format,
    extra_body={
      "top_k": top_k,
      "repetition_penalty": repetition_penalty,
      "min_p": min_p
    }
  )

if stream:
    for chunk in chat_completion_res:
        print(chunk.choices[0].delta.content or "", end="")
else:
    print(chat_completion_res.choices[0].message.content)

註冊後,Novita AI 會提供 $0.5 的額度供您開始使用!

如果免費額度用完,您可以付費繼續使用。

哪種方法適合您?

本地端 vs. API 存取比較

本地端存取

優點:

  • 對模型及其設定有更多控制權。
  • 適合處理長文本,可透過 YARN 增強模型長度外推能力。
  • 無持續性費用。

缺點:

  • 需要大量硬體資源,包括 15.4 GB 的 VRAM
  • 設定與配置較複雜。

API 存取(例如 Novita AI)

優點:

  • 設定簡單易用,提供逐步指南。
  • 無需本地硬體資源。

缺點:

  • 需要網路連線。
  • 涉及按 token 計費:輸入每百萬 token $0.054,** 輸出每百萬 token $0.054**。
  • 對模型自訂與配置的控制有限。

不同使用者群體的建議

  • 研究人員: 一般偏好本地端存取,以獲得實驗的靈活性與控制權。

  • 開發者:

    • API 存取適合建置應用程式與快速原型開發。
    • 本地端存取更適合微調與自訂工作流程。
  • 企業: API 存取有利於快速整合服務,無需高額前期成本。對於有穩定需求且能投資基礎設施的團隊,本地端部署可能更合適。

  • 小型團隊/個人: 由於啟動成本較低,API 存取通常更實用。

  • 技術能力有限的使用者: API 存取更為合適,因為無需深入的技術知識。

Qwen 2 - 7B 是一款多功能且強大的模型,適用於各種應用。它支援本地端與 API 存取,讓使用者能夠選擇最符合自身特定需求、可用資源與技術專長的選項。

常見問題

Qwen2 模型的主要架構特點是什麼?

Qwen2 模型採用基於 transformer 的架構,具備 SwiGLU 激活函數、注意力 QKV 偏置和群組查詢注意力 (GQA) 等功能。模型採用基於 transformer 的架構,具備 SwiGLU 激活函數、注意力 QKV 偏置和群組查詢注意力 (GQA) 等功能。

Qwen2 模型支援的上下文長度是多少?

基礎語言模型預訓練的上下文長度為 32K 個 token,部分模型在 PPL 評估中展現出高達 128K 個 token 的外推能力。

Novita AI 是整合 API、無伺服器與 GPU 實例的一站式雲端平台,為您提供成本效益極佳的工具,助您實現 AI 願景。無需基礎設施,免費開始,讓您的 AI 願景成真。

推薦閱讀