Hugging Face 生成式 AI 服务 (HUGS) 文档
Docker
加入 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 设备的访问权限
- 使用
--privileged
标志(授予对所有 Neuron 设备的访问权限) - 使用
--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