Muse Glimmer Day-0支持:Intel平台上的vLLM与Hugging Face部署指南

2 阅读

引言

Meta近期发布的Muse Glimmer模型,凭借其300亿参数的规模和对代理工作流的深度优化,迅速成为AI社区关注的焦点。该模型从Muse Spark蒸馏而来,专为常驻型AI代理设计,在关键代理用例和基准测试中表现出色,相比同尺寸模型具有显著优势。Intel作为硬件厂商,通过“上游优先”的承诺,与Meta紧密合作,实现了Muse Glimmer在Intel GPU和Xeon CPU上的Day-0支持,即模型发布当天即可在Intel平台上无缝运行。

本文将详细介绍如何在Intel平台上使用vLLM和Hugging Face Transformers部署Muse Glimmer,涵盖环境搭建、模型启动、文本聊天、图像问答以及DFlash投机解码等高级功能。无论你是开发者还是企业用户,都能从中获得实用的部署指导,充分利用Intel硬件性能,实现高效、私密的AI推理。

使用vLLM在Intel平台快速部署Muse Glimmer

vLLM是一个高性能的大语言模型推理引擎,支持OpenAI兼容的API,方便开发者快速集成。Intel对vLLM的贡献使得Muse Glimmer能够在Intel GPU和Xeon CPU上开箱即用。

环境搭建

Intel GPU (XPU)

首先,需要构建vLLM的Intel GPU Docker镜像。由于vLLM社区正在合并相关PR(#51655),在合并之前,需要克隆PR分支以使用Muse Glimmer。一旦合并,可以直接克隆vLLM主分支。

git clone --branch tiezhen/new-model-support https://github.com/xianbaoqian/vllm.git
cd vllm
docker build -f docker/Dockerfile.xpu -t vllm-xpu-env --shm-size=4g .

构建完成后,启动容器:

docker run -it --rm --network=host --ipc=host --privileged \
                 --device /dev/dri:/dev/dri \
                 -v /dev/dri/by-path:/dev/dri/by-path \
                 --entrypoint bash \
                 vllm-xpu-env

Intel Xeon CPU

对于CPU平台,构建vLLM的CPU Docker镜像:

git clone --branch tiezhen/new-model-support https://github.com/xianbaoqian/vllm.git
cd vllm
docker build -f docker/Dockerfile.cpu \
        --tag vllm-cpu-env \
        --target vllm-openai .

启动容器:

docker run -it --rm \
            --privileged \
            --shm-size=4g \
            --entrypoint bash \
            vllm-cpu-env

启动vLLM服务器

vLLM提供了HTTP服务器,实现了OpenAI的Completions API和Chat API,方便用户通过HTTP客户端进行交互。以下命令在Intel Arc Pro B70、B60和Xeon 6 CPU上验证通过。

Intel GPU (XPU)

vllm serve $<MODEL_PATH> \
      --tensor-parallel-size $<TP_SIZE> \
      --reasoning-parser muse_glimmer \
      --enforce-eager

Intel Xeon CPU

vllm serve $<MODEL_PATH> \
      --tensor-parallel-size $<TP_SIZE> \
      --reasoning-parser muse_glimmer

如需启用Muse Glimmer的工具调用功能,可添加额外参数:--tool-call-parser muse_glimmer --enable-auto-tool-choice

与Muse Glimmer交互

文本聊天

使用curl发送请求:

curl -X POST "http://localhost:8000/v1/chat/completions" \
     -H "Content-Type: application/json" \
     --data '{
        "model": "$<MODEL_PATH>",
        "messages": [
          {
            "role": "user",
            "content": [
              {
                "type": "text",
                "text": "How are you?"
              }
            ]
          }
        ]
      }'

图像问答

curl -X POST "http://localhost:8000/v1/chat/completions" \
     -H "Content-Type: application/json" \
     --data '{
        "model": "$<MODEL_PATH>",
        "messages": [
          {
            "role": "user",
            "content": [
              {
                "type": "text",
                "text": "Describe this image in one sentence."
              },
              {
                  "type": "image_url",
                  "image_url": {
                  "url": "$<IMAGE_ADDRESS>"
                }
              }
            ]
          }
        ]
      }'

使用Hugging Face Transformers在Intel平台部署Muse Glimmer

