
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像是一个预配置的基础Docker镜像,集成了PyTorch深度学习框架与Flash Attention高性能注意力机制库。旨在为Transformer架构模型(如LLM、BERT、GPT等)的开发、训练及推理提供标准化运行环境,简化依赖配置流程并优化计算效率。
4.1.1 公共仓库获取
bash# 基础版本(CPU+GPU通用) docker pull pytorch-flash-attention:latest # 指定版本(推荐生产环境使用) docker pull pytorch-flash-attention:2.0-cuda11.7
4.1.2 私有仓库获取
bashdocker login [私有仓库地址] docker pull [私有仓库地址]/pytorch-flash-attention:latest
4.2.1 交互式开发环境
bashdocker run -it --rm \ --gpus all \ # 启用所有GPU(需NVIDIA Docker运行时支持) -v /本地代码目录:/app \ # 挂载本地代码 -w /app \ # 设置工作目录 -e CUDA_VISIBLE_DEVICES=0,1 \ # 指定可用GPU pytorch-flash-attention:latest \ bash
4.2.2 后台运行训练任务
bashdocker run -d \ --name transformer-training \ --gpus '"device=0"' \ # 指定使用第1块GPU -v /本地数据目录:/data \ -v /本地模型输出目录:/output \ -e PYTHONPATH=/app \ pytorch-flash-attention:latest \ python /app/train.py \ --data-path /data/train_data \ --output-path /output/model_checkpoint \ --epochs 10
yamlversion: '3.8' services: torch-training: image: pytorch-flash-attention:2.0-cuda11.7 container_name: llm-training runtime: nvidia deploy: resources: reservations: devices: - driver: nvidia count: 2 # 使用2块GPU capabilities: [gpu] volumes: - ./code:/app - ./dataset:/data - ./checkpoints:/models - ./logs:/var/log/training environment: - CUDA_VISIBLE_DEVICES=0,1 - PYTHONPATH=/app:/app/utils - MODEL_MAX_SEQ_LEN=2048 working_dir: /app command: > sh -c "python -m torch.distributed.launch --nproc_per_node=2 train.py --data-path /data/llm_corpus --save-dir /models --log-dir /var/log/training" ports: - "6006:6006" # TensorBoard端口映射
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
CUDA_VISIBLE_DEVICES | 指定容器内可见GPU设备ID(如"0"、"0,1"),设为"-1"禁用GPU | "all" |
PYTHONPATH | Python模块搜索路径,用于导入自定义代码 | "/app" |
FLASH_ATTENTION_BACKEND | 指定Flash Attention后端实现("flash"或"pytorch") | "flash" |
MAX_BATCH_SIZE | 默认批处理大小限制 | 32 |
MODEL_CACHE_DIR | 模型权重缓存目录 | "/root/.cache/huggingface/hub" |
PYTHONDONTWRITEBYTECODE | 禁止生成.pyc文件(减少磁盘I/O) | "1" |
4.5.1 关键目录挂载示例
bash# 完整数据挂载命令 docker run -it \ -v $(pwd)/code:/app \ # 代码目录 -v $(pwd)/dataset:/data \ # 数据集目录 -v $(pwd)/models:/models \ # 模型权重目录 -v $(pwd)/logs:/logs \ # 日志目录 -v $(pwd)/cache:/cache \ # 缓存目录 pytorch-flash-attention:latest
4.5.2 命名卷使用(生产环境推荐)
bash# 创建持久化数据卷 docker volume create torch-training-data docker volume create torch-model-cache # 使用数据卷启动容器 docker run -it \ -v torch-training-data:/data \ -v torch-model-cache:/root/.cache \ pytorch-flash-attention:latest
基于本镜像扩展功能的Dockerfile示例:
dockerfileFROM pytorch-flash-attention:2.0-cuda11.7 # 安装额外依赖 COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # 添加项目代码 COPY ./src /app/src COPY ./scripts /app/scripts # 配置非root用户 RUN useradd -m appuser USER appuser WORKDIR /app # 设置默认启动命令 CMD ["python", "/app/scripts/start_service.py"]
构建命令:
bashdocker build -t custom-torch-flash-app:v1 .
2.0-cuda11.7)而非latest可避免版本兼容性问题--memory和--cpus参数限制容器资源使用USER指令在Dockerfile中配置/var/run/nvidia-smi实现容器内GPU监控:-v /var/run/nvidia-smi:/var/run/nvidia-smi以下是 hiyouga/pytorch 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务