Meta เปิดตัว Muse Glimmer โมเดล Multimodal 30B แบบ Open Source เพื่อการใช้งาน Agent ระดับ Local

ข่าวดีสำหรับนักพัฒนาสาย Open Source! Meta เปิดตัว Muse Glimmer โมเดล Multimodal รุ่นล่าสุดที่ออกแบบมาเพื่อการใช้งานในลักษณะ Local Agent โดยเฉพาะ โดยเป็นการกลั่นกรอง (distilled) จากโมเดล Muse จนเหลือขนาด 30B พารามิเตอร์ และเผยแพร่ภายใต้ สัญญาอนุญาต Apache 2.0 ทำให้เหมาะอย่างยิ่งสำหรับการติดตั้งใช้งานภายในเครื่องเพื่อความเป็นส่วนตัวและลดค่าใช้จ่าย ไม่ว่าจะเป็นการเขียนโค้ด วิเคราะห์เอกสาร หรือเป็นผู้ช่วยส่วนตัวในลักษณะเดียวกับ Claw หรือ Hermes เพื่อรองรับการใช้งานทันที Meta ได้ปล่อยการสนับสนุนแบบ Day-0 ในเครื่องมือยอดนิยมอย่าง transformers, llama.cpp, vLLM รวมถึง Inference Endpoints ต่างๆ โดยทีมงานได้สรุปสิ่งที่ค้นพบและเดโมการใช้งานไว้ในบล็อกนี้เพื่อเป็นแรงบันดาลใจให้นักพัฒนา คุณสามารถเข้าถึง Muse Glimmer บน Hugging Face Hub ได้แล้ววันนี้

Benchmarks

ผลการทดสอบ Benchmark

คะแนนถูกรายงานตามที่เผยแพร่ ตัวหนา (Bold) ระบุถึงผลลัพธ์ที่ดีที่สุดในบรรดาโมเดลที่นำมาเปรียบเทียบ; ↓ ระบุว่าค่ายิ่งน้อยยิ่งดี

หมวดหมู่BenchmarkMuse Glimmer-30B High ReasoningGemma4-31B Thinking ModeQwen3.6-27B Thinking Mode
General AgenticMCP Atlas75.554.262.5
General AgenticDeepSearch QA74.661.771.1
General Agenticτ³-Banking23.515.116.7
General AgenticWildClawBench47.637.643.2
General AgenticGDPval-AA9538111141
General AgenticGAIA243.336.440.0
General AgenticSkillsBench (With Skills)44.332.446.6
General AgenticOSWorld-Verified65.958.575.6
Agentic CodingSWE-Bench Pro51.236.950.2
Agentic CodingSWE-Bench Verified76.066.677.2
Agentic CodingTerminalBench 2.151.743.460.7
Agentic CodingSciCode43.643.439.8
MultimodalCharxiv Reasoning78.877.778.4
MultimodalScreenSpot Pro75.475.976.1
MultimodalOmniDocBench v1.575.872.577.8
MultimodalMMMU Pro747375
SafetyCI MemoriesViolation (↓): 26.4 Coverage: 64.8Violation (↓): 12.1 Coverage: 53.0Violation (↓): 53.4 Coverage: 66.9
SafetySiren AgentDojoAttack Success Rate (↓): 28.4 Utility: 94.2Attack Success Rate (↓): 25.6 Utility: 90.8Attack Success Rate (↓): 40.3 Utility: 92.7
General Capabilities and ReasoningIFBench77.076.070.8
General Capabilities and ReasoningAIME 202694.789.294.1
General Capabilities and ReasoningGPQA Diamond83.585.784.2
General Capabilities and ReasoningHumanity’s Last Exam (Text + No Tools)22.023.623.1
General Capabilities and ReasoningAA-LCR80.068.373.3
General Capabilities and ReasoningBeam 128K65.158.263.0

Architecture

Muse Glimmer เป็นโมเดลแบบ dense ขนาด 30B พารามิเตอร์ ซึ่งมีโครงสร้างหลักประกอบด้วยตัวเข้ารหัสรูปแบบ ViT ขนาด 2B สำหรับประมวลผลภาพ (Perception Encoder) และตัวถอดรหัสข้อความขนาด 28B พารามิเตอร์

