Hugging Face 生成式 AI 服务 (HUGS) 文档

Docker

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

Docker

HUGS 支持在 Docker 上部署。您可以从命令行使用默认设置运行 HUGS,或者通过创建自己的 docker-compose.yml 文件来自定义您的配置。

使用 Docker 运行 HUGS

要使用默认设置通过 Docker 运行 HUGS,请从您的 shell 运行此命令

export HUGS_CACHE=~/.cache/hugs
mkdir -p "$HUGS_CACHE"
docker run -it --rm \
    --gpus all \
    --shm-size=16GB \
    -v "$HUGS_CACHE:/tmp" \
    -p 8080:80 \
   'hfhugs/nvidia-google-gemma-2-9b-it:0.2.0'

容器 URI 可能会因您使用的发行版和模型而异。

该命令在容器中设置以下默认环境变量

  • HUGS_CACHE 默认为 ~/.cache/hugs。这是模型的缓存,以便下次更快加载。

使用 AWS Inferentia2/Trainium 运行 HUGS 容器

要在具有 Inferentia2 或 Trainium 加速器的 AWS 实例上运行 HUGS,您需要使用兼容的 Docker 镜像并配置对 Neuron 设备的访问权限。有两种方法可以为容器提供对 Neuron 设备的访问权限

  1. 使用 --privileged 标志(授予对所有 Neuron 设备的访问权限)
  2. 使用 --device 标志(授予对特定 Neuron 设备的访问权限)

您可以使用 --privileged 标志运行容器,以授予对所有 Neuron 设备的访问权限

export HUGS_CACHE=~/.cache/hugs
mkdir -p "$HUGS_CACHE"
sudo docker run -it --rm \
    --shm-size=16GB \
    --privileged \
    -v "$HUGS_CACHE:/tmp" \
    -p 8080:80 \
    'hfhugs/neuron-meta-llama-meta-llama-3.1-8b-instruct:0.2.0'

或者,您可以使用 --device 标志指定单个 Neuron 设备,以获得更精细的控制

export HUGS_CACHE=~/.cache/hugs
mkdir -p "$HUGS_CACHE"
sudo docker run -it --rm \
    --shm-size=16GB \
    --device=/dev/neuron0 \
    --device=/dev/neuron1 \
    --device=/dev/neuron2 \
    --device=/dev/neuron3 \
    -v "$HUGS_CACHE:/tmp" \
    -p 8080:80 \
    'hfhugs/neuron-meta-llama-meta-llama-3.1-8b-instruct:0.2.0'
使用单独的 --device 标志可以更精细地控制哪些 Neuron 设备可供容器访问,这在同一实例上运行多个容器时非常有用。

Docker Compose 文件示例

您还可以使用 docker-compose.yml 文件来自定义您的配置。

version: '3.8'

services:
  hugs:
    image: hfhugs/nvidia-google-gemma-2-9b-it
    ports:
      - 8080:80
    volumes:
      - ${HUGS_CACHE:-~/.cache/hugs}:/tmp
    environment:
      - HUGS_CACHE=/tmp
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    shm_size: 16GB
    restart: on-failure:0

volumes:
  hugs_cache:

编辑 docker-compose.yml 文件以满足您的需求。您可以添加或删除环境变量,更改端口映射。要启动您的 HUGS 实例,请从您的 shell 运行此命令。

docker compose up
< > Update on GitHub