建网站安全wordpress使用环境
2025/12/30 18:21:12 网站建设 项目流程
建网站安全,wordpress使用环境,工会网站建设策划书,保险官网查询目录引一、Docker环境准备1.1 镜像选择与下载1.2 创建容器坑1: 镜像ID混淆**坑2: 容器秒退**1.3 正确的创建方式1.4 进入容器二、Python环境配置2.1 安装Miniconda2.2 激活conda环境2.3 创建Python 3.10环境三、安装PyTorch与昇腾支持3.1 安装PyTorch 2.5.13.2 安装torch-npu四…目录引一、Docker环境准备1.1 镜像选择与下载1.2 创建容器坑1: 镜像ID混淆**坑2: 容器秒退**1.3 正确的创建方式1.4 进入容器二、Python环境配置2.1 安装Miniconda2.2 激活conda环境2.3 创建Python 3.10环境三、安装PyTorch与昇腾支持3.1 安装PyTorch 2.5.13.2 安装torch-npu四、编译安装Apex4.1 版本检查4.2 克隆源码4.3 编译4.4 安装五、安装vLLM与vLLM-Ascend5.1 安装标准vLLM5.2 安装vLLM-Ascend5.3 验证安装六、模型部署流程6.1 获取源码6.2 下载模型和数据集6.3 权重转换6.4 数据预处理6.5 启动训练总结引最近在昇腾310P上搭建强化学习训练环境从Docker容器到模型训练启动整个流程踩了不少坑。这篇文章记录了基于Qwen2.5-7B模型的完整部署过程包括MindSpeed-RL框架集成、vLLM-Ascend推理引擎配置等关键步骤。环境搭建是昇腾平台 AI 训练流程的基础需确保所有依赖组件正确安装并配置核心目标是构建一个隔离且适配昇腾硬件的运行环境。整个流程用Docker做环境隔离,主要是为了避免系统依赖冲突。虽然多了一层容器,但后期复现环境会方便很多。一、Docker环境准备1.1 镜像选择与下载昇腾社区提供了适配不同硬件 / 系统的 CANN 镜像需选择兼容的 Ubuntu 版本OpenEuler 版本易出现兼容性报错准备一台计算机要求安装的docker版本必须为1.11.2及以上 下载镜像我们用的是ARM选择docker pull --platformarm64 swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:8.3.rc2-310p-ubuntu22.04-py3.11x86架构 docker pull --platformamd64 swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:8.3.rc2-310p-ubuntu22.04-py3.11自适应架构 docker pull swr.cn-south-1.myhuaweicloud.com/ascendhub/cann:8.3.rc2-310p-ubuntu22.04-py3.11在本地服务器执行镜像拉取命令1.2 创建容器拉取镜像后需通过挂载昇腾设备、映射本地目录创建容器但初次操作易出现两类核心问题需逐一排查坑1: 镜像ID混淆一开始我直接用了拉取日志里的Digest值(sha256:f6294c42b93bb5026fab064bd68dc2ab93a9054588285085eda7b907661ec175),结果Docker报No such image。# 错误命令镜像ID不匹配 docker run -it -d --nethost --shm-size1g \ --privileged \ --name xyp1 \ --device/dev/davinci_manager \ --device/dev/hisi_hdc \ --device/dev/devmm_svm \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \ -v /usr/local/sbin:/usr/local/sbin:ro \ -v /path-to-weights:/path-to-weights:ro \ -v /home:/home \ sha256:f6294c42b93bb5026fab064bd68dc2ab93a9054588285085eda7b907661ec175正确做法是用docker images | grep ascendhub/cann查看实际镜像ID。我这里实际ID是66fa9b68edb9并替换权重路径占位符为实际路径/home/xuyipeng/weights坑2: 容器秒退用正确ID创建容器后,执行docker exec时提示container is not running。查了下状态发现容器已经退出,但ExitCode是0,没有报错。原因是默认的bash进程执行完就退出了,需要加个持续运行的任务。1.3 正确的创建方式针对上述问题删除异常容器并重新创建核心优化点① 使用正确镜像 ID② 新增bash -c tail -f /dev/null保证容器持续运行③ 替换权重路径为实际本地路径。完整命令如下# 1. 清理异常容器 docker rm -f xyp1 # 2. 重新创建容器修复版 docker run -it -d --nethost --shm-size1g \ --privileged \ --name xyp1 \ --device/dev/davinci_manager \ --device/dev/hisi_hdc \ --device/dev/devmm_svm \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \ -v /usr/local/sbin:/usr/local/sbin:ro \ -v /home/xuyipeng/weights:/path-to-weights:ro \ -v /home:/home \ 66fa9b68edb9 \ bash -c tail -f /dev/null # 关键保证容器持续运行不退出创建成功后执行docker ps | grep xyp1验证终端显示容器状态为Up说明容器已稳定运行。1.4 进入容器容器稳定运行后执行以下命令进入交互式终端开始初始化训练环境docker exec -it xyp1 bash进入容器后首先尝试安装 Miniconda适配 arm64 架构为后续 Python 依赖配置做准备# 下载arm64架构Miniconda安装包 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh二、Python环境配置Python 环境是昇腾平台训练代码运行的核心基础Conda 可有效管理 ARM 架构下的依赖版本隔离本部分基于已运行的昇腾容器完成 Miniconda 安装配置、环境变量加载及 Python 3.10 环境创建解决 ARM 架构下 Conda 初始化的典型问题。2.1 安装Miniconda容器内已下载 Miniconda 安装包Miniconda3-latest-Linux-aarch64.sh执行安装脚本并完成交互配置步骤如下bash Miniconda3-latest-Linux-aarch64.sh安装过程需依次完成以下交互操作避免因误输入导致安装失败询问是否初始化conda时输入yes安装路径直接回车用默认的/root/miniconda3,不要乱输其他东西(会报空格错误)安装完成后出现 “Do you wish to update your shell profile to automatically initialize conda?” 时输入yes让 Conda 自动配置环境变量终端提示 “ For changes to take effect, close and re-open your current shell. ”说明 Miniconda 安装完成。2.2 激活conda环境安装完成后直接执行conda命令会提示bash: conda: command not found原因是当前 shell 未加载/root/.bashrc中新增的 Conda 环境变量执行以下命令手动加载# 加载环境变量使conda命令生效 source ~/.bashrc # 验证Conda安装输出版本号即配置成功 conda --version看到版本号就说明配置好了,终端提示符会变成(base)。2.3 创建Python 3.10环境Conda 环境变量加载成功后创建名为test的 Python 3.10 虚拟环境适配昇腾训练依赖conda create -n test python3.10依次输入a接受 Anaconda 仓库服务条款按y确认下载依赖包终端显示 Python 3.10 及依赖列表总大小约 15.3MB按提示输入a接受条款,输入y确认下载。然后激活环境:conda activate test提示符会从(base)变成(test)。三、安装PyTorch与昇腾支持PyTorch 及其昇腾适配版本torch-npu是昇腾 310P 硬件上运行 AI 训练代码的核心框架版本需严格匹配PyTorch 2.5.1 对应 torch-npu 2.5.1rc1才能充分调用 NPU 算力同时保证与 MindSpeed-RL 等框架的兼容性。3.1 安装PyTorch 2.5.1从ModelScope下载预编译的ARM64版本(避免自己编译):git clone https://oauth2:A_HhBt9-qWdhdTFy66k9www.modelscope.cn/DanteQ/torch2.5.1.git进入仓库目录安装 ARM64 架构的 PyTorch 2.5.1cd torch2.5.1 pip install torch-2.5.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl安装过程中 pip 会自动解析依赖并下载缺失包filelock、typing-extensions、networkx、jinja2、sympy 等终端最终输出Successfully installed MarkupSafe-3.0.3 filelock-3.20.0 fsspec-2025.12.0 jinja2-3.1.6 mpmath-1.3.0 networkx-3.4.2 sympy-1.13.1 torch-2.5.1 typing-extensions-4.15.0说明 PyTorch 核心包安装完成。3.2 安装torch-npu这是华为适配的PyTorch NPU插件,版本必须和PyTorch对应:安装基础依赖包补全 torch-npu 的安装前置条件pip install pyyaml setuptools安装 torch-npu 2.5.1rc1pip install torch-npu2.5.1rc1四、编译安装ApexApex是混合精度训练工具,昇腾版针对NPU做了优化可充分发挥昇腾 310P 的混合精度算力降低训练显存占用。本部分基于已配置的 PyTorch-NPU 环境完成昇腾专用 Apex 的源码编译、依赖适配及安装验证解决 ARM64 架构下编译的核心问题。4.1 版本检查昇腾版 Apex 编译对 setuptools 版本有严格要求需先检查并调整版本确保版本≤65.7.0,不然编译会失败# 激活test环境Python 3.10 PyTorch-NPU conda activate test # 检查setuptools版本 pip show setuptools | grep Version4.2 克隆源码昇腾官方在 Gitee 维护了适配 NPU 的 Apex 分支需克隆指定仓库# 克隆昇腾专用Apex项目master分支为最新适配版 git clone -b master https://gitee.com/ascend/apex.git # 进入源码目录 cd apex/4.3 编译编译前需确保 PyTorch 已正确安装torch 2.5.1 torch-npu 2.5.1rc1执行昇腾定制编译脚本bash scripts/build.sh --python3.10这里需要保持网络流畅要不然很容易失败。4.4 安装pip install --upgrade apex-0.1ascend-cp310-cp310-linux_aarch64.whl看到Successfully installed apex-0.1ascend就OK了。五、安装vLLM与vLLM-AscendvLLM 是高性能 LLM 推理引擎昇腾适配版 vLLM-Ascend 针对 NPU 硬件做了算子优化可支撑训练过程中的实时评估 / 推理环节:5.1 安装标准vLLMvLLM 编译依赖 C/C 构建工具需先安装容器内缺失的编译组件conda activate test5.2 安装vLLM-Ascend标准 vLLM 需指定版本并关闭设备检测避免默认检测 CUDA 导致安装失败步骤如下# 安装构建依赖 pip install -r requirements-build.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # 安装vLLM源码编译安装 pip install . -i https://pypi.tuna.tsinghua.edu.cn/simplevLLM-Ascend 基于 v0.7.3 开发需 checkout 指定 commit保证与昇腾 NPU 兼,这里以开发模式安装即-e方便后续适配修改安装过程中会自动编译昇腾 NPU 专用算子终端输出Building wheels for collected packages: vllm-ascend成功后显示Successfully installed vllm-ascend-0.7.3。5.3 验证安装导入验证python -c import vllm; from vllm_ascend import init_npu; print(vLLM-Ascend导入成功)输出如下说明安装完成若提示ModuleNotFoundError: No module named vllm_ascend需重新执行pip install -e .。六、模型部署流程模型部署是昇腾 310P 平台上运行强化学习训练的核心环节需完成 MindSpeed 生态组件集成、模型 / 数据集准备、权重转换、数据预处理及训练启动全流程需严格匹配版本和路径配置确保各组件协同调用昇腾 NPU 算力。以下是可落地的详细操作指南包含关键参数配置、路径适配及异常排查。6.1 获取源码MindSpeed-RL昇腾强化学习框架需集成 MindSpeed核心框架、Megatron-LM分布式训练、MindSpeed-LLM大模型适配且需 checkout 指定 commit 保证版本兼容步骤如下激活test环境PyTorch-NPU Apex vLLM-Ascendconda activate test 克隆MindSpeedcd MindSpeed git checkout 0dfa0035ec54d9a74b2f6ee2867367df897299df # 验证过的稳定版本 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple pip3 install -e . # 开发模式安装支持后续修改cp -r mindspeed ../MindSpeed-RL/ # 复制到MindSpeed-RL目录集成cd ..# 3. 克隆Megatron-LM分布式训练框架并切换指定版本git clone https://github.com/NVIDIA/Megatron-LM.git cd Megatron-LM git checkout core_r0.8.0 # 适配昇腾的版本cp -r megatron ../MindSpeed-RL/ # 集成到MindSpeed-RLcd ..# 4. 克隆MindSpeed-LLM昇腾大模型适配层并切换稳定commitgit clone https://gitee.com/ascend/MindSpeed-LLM.git cd MindSpeed-LLM git checkout 421ef7bcb83fb31844a1efb688cde71705c0526e # 适配Qwen2.5-7B的版本cp -r mindspeed_llm ../MindSpeed-RL/ # 集成到MindSpeed-RLcd ..进入MindSpeed-RL目录cd MindSpeed-RLpip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple pip install antlr4-python3-runtime4.7.2 --no-deps6.2 下载模型和数据集Qwen2.5-7B-Instruct基础模型和 Orz Math 57K数学推理数据集是强化学习训练的核心资源需确保下载完整且路径可访问下载 Qwen2.5-7B 基础模型ModelScopegit clone https://gitcode.com/hf_mirrors/Qwen/Qwen2.5-7B-Instruct.git下载耗时说明模型权重约 13GB建议在宿主机下载后挂载到容器-v /宿主机模型路径:/容器模型路径避免容器内重复下载下载 Orz Math 57K 数据集git clone https://gitcode.com/saulcy/orz_math_57k.git建议在宿主机下载后挂载到容器,避免重复下载。6.3 权重转换Qwen2.5-7B 的 HuggingFace 格式权重需转换为 Megatron 格式才能适配昇腾分布式训练框架 进入MindSpeed-RL目录cd MindSpeed-RL加载CANN环境变量source /usr/local/Ascend/ascend-toolkit/set_env.sh最后执行转换脚本bash examples/ckpt/ckpt_convert_qwen25_hf2mcore.shcd MindSpeed-RL source /usr/local/Ascend/ascend-toolkit/set_env.sh bash examples/ckpt/ckpt_convert_qwen25_hf2mcore.sh6.4 数据预处理原始 Orz Math 数据集需转换为算法适配的二进制格式提升训练数据读取效率步骤如下修改配置文件configs/datasets/grpo_pe_nlp.yaml,主要改三个路径:raw_data_path: 原始数据路径processed_data_path: 处理后数据保存路径vocab_file: 词表文件路径执行数据预处理进入MindSpeed-RL目录cd MindSpeed-RL执行预处理脚本bash examples/data/preprocess_data.sh grpo_pe_nlp在终端看到输出Preprocess done, total samples: 57000这就代表已经启动成功了。6.5 启动训练修改训练配置文件后执行启动脚本拉起基于昇腾 NPU 的强化学习训练编辑MindSpeed-RL/configs/grpo_trainer_qwen25_7b.yaml核心修改项model.ckpt_path转换后的 Megatron 格式权重路径data.data_path预处理后的数据集路径train.npu_deviceNPU 设备编号单卡设为 0train.batch_size单卡批次大小昇腾 310P 建议设为 8/16根据内存调整。启动训练脚本bash examples/grpo/grpo_trainer_qwen25_7b.sh训练启动成功终端 / 日志输出[INFO] Training started with model: Qwen2.5-7B, dataset: orz_math_57k总结这次在昇腾310P上搭环境前前后后折腾了好几天。回过头看主要就是几个地方容易出问题Docker这块最坑的是容器创建后直接退出开始根本没想到要加个tail -f /dev/null让它一直跑着。还有就是镜像ID别搞错了docker images查出来是啥就用啥别直接复制拉取日志里的Digest。版本匹配这个真的要严格按照来。PyTorch 2.5.1配torch-npu 2.5.1rc1差一个小版本后面都是坑。setuptools也得降到65.7.0以下不然Apex编译直接过不了。各个git仓库的commit也别随便换文中提到的那些版本都是验证过能跑通的。整体流程走下来昇腾环境确实比CUDA复杂一些但熟悉之后其实也还好。这套环境主要是为了在昇腾310P上跑强化学习训练使用了MindSpeed-RL框架配合Qwen2.5-7B模型和Orz Math数据集进行数学推理任务的训练。整个流程虽然步骤多但只是第一次搭的时候要踩的坑比较多后面再搭就快了同时昇腾PAE案例库对本文写作亦有帮助本文参考案例

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询