นอกจากโมเดล VLM หลักแล้ว ยังมีตัวร่าง (drafter) สำหรับเทคนิค speculative decoding ที่สร้างขึ้นบน DFlash ซึ่งเป็นตัวเลือกเสริมที่ช่วยให้การสร้างข้อมูลรวดเร็วขึ้นอย่างมาก โดยแลกกับการใช้หน่วยความจำเพิ่มขึ้นเล็กน้อย ซึ่งทีมพัฒนาพบว่าตัวร่างนี้มีประสิทธิภาพสูงเป็นพิเศษในงานที่มีโครงสร้างชัดเจน เช่น การเขียนโค้ด

Text Decoder

ในส่วนของโมเดลภาษาใช้สถาปัตยกรรมที่น่าสนใจดังนี้:

  • Hybrid attention: ใช้การสลับระหว่างเลเยอร์ sliding window (SWA) 3 เลเยอร์ ร่วมกับ RoPE และตามด้วยเลเยอร์ full attention ที่ใช้ NoPE (no positional embedding) ในเลเยอร์ที่ 4 โดยทำซ้ำรวม 52 เลเยอร์ เพื่อรักษาสมดุลระหว่างข้อมูลระยะสั้นและข้อมูลในระดับสากล
  • Gated Grouped-Query Attention: ใช้ key-value head ร่วมกันในทุกๆ 16 query heads ช่วยลดหน่วยความจำ KV-cache ได้ถึง 16 เท่า ส่งผลให้ประมวลผลได้เร็วและประหยัดทรัพยากรขึ้น
  • Q-K normalization with extra query scaling: มีการใช้ RMS normalization กับทุก query และ key head เพื่อความเสถียรของ attention logits พร้อมใช้ scale factor ควบคุมระดับเป้าหมายหลังการทำ normalization

Perception Encoder

Muse Glimmer ใช้ตัวเข้ารหัสภาพขนาดใหญ่ 2B เพียงตัวเดียวในการจัดการทั้งรูปภาพและวิดีโอ ซึ่งออกแบบตามสถาปัตยกรรม Perception Encoder ของ Meta โดยตรง ตัวเข้ารหัสจะแบ่งภาพออกเป็นส่วนๆ (patchify) และส่งผ่าน vision tower ที่ประกอบด้วย 50 เลเยอร์ ก่อนจะใช้เทคนิค pixel shuffle เพื่อเชื่อมต่อโทเค็นในเชิงพื้นที่ ซึ่งช่วยลดจำนวน image tokens ลง 4 เท่าโดยไม่สูญเสียข้อมูลสำคัญ

สำหรับการประมวลผลวิดีโอ โมเดลจะวิเคราะห์เฟรมต่อเฟรมโดยจำกัดไว้ที่ 96 เฟรมต่อคลิป (2 เฟรมต่อวินาที) และมีการประทับเวลา (time stamp) แทรกในข้อความเพื่อระบุตำแหน่งของเฟรม เช่น “Time: 0.0s <|video|>” ก่อนที่จะถูกส่งไปยังเลเยอร์โปรเจกต์สุดท้าย

Transformers

หากต้องการเริ่มใช้งาน Muse Glimmer ควรทำการอัปเกรดไลบรารีเป็นเวอร์ชันล่าสุดด้วยคำสั่ง:

pip install --upgrade transformers accelerate

โมเดลรองรับ AutoModelForMultimodalLM และ AutoProcessor ทันที ทำให้สามารถโหลดใช้งานบน GPU ได้หลากหลายค่ายทั้ง NVIDIA (CUDA), AMD (ROCm) และ Intel (XPU):

from transformers import AutoProcessor, AutoModelForMultimodalLM
 
MODEL_ID = "meta-models/Muse-Glimmer-30B"
 
# Load model
processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForMultimodalLM.from_pretrained(
    MODEL_ID,
    dtype="auto",
    device_map="auto"
)

Text-only Inference

ตัวอย่างการเรียกใช้งานเพื่อตอบคำถามจากข้อความเพียงอย่างเดียว:

# Prompt
messages = [
    {"role": "user", "content": "Write a short joke about saving RAM."},
]
 
# Process input
inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
    add_generation_prompt=True,
    reasoning_strength="low"
).to(model.device)
input_len = inputs["input_ids"].shape[-1]
 
# Generate output
outputs = model.generate(**inputs, max_new_tokens=1024)
response = processor.decode(outputs[0][input_len:], skip_special_tokens=False)
print(response)

Prompting the model with images and text

สำหรับการประมวลผลร่วมกับรูปภาพ จำเป็นต้องติดตั้ง torchvision เพิ่มเติม:

pip install torchvision

จากนั้นสามารถส่ง URL รูปภาพพร้อมคำถามเพื่อให้โมเดลวิเคราะห์ได้ทันที:

messages = [
    {
        "role": "user", "content": [
            {"type": "image", "image": "https://huggingface.co/datasets/merve/vl-test-suite/resolve/main/SF.png"},
            {"type": "text", "text": "What is shown in this image?"}
        ]
    }
]
 
inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
    add_generation_prompt=True,
    reasoning_strength="low"
).to(model.device)
input_len = inputs["input_ids"].shape[-1]
 
# Generate output
outputs = model.generate(**inputs, max_new_tokens=512)
response = processor.decode(outputs[0][input_len:], skip_special_tokens=False)
print(response)

Multimodal tool calling

Muse Glimmer รองรับการเรียกใช้เครื่องมือ (Tool Calling) โดยอาศัยข้อมูลจากรูปภาพ เช่น การระบุชื่อเมืองจากภาพถ่ายเพื่อตรวจสอบสภาพอากาศผ่าน API:

import json
import re
 
tools = [
    {
        "type": "function",
        "function": {
            "name": "weather.get",
            "description": "Get the current weather for a city.",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {"type": "string"},
                },
                "required": ["city"],
            },
        },
    }
]
 
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "image": "https://huggingface.co/datasets/merve/vl-test-suite/resolve/main/SF.png"},
            {"type": "text", "text": "I'm going to the city in this picture. What clothes should I wear?"},
        ],
    },
]
 
inputs = processor.apply_chat_template(
    messages,
    tools=tools,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
    add_generation_prompt=True,
    reasoning_strength="low"
).to(model.device)
 
input_len = inputs["input_ids"].shape[-1]
outputs = model.generate(**inputs, max_new_tokens=128)
response = processor.decode(outputs[0][input_len:], skip_special_tokens=False)
 
parsed = processor.tokenizer.parse_response(response)

Object Detection

โมเดลสามารถระบุพิกัดของวัตถุในภาพ (Object Detection) และส่งค่ากลับมาในรูปแบบ JSON ได้แม่นยำ:

import json
 
messages = [{
    "role": "user",
    "content": [
        {"type": "image", "image": "https://huggingface.co/datasets/merve/vl-test-suite/resolve/main/SF.png"},
        {
            "type": "text",
            "text": (
                "Detect the bridge. Return only the detection in the model's "
                "native object-detection format, with no explanation."
            ),
        },
    ],
}]
 
inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
    add_generation_prompt=True,
).to(model.device)
 
input_len = inputs["input_ids"].shape[-1]
outputs = model.generate(**inputs, max_new_tokens=128)
response = processor.decode(outputs[0][input_len:], skip_special_tokens=False)
 
detections = json.loads(response.removesuffix("<|eot|>"))
print(detections)
# [{"x_min": 0, "y_min": 390, "x_max": 520, "y_max": 603}]

Video Inference

สำหรับการวิเคราะห์วิดีโอ (ไม่มีเสียง) แนะนำให้ติดตั้ง torchcodec เพื่อประสิทธิภาพสูงสุด:

pip install torchcodec
messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {
        "role": "user",
        "content": [
            {"type": "video", "video": "https://huggingface.co/datasets/merve/vl-test-suite/resolve/main/IMG_8137.mp4"},
            {"type": "text", "text": "Describe what happens in this video."},
        ],
    },
]
inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
    add_generation_prompt=True,
    reasoning_strength="low",
    processor_kwargs={"num_frames": 96},
).to(model.device)
 
