根据查看 Dockerfile 和 setup.py 文件,我可以为你解释 EXTRAS
参数的作用:
EXTRAS
参数的作用在 Docker 构建镜像时,EXTRAS
参数用于指定安装 LLaMA Factory 时需要包含的额外依赖项。它在 Dockerfile 的第 35 行被使用:
dockerfile展开代码RUN pip install --no-cache-dir -e ".[${EXTRAS}]" --no-build-isolation
这相当于执行:
bash展开代码pip install -e ".[metrics]"
EXTRAS
选项从 setup.py
文件中,我找到了所有可用的额外依赖项:
选项 | 包含的依赖项 | 用途 |
---|---|---|
torch | torch>=2.0.0, torchvision>=0.15.0 | 基础 PyTorch 支持 |
torch-npu | torch-npu==2.5.1, torchvision==0.20.1, decorator | 华为昇腾 NPU 支持 |
metrics | nltk, jieba, rouge-chinese | 评估指标支持(中英文) |
deepspeed | deepspeed>=0.10.0,<=0.16.9 | 分布式训练支持 |
liger-kernel | liger-kernel>=0.5.5 | 优化内核支持 |
bitsandbytes | bitsandbytes>=0.39.0 | 量化支持 |
hqq | hqq | Half-Quadratic Quantization |
eetq | eetq | 高效量化支持 |
gptq | optimum>=1.24.0, gptqmodel>=2.0.0 | GPTQ 量化支持 |
aqlm | aqlm[gpu]>=1.1.0 | AQLM 量化支持 |
vllm | vllm>=0.4.3,<=0.9.1 | vLLM 推理加速 |
sglang | sglang[srt]>=0.4.5, transformers==4.51.1 | SGLang 推理引擎 |
galore | galore-torch | GaLore 优化器 |
apollo | apollo-torch | Apollo 优化器 |
badam | badam>=1.2.1 | Block-wise Adam 优化器 |
adam-mini | adam-mini | Mini Adam 优化器 |
minicpm_v | soundfile, torchvision 等 | MiniCPM-V 多模态支持 |
openmind | openmind | 阿里云开放平台支持 |
swanlab | swanlab | SwanLab 实验跟踪 |
dev | pre-commit, ruff, pytest, build | 开发工具 |
你可以根据需要选择不同的额外依赖项:
bash展开代码# 安装评估指标支持(默认)
--build-arg EXTRAS=metrics
# 安装多个额外依赖项
--build-arg EXTRAS=metrics,deepspeed,vllm
# 只安装基础版本
--build-arg EXTRAS=""
# 安装开发工具
--build-arg EXTRAS=dev
默认值是 metrics
,这意味着 Docker 镜像会包含用于模型评估的工具,如 NLTK、jieba 和 rouge-chinese,这些对于中英文模型的评估很有用。
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!