無需 GPU 即可存取 GLM 4.1V 9B Thinking

無需 GPU 即可存取 GLM 4.1V 9B Thinking

GLM 4.1V 9B Thinking 是一款突破性的 AI 模型,因為它既能「看見」圖像,又能逐步解釋其推理過程。這稱為鏈式思考 (CoT) 推理,而 GLM 在這方面超越同等規模的其他視覺語言模型。您將看到它與更大模型的比較,以及即使沒有昂貴 GPU,也能親自嘗試的方法。

GLM 4.1V 9B Thinking 為 VLM 模型帶來了哪些改變?

作為全球首個具備鏈式思考 (CoT) 推理能力的 VLM 模型,GLM 不僅以其強大效能令人印象深刻,更因能在僅 9B 參數規模下達到與 Qwen 2.5 72B 相當的表現而獲得認可。接下來,讓我們深入了解 GLM 的詳細規格與基準測試結果。

GLM 4.1V 9B Thinking 的特性

GLM 4.1V 9B 的特性

您可以直接在 Hugging Face 上開始免費試用!

您可以直接在 Hugging Face 上開始免費試用! 您可以直接在 Hugging Face 上開始免費試用!

GLM 4.1V 9B Thinking 如何實現這些改進?

  1. SFT 強化
    訓練樣本中包含明確的 鏈式思考 (CoT) 註解,因此模型學會 「先思考,再回答」。這與傳統模型只輸出答案而不顯示推理步驟的做法不同。
  2. RLCS 強化
    模型的獎勵不僅基於正確性,還會評估 推理過程與解釋的品質,鼓勵更連貫且完整的內部思考。
  3. 架構支援
    ViT 視覺編碼器將資訊傳遞給 MLP 投影層,再進入 LLM 解碼器,使模型能夠 從視覺輸入流暢地生成明確的推理路徑,而非僅進行檢索或模式匹配。
  4. 強大推理基礎
    另一個關鍵因素:基礎模型 GLM‑4‑9B 0414 已具備強大的推理能力。例如:
    • 在數學推理與一般任務表現上相當出色,在同規模開源模型中名列前茅。
    • 在架構與訓練上,GLM‑4‑9B 受益於自迴歸空白填充預訓練與後續微調,強化了邏輯與多步驟推理能力。

更多詳情請參閱論文:GLM-4.1V-Thinking: Towards Versatile Multimodal Reasoning with Scalable Reinforcement Learning

GLM 4.1V 9B Thinking 對比 Qwen 2.5 VL 72B

**基準測試 ** GLM 4.1V 9B Thinking Qwen 2.5 VL 72B ** 獲勝者**
MMMU (圖像) 68.0 70.2 Qwen 2.5 VL
MMMU‑Pro 57.1 51.1 GLM
VideoMMMU 61.0 60.2 GLM
mvBench (影片) 70.4 64.6 GLM
AITZ_EM (代理) 83.2 35.3* GLM
代理 (OSWorld) 14.9 8.8 GLM
代理 (AndroidWorld) 41.7 35.0 GLM
代理 (WebVoyageSom) 69.0 40.4 GLM
代理 (Webquest‑SingleQA) 72.1 60.5 GLM
代理 (Webquest‑MultiQA) 54.7 52.1 GLM
程式碼 (Design2Code) 64.7 41.9 GLM
程式碼 (Flame‑VLM‑Code) 72.5 46.3 GLM
OCRBench 84.2 85.1 Qwen 2.5 VL
VideoMME (不含文字) 68.2 73.3 Qwen 2.5 VL
VideoMME (含文字) 73.6 79.1 Qwen 2.5 VL
MMVU 59.4 62.9 Qwen 2.5 VL

選擇 GLM 4.1V 9B Thinking,如果您的優先考量是多模態推理、代理能力、STEM 問題解決或程式碼生成。

選擇 Qwen 2.5 VL 72B,如果您專注於文件/圖像/影片理解,尤其是 OCR、結構化提取和視覺感知。

若想了解更多細節,可參考此文章:GLM 4.1V 9B Thinking vs Qwen2.5 VL 72B: Which Fits What?

其中也提供了與其他領先模型的比較。

其中也提供了與其他領先模型的比較。 來源:THUDM

如何存取 GLM 4.1V 9B Thinking

1. 本地存取

更令人印象深刻的是,GLM 4.1V 9B Thinking 僅有 90 億個參數,因此可以在 RTX 4090 甚至 3090 等 GPU 上運行。與其他參數量高出數倍的模型相比,GLM 以極小的規模達到了卓越的表現——這項成就無疑凸顯了強化學習的力量。

這項成就無疑凸顯了強化學習的力量。 來源:THUDM

安裝指南

安裝:

pip install git+https://github.com/huggingface/transformers.git

基本使用:

from transformers import AutoProcessor, Glm4vForConditionalGeneration
import torch

MODEL_PATH = "THUDM/GLM-4.1V-9B-Thinking"

messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "url": "https://upload.wikimedia.org/wikipedia/commons/f/fa/Grayscale_8bits_palette_sample_image.png"
            },
            {
                "type": "text",
                "text": "describe this image"
            }
        ],
    }
]