input_len = inputs["input_ids"].shape[-1]
outputs = model.generate(**inputs, max_new_tokens=1024)
 
response = processor.decode(
    outputs[0, input_len:],
    skip_special_tokens=False,
)
 
parsed = processor.parse_response(
    response,
    prefix=inputs["input_ids"],
)
print(parsed)

Llama.cpp

Muse Glimmer รองรับ llama.cpp ทันทีตั้งแต่วันแรก โดย Meta ได้เผยแพร่โมเดลแบบ Quantized (GGUF) ไว้ใน repo นี้ ซึ่งช่วยให้ผู้ใช้สามารถรัน AI บนเครื่องส่วนตัวได้ผ่าน WebUI หรือ CLI โดยใช้คำสั่งติดตั้ง:

curl -LsSf https://llama.app/install.sh | sh
llama serve meta-models/Muse-Glimmer-30B-GGUF

Speculative Decoding

การใช้เทคนิค DFlash ในการทำ speculative decoding ช่วยให้ Muse Glimmer สร้างข้อมูลได้รวดเร็วยิ่งขึ้น โดยเฉพาะในงานเขียนโค้ดที่มักมีรูปแบบซ้ำเดิม คุณสามารถเปรียบเทียบความเร็วได้จากวิดีโอเดโมใน llama.cpp webui ซึ่งฝั่งที่มี DFlash (ซ้าย) จะประมวลผลเร็วกว่าการสร้างข้อมูลแบบปกติ (ขวา) อย่างชัดเจน

