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