除了vLLM,Hugging Face Transformers也提供了对Muse Glimmer的Day-0支持,适合需要更灵活控制的场景。

环境搭建

Intel GPU (XPU)

首先,更新Intel GPU驱动到最新版本:

apt-get update && \
    apt-get install -y software-properties-common && \
    add-apt-repository -y ppa:kobuk-team/intel-graphics && \
    apt-get install -y libze-intel-gpu1 libze1 intel-metrics-discovery intel-opencl-icd clinfo intel-gsc && \
    apt-get install -y intel-media-va-driver-non-free libmfx-gen1 libvpl2 libvpl-tools libva-glx2 va-driver-all vainfo && \
    apt-get install -y libze-dev intel-ocloc && \
    apt-get install -y libze-intel-gpu-raytracing

然后,安装依赖软件和PyTorch包:

sudo apt-get update
sudo apt-get install -y ffmpeg

uv venv .my-env
source .my-env/bin/activate
uv pip install torch==2.13.0+xpu torchvision==0.28.0+xpu torchaudio==2.11.0+xpu torchao==0.17.0+xpu --index-url https://download.pytorch.org/whl/xpu --no-cache-dir
uv pip install torchcodec==0.15.0 --index-url https://download.pytorch.org/whl/cpu

Intel Xeon CPU

安装PyTorch CPU版本:

sudo apt-get update
sudo apt-get install -y ffmpeg

uv venv .my-env
source .my-env/bin/activate
uv pip install torch==2.13.0+cpu torchvision==0.28.0+cpu --index-url https://download.pytorch.org/whl/cpu --no-cache-dir
uv pip install torchcodec==0.15.0 --index-url https://download.pytorch.org/whl/cpu

安装Hugging Face包

uv pip install transformers accelerate

运行Muse Glimmer

我们提供了一个Python脚本muse_glimmer_test.py,方便用户快速测试模型。该脚本支持文本生成、图像问答和视频问答,并可在Intel GPU和CPU上运行。

Intel GPU (XPU)

在Intel Arc Pro B70 GPU上,我们验证了以下配置:

  • 2卡文本生成
  • 2卡图像问答

运行文本聊天:

ZE_AFFINITY_MASK=0,1 torchrun --nproc-per-node 2 muse_glimmer_test.py \
                                --hf_dir <MODEL_PATH> \
                                --prompt "The meaning of life is"

运行图像问答:

ZE_AFFINITY_MASK=0,1 torchrun --nproc-per-node 2 muse_glimmer_test.py \
                                --hf_dir <MODEL_PATH> \
                                --image <IMAGE_PATH> \
                                --prompt "Describe this image: <img>"

Intel Xeon CPU

在CPU上运行文本聊天:

python muse_glimmer_test.py \
    --hf_dir <MODEL_PATH> \
    --prompt "The meaning of life is"

运行图像问答:

python muse_glimmer_test.py \
    --hf_dir <MODEL_PATH> \
    --image <IMAGE_PATH> \
    --prompt "Describe this image: <img>"

DFlash投机解码

Intel Xeon CPU还支持DFlash投机解码,可以显著提升推理速度。启用方法是在命令中添加--assistant_dir参数:

python muse_glimmer_test.py \
    --hf_dir <MODEL_PATH> \
    --assistant_dir <ASSISTANT_PATH> \
    --prompt "The meaning of life is"

性能与优化建议

在实际部署中,根据硬件配置和需求,可以调整张量并行大小(--tensor-parallel-size)以充分利用多卡性能。对于CPU平台,DFlash投机解码能有效降低延迟,适合对实时性要求高的场景。此外,Intel的“上游优先”策略确保了模型与框架的持续优化,建议定期更新vLLM和Transformers版本以获取最新性能改进。

结语

Intel对Muse Glimmer的Day-0支持,体现了其在AI基础设施领域的深厚积累。通过vLLM和Hugging Face Transformers,开发者可以快速在Intel平台上部署这一强大模型,无论是用于研究还是生产环境。随着AI技术的不断演进,Intel将继续与社区合作,推动更多创新模型的落地。

现在,你可以按照本文指南,在Intel平台上体验Muse Glimmer的强大能力,开启你的AI应用开发之旅。