[

](https://huggingface.co/merve/smol-vision/resolve/main/llama.cpp-spec.mp4)

ตัวอย่างการเปิดใช้งาน Speculative Decoding ใน transformers และ llama.cpp:

# transformers
out = target.generate(**inputs, assistant_model=assistant, speculation_type="dflash", max_new_tokens=64, do_sample=True)
# llama.cpp server
llama serve -hf meta-models/Muse-Glimmer-30B-GGUF --spec-type draft-dflash --spec-draft-n-max 15

Support for Muse Glimmer vLLM with transformers backend

สำหรับการใช้งานในระดับโปรดักชัน Muse Glimmer รองรับการให้บริการผ่าน vLLM โดยใช้ transformers backend ซึ่งช่วยให้สามารถทำ Tensor Parallelism ข้ามหลาย GPU ได้:

vllm serve meta-models/Muse-Glimmer-30B --model-impl transformers --tensor-parallel-size 4

Fine-tuning with TRL

ผู้ใช้สามารถปรับแต่ง (Fine-tune) โมเดล Muse Glimmer ได้หลายวิธีผ่านไลบรารี TRL ตั้งแต่ SFT ไปจนถึง Async GRPO โดยมีข้อกำหนดด้านฮาร์ดแวร์เบื้องต้น เช่น การใช้ LoRA SFT บน GPU VRAM 80GB (เช่น H100) เพียงตัวเดียว

ปริมาณงานขั้นต่ำที่นำไปใช้จริงได้
การอนุมาน / การประเมินผล, BF161×80 GB H100
LoRA SFT, BF161×80 GB H100, microbatch 1 + checkpointing
Full SFT, BF168×80 GB H100 พร้อม FSDP/ZeRO-3
LoRA GRPO, Transformers rollouts1×80 GB H100, แต่ช้า/ตึงตัว
LoRA GRPO, separate vLLM rollout server8×H100: 4 rollout + 4 training
Full-finetune GRPOปกติแล้ว 8 GPUs ไม่เพียงพอ

นอกจากนี้ยังมีตัวอย่างการปรับแต่งบน MolmoWeb dataset เพื่อสอนให้โมเดลสร้างผลลัพธ์แบบมีโครงสร้าง และการทดลองใช้ AsyncGRPO กับ OpenCode เพื่อเพิ่มทักษะด้านการเขียนโปรแกรม

Demos

ความโดดเด่นของ Muse Glimmer คือความสามารถในฐานะ Local Assistant ที่เขียนโค้ดได้เก่งมาก ซึ่งหมายความว่ามันสามารถทำ "Self-Quantization" หรือติดตั้งตัวเองไปยังระบบต่างๆ ได้ด้วยตนเอง

Connect OpenClaw to Muse Glimmer

คุณสามารถเชื่อมต่อ Muse Glimmer เข้ากับ OpenClaw โดยกำหนดค่าใน ~/.openclaw/openclaw.json เพื่อใช้เป็น AI Agent หลักประจำเครื่องได้ทันที

{
  "models": {
    "mode": "merge",
    "providers": {
      "muse": {
        "baseUrl": "https://YOUR-ENDPOINT.endpoints.huggingface.cloud/v1",
        "apiKey": {
          "source": "env",
          "provider": "default",
          "id": "HF_TOKEN"
        },
        "api": "openai-completions",
        "authHeader": true,
        "models": [{
          "id": "meta-models/Muse-Glimmer-30B",
          "name": "Muse Glimmer",
          "reasoning": false,
          "input": ["text", "image"],
          "contextWindow": 32768,
          "maxTokens": 8192
        }]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": { "primary": "muse/meta-models/Muse-Glimmer-30B" }
    }
  }
}

เฮ้ Muse Glimmer ช่วยทำ quantization ตัวเองหน่อย

เมื่อเชื่อมต่อกับ Hugging Face MCP และอัปเดตไฟล์ AGENTS.md โมเดลจะสามารถค้นหาและสร้างเวอร์ชัน GGUF ของตัวมันเองบนเครื่องเพื่อลดการใช้ทรัพยากรได้โดยอัตโนมัติ ตามเดโมด้านล่างนี้:

https://huggingface.co/buckets/huggingface/muse-glimmer-assets/resolve/Muse%20Glimmer%20Quantisation%20Demo%20-%20explained.mp4?download=true

เฮ้ Muse Glimmer ช่วยติดตั้งตัวเองหน่อย

ในทางกลับกัน Glimmer ยังสามารถช่วยติดตั้งตัวเองบน Hugging Face Inference Endpoints เพื่อใช้งานบนฮาร์ดแวร์ที่แรงขึ้นได้ โดยตัวเอเจนต์จะจัดการตรวจสอบ revision, การตั้งค่า vLLM ไปจนถึงการทดสอบความพร้อมของระบบด้วยตัวเอง

เฮ้ Muse Glimmer ช่วยเพิ่มประสิทธิภาพให้ตัวเองหน่อย

ท้ายที่สุด Muse Glimmer ยังสามารถทำ Recursive Self-Improvement (RSI) แบบง่ายๆ โดยการทดสอบ benchmark บนเครื่อง (เช่น Nvidia H100) เพื่อปรับจูนเอนจินการอนุมานของมันเองให้ได้อัตราการประมวลผล (throughput) สูงสุด และสรุปผลออกมาเป็นภาพ GIF การทดลองตามลำดับเวลา

https://huggingface.co/buckets/huggingface/muse-glimmer-assets/resolve/onyx-optimization-progress.gif?download=true

เฮ้ Muse Glimmer ช่วยค้นหาข้อมูลบน Hub หน่อย

ด้วยการเชื่อมต่อกับ Hugging Face MCP โมเดลสามารถทำหน้าที่เป็นวิจัยเอเจนต์ส่วนตัวที่สามารถค้นหา ตรวจสอบ และสรุปข้อมูลจากโมเดล ชุดข้อมูล หรือเอกสารวิชาการบน Hub ได้อย่างครบถ้วน

บทสรุป

Muse Glimmer พร้อมให้คุณใช้งานแล้วบน Hugging Face Hub ร่วมสัมผัสประสบการณ์โมเดล Muse Glimmer สำหรับโปรเจกต์และการเขียนโค้ดในเครื่องของคุณได้ตั้งแต่วันนี้!

Source: Hugging Face Blog
ดูแลงานแปลและเรียบเรียงโดย TanasakP

ความคิดเห็น (0)

เข้าสู่ระบบเพื่อร่วมแสดงความเห็น

สมัครสมาชิก

มาเป็นคนแรกที่แสดงความเห็นกันเลยโบร