Мой блог
Meta представила открытую мультимодальную модель Muse Glimmer с поддержкой локального запуска
Введение в Muse Glimmer-30B и день нулевой поддержки
Релиз новой мультимодальной языковой модели Muse Glimmer сопровождается полноценной поддержкой в экосистеме с первого же дня (day-0). Разработчики обеспечили интеграцию модели в такие популярные библиотеки и инструменты, как transformers, llama.cpp, vLLM, Inference Endpoints и ряд других программных продуктов. В рамках официального релиза представлен подробный разбор находок и архитектурных особенностей модели в профильном блоге, а сама модель Muse Glimmer доступна для загрузки на платформе Hugging Face Hub. Создатели позиционируют систему как мощный локальный персональный ассистент с развитыми возможностями написания кода и работы с мультимодальными данными.
Бенчмарки и результаты сравнительного тестирования
Все результаты тестирования приводятся в строгом соответствии с опубликованными официальными данными. Сравнение производительности проводилось с сопоставимыми моделями аналогичного класса, такими как Gemma4-31B (в режиме мышления) и Qwen3.6-27B (в режиме мышления). В таблицах бенчмарков полужирным начертанием выделен лучший результат среди сравниваемых моделей, а стрелка вниз указывает, что меньшее значение метрики является более предпочтительным.
Показатели модели Muse Glimmer-30B с высоким уровнем рассуждений охватывают широкий спектр категорий, включая общие агентирующие задачи, программирование, мультимодальность, безопасность и общие возможности рассуждения:
- General Agentic (Общие агентные задачи): MCP Atlas — 75.5 (против 54.2 у Gemma4-31B и 62.5 у Qwen3.6-27B); DeepSearch QA — 74.6 (против 61.7 и 71.1); τ³-Banking — 23.5 (против 15.1 и 16.7); WildClawBench — 47.6 (против 37.6 и 43.2); GDPval-AA — 953 (против 811 и 1141); GAIA2 — 43.3 (против 36.4 и 40.0); SkillsBench (With Skills) — 44.3 (против 32.4 и 46.6); OSWorld-Verified — 65.9 (против 58.5 и 75.6).
- Agentic Coding (Агентное программирование): SWE-Bench Pro — 51.2 (против 36.9 и 50.2); SWE-Bench Verified — 76.0 (против 66.6 и 77.2); TerminalBench 2.1 — 51.7 (против 43.4 и 60.7); SciCode — 43.6 (против 43.4 и 39.8).
- Multimodal (Мультимодальные задачи): Charxiv Reasoning — 78.8 (против 77.7 и 78.4); ScreenSpot Pro — 75.4 (против 75.9 и 76.1); OmniDocBench v1.5 — 75.8 (против 72.5 и 77.8); MMMU Pro — 74 (против 73 и 75).
- Safety (Безопасность): CI Memories — Violation (↓): 26.4, Coverage: 64.8 (у Gemma4-31B — Violation: 12.1, Coverage: 53.0; у Qwen3.6-27B — Violation: 53.4, Coverage: 66.9); Siren AgentDojo — Attack Success Rate (↓): 28.4, Utility: 94.2 (у Gemma4-31B — Attack Success Rate: 25.6, Utility: 90.8; у Qwen3.6-27B — Attack Success Rate: 40.3, Utility: 92.7).
- General Capabilities and Reasoning (Общие возможности и рассуждения): IFBench — 77.0 (против 76.0 и 70.8); AIME 2026 — 94.7 (против 89.2 и 94.1); GPQA Diamond — 83.5 (против 85.7 и 84.2); Humanity’s Last Exam (Text + No Tools) — 22.0 (против 23.6 и 23.1); AA-LCR — 80.0 (против 68.3 и 73.3); Beam 128K — 65.1 (против 58.2 и 63.0).
Архитектурные особенности модели и текстового декодера
Muse Glimmer представляет собой плотную языково-визуальную модель емкостью 30 миллиардов параметров со следующей внутренней структурой:
- Двухмиллиардный (2B) энкодер ViT-стиля для обработки визуальных данных, известный как Perception Encoder.
- Текстовый декодер емкостью 28 миллиардов параметров.
Помимо основной архитектуры мультимодальной модели, разработчики предусмотрели опциональный модуль спекулятивного декодирования (драфтер), созданный на базе технологии DFlash. Использование этого модуля является необязательным, однако он позволяет добиться значительно более высокой скорости генерации текста ценой умеренного увеличения потребления памяти. Практика показала, что данный драфтер особенно эффективен при генерации структурированного контента, такого как исходный код программ.
Языковой компонент модели построен на базе передовых архитектурных решений:
- Гибридное внимание (Hybrid attention): Архитектура чередует три слоя со скользящим окном (sliding window attention, SWA) длиной 2048 токенов каждое с использованием относительных позиционных эмбеддингов (RoPE), после чего следует четвертый слой, использующий полное внимание и технологию NoPE (без позиционного эмбеддинга). Такой паттерн (SWA, SWA, SWA, Full) повторяется 13 раз, формируя в общей сложности 52 слоя. Подобная комбинация позволяет модели успешно удерживать локальную информацию о порядке и расстояниях благодаря RoPE и одновременно сохранять глобальный контекст с помощью NoPE.
- Секторизованное групповое внимание с вентилями (Gated Grouped-Query Attention): Каждый ключевой-значенический (KV) головной элемент разделяется между 16 запросными (query) головными элементами. Это решение сокращает объем памяти под KV-кэш ровно в 16 раз, делая процедуру генерации ответов более быстрой и экономичной в вычислительном плане.
- Нормализация Q-K с дополнительным масштабированием запросов: Перед вычислением матрицы внимания Muse Glimmer применяет RMS-нормализацию к каждому запросному и ключевому головному элементу. Это поддерживает высокую стабильность логитов внимания. На следующем этапе запросы умножаются на специальный масштабный коэффициент, который регулирует целевой масштаб логитов после нормализации. Данный механизм функционирует на уровне функции softmax аналогично обратному значению температуры.
Визуальный энкодер и обработка видеоданных
В отличие от сравнительно компактных визуальных энкодеров, применяемых в большинстве других мультимодальных моделей, в Muse Glimmer задействован полноценный крупный модуль на 2 миллиарда параметров. Он спроектирован на базе архитектуры Perception Encoder, которая ранее была представлена компанией Meta в качестве универсального бэкэнда для различных пространственных и мультимодальных задач.
Визуальный процессор разбивает входящие изображения на патчи фиксированной размерности (2 кадра × 3 канала × 14 × 14 пикселей) и пропускает их через линейный слой проекции. К полученным эмбеддингам добавляется интерполированный абсолютный позиционный эмбеддинг из предварительно обученной таблицы позиций. Далее данные поступают в визуальную башню, состоящую из 50 слоев с многослойными перцептронами (MLP) на базе активации GELU.
Аналогично текстовой составляющей, паттерн внимания в визуальном энкодере состоит из трех слоев скользящего окна и одного слоя полного внимания. Внутри этих слоев для запросов и ключей применяется двумерный позиционный эмбеддинг RoPE (2D RoPE). После прохождения трансформерных блоков специальный механизм pixel shuffle объединяет группы 2×2 соседних пространственных токенов, уменьшая общее количество визуальных токенов в 4 раза без потери информации на уровне каналов. Объединенные признаки проецируются в общее пространство эмбеддингов текстового декодера.
При работе с видеоматериалами процессор обрабатывает видеопоток покадрово. Каждый кадр разбивается на патчи с целевой частотой 2 кадра в секунду, при этом общая длина клипа ограничивается 96 кадрами, равномерно распределенными по всему видео. Процессор генерирует специальные временные текстовые метки-плейсхолдеры (например, «Time: 0.0s <|video|> x N»), в которые перед финальным слоем проекции подставляются итоговые видеоэмбеддинги.
Установка зависимостей и базовый запуск
Для корректного функционирования модели в библиотеке transformers требуется обновить пакеты до самых актуальных версий с помощью следующей команды:
pip install --upgrade transformers accelerateМодель имеет встроенную поддержку в transformers с первого дня релиза — как для базовой версии, так и для модуля спекулятивного декодирования. Для загрузки модели и процессора используются стандартные классы AutoProcessor и AutoModelForMultimodalLM:
from transformers import AutoProcessor, AutoModelForMultimodalLM
MODEL_ID = "meta-models/Muse-Glimmer-30B"
processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForMultimodalLM.from_pretrained(
MODEL_ID, dtype="auto", device_map="auto"
)
Один и тот же программный код работает без изменений на графических ускорителях NVIDIA (CUDA), AMD (ROCm) и Intel (XPU). Параметр device_map="auto" автоматически размещает модель на доступном в системе ускорителе.
Текстовый инференс
После успешной загрузки модели можно выполнять базовые текстовые запросы:
from transformers import AutoProcessor, AutoModelForMultimodalLM
MODEL_ID = "meta-models/Muse-Glimmer-30B"
processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForMultimodalLM.from_pretrained(
MODEL_ID, dtype="auto", device_map="auto"
)
messages = [
{"role": "user", "content": "Write a short joke about saving RAM."},
]
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]
outputs = model.generate(**inputs)
response = processor.decode(outputs[0][input_len:], skip_special_tokens=False)
print(response)
Инференс с изображениями
Для работы с изображениями в окружении обязательно требуется наличие библиотеки torchvision:
pip install torchvisionПример кода для отправки мультимодального запроса с изображением:
from transformers import AutoProcessor, AutoModelForMultimodalLM
MODEL_ID = "meta-models/Muse-Glimmer-30B"
processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForMultimodalLM.from_pretrained(
MODEL_ID, dtype="auto", device_map="auto"
)
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]
outputs = model.generate(**inputs)
response = processor.decode(outputs[0][input_len:], skip_special_tokens=False)
print(response)
Инференс с видео
Для эффективной обработки видеоматериалов рекомендуется установить пакет torchcodec:
pip install torchcodecМодель способна отвечать на сложные вопросы по видеоматериалам, не содержащим звуковой дорожки. Ниже приведен пример запроса на основе популярного бенчмарка VideoMME2:
from transformers import AutoProcessor, AutoModelForMultimodalLM
MODEL_ID = "meta-models/Muse-Glimmer-30B"
processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForMultimodalLM.from_pretrained(
MODEL_ID, dtype="auto", device_map="auto"
)
messages = [
{
"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)
response = processor.decode(
outputs[0, input_len:],
skip_special_tokens=False,
)
print(response)
Мультимодальный вызов инструментов (Tool Calling)
Muse Glimmer поддерживает мультимодальный вызов внешних инструментов, позволяя задействовать функции на основе визуального контекста:
import json
import re
from transformers import AutoProcessor, AutoModelForMultimodalLM
MODEL_ID = "meta-models/Muse-Glimmer-30B"
processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForMultimodalLM.from_pretrained(
MODEL_ID, dtype="auto", device_map="auto"
)
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)
response = processor.decode(outputs[0][input_len:], skip_special_tokens=False)
print(response)
Открытое обнаружение объектов на изображениях
Модель способна решать задачи обнаружения объектов на изображениях в собственном нативном формате:
from transformers import AutoProcessor, AutoModelForMultimodalLM
MODEL_ID = "meta-models/Muse-Glimmer-30B"
processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForMultimodalLM.from_pretrained(
MODEL_ID, dtype="auto", device_map="auto"
)
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,
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)
detections = json.loads(response.removesuffix("<|eot|>"))
print(detections)
Интеграция с llama.cpp и спекулятивное декодирование DFlash
Модель поставляется с поддержкой llama.cpp с первого дня. Компания Meta подготовила и распространяет официальные калиброванные квантованные веса в репозитории, а команда Unsloth также выпускает собственные оптимизированные варианты квантования. Спекулятивное декодирование на базе DFlash поддерживается напрямую.
Для установки бинарных файлов llama.cpp используется скрипт:
curl -LsSf https://llama.app/install.sh | shЗапуск локального сервера осуществляется командой:
llama serve -hf meta-models/Muse-Glimmer-30B-GGUFПосле запуска сервера доступен встроенный веб-интерфейс по адресу localhost:8080 для общения в чате. Отправку запросов можно производить через стандартный API:
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"messages":
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Write a limerick about python exceptions"}
]
}'
Сервер llama-server также совместим с агентами программирования, например с Pi. Технология DFlash использует легковесный блок-диффузионный драфтер, обеспечивающий идентичное качество генерации при значительном ускорении процесса декодирования.
Загрузка базовой модели и вспомогательного ассистента для спекулятивного декодирования в Python реализована следующим образом:
import torch
from transformers import AutoProcessor, MuseGlimmerAssistantModel, MuseGlimmerForConditionalGeneration
model_id = "meta-models/Muse-Glimmer-30B"
assistant_model_id = "meta-models/Muse-Glimmer-30B-assistant"
target = MuseGlimmerForConditionalGeneration.from_pretrained(model_id, dtype=torch.bfloat16, device_map="auto")
assistant = MuseGlimmerAssistantModel.from_pretrained(assistant_model_id, dtype=torch.bfloat16, device_map="auto")
processor = AutoProcessor.from_pretrained(model_id)
messages = [
{
"role": "user",
"content":
{"type": "image", "url": "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(target.device)
input_len = inputs["input_ids"].shape[-1]
outputs = target.generate(
**inputs,
assistant_model=assistant,
speculation_type="dflash",
do_sample=True
)
response = processor.decode(outputs[0][input_len:], skip_special_tokens=False)
print(response)
Параметр --spec-draft-n-max управляет количеством предлагаемых токенов DFlash на каждом шаге. Поскольку модель тренировалась с размером блока 16 (1 опорный и 15 предлагаемых токенов), любые значения выше 15 автоматически принудительно ограничиваются числом 15:
llama serve -hf meta-models/Muse-Glimmer-30B-GGUF --spec-type draft-dflash --spec-draft-n-max 15Аналогично можно запускать интерактивную CLI-утилиту с поддержкой спекулятивного декодирования:
llama cli -hf meta-models/Muse-Glimmer-30B-GGUF --spec-type draft-dflashРазвертывание через Inference Endpoints и vLLM
Для управляемого развертывания с автоматическим масштабированием предусмотрен специальный пресет Inference Endpoints для Muse Glimmer 30B. Необходимо выбрать организацию, облачного провайдера, регион, подходящий экземпляр графического ускорителя, параметры аутентификации и автомасштабирования, после чего подтвердить создание эндпоинта. Развернутая модель предоставляет OpenAI-совместимый API чат-комплитов.
Пример подключения и отправки запросов с использованием официального Python-клиента OpenAI:
import os
from openai import OpenAI
export HF_TOKEN="hf_..."
export HF_ENDPOINT_URL="https://<endpoint-id>.<region>.<cloud>.endpoints.huggingface.cloud"
export HF_ENDPOINT_MODEL="<endpoint-model-name>"
pip install --upgrade openai
client = OpenAI(
base_url=f"{os.environ['HF_ENDPOINT_URL'].rstrip('/')}/v1/",
api_key=os.environ["HF_TOKEN"],
),
response = client.chat.completions.create(
model=os.environ["HF_ENDPOINT_MODEL"],
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Write a limerick about Python exceptions."},
],
max_tokens=256,
)
print(response.choices[0].message.content)
Для развертывания через vLLM с бэкендом transformers на нескольких графических процессорах применяется распределенный режим:
# тензорно-параллельное обслуживание на 4 GPU
vllm serve meta-models/Muse-Glimmer-30B --model-impl transformers --tensor-parallel-size 4
# отправка запроса
curl -s http://127.0.0.1:8000/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{
"model": "meta-models/Muse-Glimmer-30B",
"messages": [
{"role": "user", "content": "Explain tensor parallelism briefly."}
],
"temperature": 0.0,
"max_tokens": 256
}'
Тонкая настройка с использованием TRL
Библиотека TRL позволяет выполнять дообучение модели Muse Glimmer различными методами — от стандартного SFT до асинхронного GRPO. Проведенные эксперименты на оборудовании архитектуры Hopper (видеокарты с 80 ГБ VRAM на борту) позволили сформировать таблицу практических минимальных системных требований для различных типов рабочих нагрузок:
- Инференс и оценка, BF16: 1 × 80 ГБ H100.
- LoRA SFT, BF16: 1 × 80 ГБ H100 (микробатч 1 + чекпоинтинг).
- Полный SFT, BF16: 8 × 80 ГБ H100 с использованием FSDP/ZeRO-3.
- LoRA GRPO (трансформерные роллауты): 1 × 80 ГБ H100 (медленный/жесткий режим).
- LoRA GRPO (раздельный сервер роллаутов vLLM): 8 × H100 (4 под роллауты и 4 под обучение).
- Полное дообучение GRPO: 8 графических процессоров обычно недостаточно.
В рамках релиза подготовлен демонстрационный пример дообучения Muse Glimmer на небольшом подмножестве датасета MolmoWeb. Данный пример иллюстрирует генерацию структурированных ответов и тонкую настройку на визуальных данных. Также проводились успешные эксперименты по запуску модели в среде OpenCode с примером AsyncGRPO, что подтверждает высокие возможности модели в сфере написания кода.
Автономные агенты, локальная квантизация и самооптимизация
Наиболее интересной особенностью Muse Glimmer является ее способность функционировать в качестве локального персонального ассистента с возможностями программирования и самоуправления. Модель способна самостоятельно квантовать себя, находить готовые веса на Hub, развертываться на эндпоинтах и оптимизировать собственную работу под конкретное железо.
Конфигурация в OpenClaw
Для интеграции модели в шлюз OpenClaw необходимо добавить параметры в конфигурационный файл ~/.openclaw/openclaw.json:
{
"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"
}
}
}
}
После сохранения файла шлюз перезапускается командой openclaw gateway restart, а работоспособность проверяется из новой сессии вызовом openclaw agent --message "Reply with: muse-ready".
Локальное развертывание и квантование
При подключении Muse Glimmer к серверу Model Context Protocol (MCP) от Hugging Face и обновлении файла AGENTS.md модель получает инструмент для автономного поиска квантованных версий себя на платформе и запуска в локальной среде. Это удобно для работы с конфиденциальными данными или сокращения затрат. Если процедура запускается повторно, модель обнаруживает кэшированные веса и переключается на них. Для удобства можно настроить специальную команду вроде /spawn.
Агент самостоятельно проверяет аппаратные ресурсы, ищет подходящие веса GGUF (обычно Q4_K_M), запускает llama-server и проверяет корректность выдачи ответов. Ниже приведен фрагмент промпта, добавляемый в AGENTS.md для реализации этой возможности:
## Local model deployment
When asked to deploy locally, perform the work; do not give instructions.
1. Inspect hardware and the Hugging Face cache.
2. Search the Hub for compatible GGUF weights using apps=llama.cpp; confirm exact filenames through the model-tree API.
3. Prefer an existing suitable GGUF, normally Q4_K_M. Treat mmproj-*.gguf as projector weights.
4. If no GGUF exists, download the source weights, convert with convert_hf_to_gguf.py, then quantize with llama-quantize.
5. Preserve source weights and record the repository, revision, filenames, and quantization.
6. Start llama-server with an onyx alias and an OpenAI-compatible endpoint.
7. Validate /v1/models and /v1/chat/completions, requiring non-empty, correct content.
8. Report concise progress and logs. Claim completion only after validation passes.
Автоматическое развертывание на Inference Endpoints
Модель способна осуществлять обратную задачу — самостоятельно развертывать свои копии в защищенном облачном окружении Hugging Face Inference Endpoints для ускорения обработки на мощных графических процессорах. Для этого в AGENTS.md прописывается следующий регламент:
## Hugging Face Inference Endpoint deployment
When asked to deploy on Hugging Face Inference Endpoints, perform the work; do not give instructions.
1. Inspect Hugging Face authentication, the current model repository, and any existing endpoints.
2. Confirm the exact model repository and immutable revision through the Hub API; inspect its architecture, configuration, and chat template.
3. Confirm that the model is supported by vLLM, then deploy or update a protected Inference Endpoint using the managed native vLLM engine.
4. Choose an available region and the smallest suitable accelerator. Use one replica and enable scale-to-zero when supported.
5. Preserve the previous endpoint configuration for rollback. Do not expose tokens, publish private weights, or replace an unrelated endpoint.
6. Wait for the endpoint to become ready. If startup fails, inspect the logs and report the actual blocker rather than repeatedly changing settings.
7. Validate /health, /v1/models, and /v1/chat/completions, requiring the expected model and non-empty, correct content. When agent use is required, also validate a real structured tool call.
8. Configure the Claw agent to use the endpoint's OpenAI-compatible /v1 URL, storing credentials as secrets and retaining the previous provider as rollback. Test the connection in a fresh session.
9. Report concise progress and finish with the repository, revision, engine, hardware, endpoint URL, scaling state, and validation results. Claim completion only after every required check passes.
Самооптимизация стека инференса
Агент Muse Glimmer способен выполнять функции автономного инженера по оптимизации производительности, настраивая свой стек обслуживания под конкретное железо (например, NVIDIA H100) с целью максимизации пропускной способности токенов в секунду. Протокол самооптимизации задается соответствующим промптом:
You are Muse Glimmer acting as an autonomous inference-optimization engineer for your own serving stack.
Goal: maximize valid single-H100 aggregate completion throughput in tokens/second.
Protocol:
1. Establish a correctness-passing baseline.
2. Test one reversible optimization at a time.
3. Keep the prompt, concurrency, sampling, request count, warm-up, and decode length fixed.
4. Reject results that fail correctness or prefix checks.
5. Record every experiment chronologically with its configuration, raw throughput, correctness, and delta.
6. Keep improvements and revert regressions.
7. Stop after six consecutive regressions or when the experiment budget is exhausted.
8. Report the best valid configuration and exact reproduction command.
Create a minimal scientific animation of the results:
- white background;
- raw tokens/second—never normalize;
- one point revealed per experiment;
- connect every point chronologically;
- begin with the lowest valid result;
- stop at the best result;
- export as a GIF.
Never fabricate, interpolate, or count correctness-failing measurements.
Для ознакомления с возможностями модели разработчики также запустили исследовательский агент-спейс на Gradio, который перенаправляет запросы к защищенному эндпоинту через OpenAI-совместимый API и подключает официальный сервер MCP для поиска по репозиториям, моделям, датасетам и научным публикациям на платформе Hugging Face.
Источник: huggingface.co