processor = AutoProcessor.from_pretrained(MODEL_PATH, use_fast=True)
model = Glm4vForConditionalGeneration.from_pretrained(
    pretrained_model_name_or_path=MODEL_PATH,
    torch_dtype=torch.bfloat16,
    device_map="auto",
)

inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
    return_tensors="pt"
).to(model.device)

generated_ids = model.generate(**inputs, max_new_tokens=8192)
output_text = processor.decode(generated_ids[0][inputs["input_ids"].shape[1]:], skip_special_tokens=False)
print(output_text)

如果購買 GPU 成本過高,您可以利用 Novita AI 經濟實惠且可靠的雲端 GPU——例如 RTX 4090 每小時僅需 $0.69,或 RTX 3090 每小時僅需 $0.21

試用 Novita AI 高效能 GPU

2. 直接 API 整合

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

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

登入並存取模型庫

立即試用 GLM 4.1V 9B

步驟 2:選擇您的模型

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

選擇您的模型

步驟 3:開始免費試用

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

開始免費試用

步驟 4:取得您的 API 金鑰

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

取得 API 金鑰

步驟 5:安裝 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="session_kgNdXtDPt2zYc95i-nDWPaW4Zl_e7nf4VDpukuIVBKpko1-LE8xCasG4YK7c-3c1xnPzGYRuocFk_DhkPUUQyQ==",
)

model = "thudm/glm-4.1v-9b-thinking"
stream = True # or False
max_tokens = 4000
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)
  
  

使用 MCP 與 GLM 建立簡易圖像辨識工具

如果您想運用 GLM 的能力——例如建立一個簡易的圖像辨識工具,展示其視覺辨識與推理的整合——可以使用 Novita AI 支援的 MCP 功能。以下是範例程式碼:

import os
import sys
from mcp.server.fastmcp import FastMCP
import requests
import uvicorn
from starlette.applications import Starlette
from starlette.routing import Mount

base_url = "https://api.novita.ai/v3"
headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {os.environ['NOVITA_API_KEY']}"
}

mcp = FastMCP("Novita_API")

@mcp.tool()
def list_models() -> str:
    """
    List all available models from the Novita API.
    """
    url = base_url + "/openai/models"
    response = requests.request("GET", url, headers=headers)
    data = response.json()["data"]

    text = ""
    for i, model in enumerate(data, start=1):
        text += f"Model id: {model['id']}\
"
        text += f"Model description: {model['description']}\
"
        text += f"Model type: {model['model_type']}\
\
"

    return text

@mcp.tool()
def get_model(model_id: str, message) -> str:
    """
    Provide a model ID and a message to get a response from the Novita API.
    """
    url = base_url + "/openai/chat/completions"
    payload = {
        "model": model_id,
        "messages": [
            {
                "content": message,
                "role": "user",
            }
        ],
        "max_tokens": 200,
        "response_format": {
            "type": "text",
        },
    }
    response = requests.request("POST", url, json=payload, headers=headers)
    content = response.json()["choices"][0]["message"]["content"]
    return content

@mcp.tool()
def vision_chat(model_id: str, image_url: str, question: str) -> str:
    """
    Use GLM-4.1V-9B-Thinking to answer a question about an image.
    """
    url = base_url + "/openai/chat/completions"
    payload = {
        "model": model_id,
        "messages": [
            {
                "role": "user",
                "content": [
                    {
                        "type": "image_url",
                        "image_url": {
                            "url": image_url,
                        }
                    },
                    {
                        "type": "text",
                        "text": question,
                    }
                ]
            }
        ],
        "max_tokens": 500
    }
    response = requests.post(url, json=payload, headers=headers)
    return response.json()["choices"][0]["message"]["content"]

if __name__ == "__main__":
   # Run using stdio transport
   mcp.run(transport="stdio")

如需詳細資訊,請參閱這篇文章:How to Build Your First MCP Server with Novita AI!

GLM 4.1V 9B Thinking 易於使用、超級聰明,而且不需要昂貴的硬體。您只需幾行程式碼,無論是在本地機器或雲端,都能測試其圖像辨識與推理能力。如果您想了解多模態 AI 的發展程度,不妨試試 GLM!

GLM 4.1V 9B Thinking 有什麼特別之處?

它是第一個既能「看見」又能展示推理步驟的模型,而不僅僅是給出答案。

如果我沒有強大的 GPU,可以試用 GLM 4.1V 9B 嗎?

可以!您可以使用經濟實惠的雲端 GPU,或在 Novita AI Playground 上免費試用。

如何將 GLM 4.1V 9B Thinking 整合到自己的專案中?

您可以使用 Python 和 Hugging Face 在本地執行,透過 Novita AI 的 API 存取,甚至可以使用提供的程式碼範例,透過 MCP 建立自己的圖像辨識工具。

Novita AI 是一個整合 API、無伺服器運算與 GPU 實例的全方位雲端平台,提供經濟實惠的工具,實現您的 AI 願景。無需基礎設施,從免費開始,讓您的 AI 願景成真。

推薦閱讀