ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

220、【AI】【模型部署】跑起第一个模型(上):装 CPU 环境与下载 Qwen2.5-0.5B

220、【AI】【模型部署】跑起第一个模型(上):装 CPU 环境与下载 Qwen2.5-0.5B 【声明】本博客所有内容均为个人业余时间创作所述技术案例均来自公开开源项目如GithubApache基金会不涉及任何企业机密或未公开技术如有侵权请联系删除标题220、【AI】【模型部署】跑起第一个模型(上)装 CPU 环境与下载 Qwen2.5-0.5B背景上篇 blog【AI】【模型部署】装库前先隔离venv 虚拟环境从概念到落地把环境概念讲清了venv 是 Python 官方的隔离方案——python3 -m venv myenv建独立房间自己的 bin/python、pip 与 site-packages激活source …/activate、退出deactivate前缀方式等价Ubuntu/Debian 的 PEP 668 会拦系统级pip install正解是先进 venvvenv 装坏可删目录重建。本篇在这个 venv 里正式动手装 CPU 版 torch、transformers、modelscope并从 ModelScope 下载开源模型Qwen2.5-0.5B-Instruct——跑起第一个模型的准备篇下一篇在 Notebook 里真正推理模型部署目标是把一个真实模型跑起来。第一步不是跑是先把三样东西放进 venv能算数的张量库、会加载模型的推理库、能从国内仓库拉模型文件的下载工具。为什么是这三件套 CPU 版包职责中文定位torch张量计算、跑神经网络模型运行的地基transformers加载模型、分词、推理统一 API模型的通用挂载层modelscope从 ModelScope 下载模型文件国内模型仓库的下载器torch 特意选CPU 版本机没有 GPU装默认版会拖进几 GB 的 CUDA 运行库用不上官方提供了单独的 CPU wheel 源体积小很多。第一步装 CPU 版 torch在 venv 里用官方 CPU 源安装--index-url只对这一次生效jupyter-venv/bin/pipinstalltorch\--index-url https://download.pytorch.org/whl/cpu# 实际输出关键行# Using cached torch-2.14.0cpu-cp312-cp312-manylinux_2_28_x86_64.whl (196.3 MB)# Successfully installed … torch-2.14.0cpu版本号里的cpu后缀是辨别标记2.14.0cpu表示纯 CPU 版与 CUDA 版是两套 wheel装错会互不可见。196MB 的包是压缩大小解压后占约几百 MB属正常。第二步装 transformers 与 modelscope这两个走默认 PyPI 即可体积小jupyter-venv/bin/pipinstalltransformers modelscope# 实际输出关键行# Successfully installed … transformers-5.16.1 modelscope-1.40.0装完用一条命令确认三件套版本顺带验证 import 不报错jupyter-venv/bin/python-c\import torch, transformers, modelscope; print(torch.__version__, transformers.__version__, modelscope.__version__)# 2.14.0cpu 5.16.1 1.40.0如何确认装的是纯 CPU 版跑一条自检看 CUDA 与线程情况jupyter-venv/bin/python-c\import torch; print(cuda_built, torch.backends.cuda.is_built()); print(threads, torch.get_num_threads())# cuda_built False# threads 8cuda_builtFalse直接证明这是无 CUDA 的纯 CPU 构建threads8表示推理会用到本机 8 核——CPU 推理慢不等于单核torch 会尽量吃满多核。第三步下载 Qwen2.5-0.5B-Instruct模型仓库在 ModelScope用官方 SDK 一键下载整份文件jupyter-venv/bin/python-c\from modelscope import snapshot_download; print(snapshot_download(Qwen/Qwen2.5-0.5B-Instruct))下载完成会打印缓存目录实测本机结果/home/adminpc/.cache/modelscope/models/Qwen--Qwen2.5-0.5B-Instruct/snapshots/master本次实测11 个文件约21 秒全部拉完峰值约 55MB/s期间进度条按文件逐一下载、最大的是 943MB 的 model.safetensors。为什么选它0.5B约 5 亿参数是能在 CPU 上流畅跑的最小档又保留了完整的对话能力Instruct 版带指令微调跑通后再换大模型只是换一行仓库名。参数与文件体积的关系可先验算权重字节数 ≈ 参数量 × 每参数字节数Qwen2.5-0.5B 用 bf16 存储每参数 2 字节0.5×10⁹ × 2 ≈ 1GB——与实际 943MB 的model.safetensors对得上。照此估算7B 模型光权重就要 ~14GBCPU 内存吃紧这也是先从 0.5B 入手的原因。下载到手的到底是什么11 个文件、约 1GB下载清单实测文件大小是什么config.json659 B架构与超参声明model.safetensors943 MB模型全部权重真正的大头tokenizer.json/vocab.json/merges.txt~11 MB分词器三件套generation_config.json242 B生成参数默认值tokenizer_config.json7 KB分词器配置特殊符号等README.md/LICENSE/ 其余20 KB说明与许可下载速度实测约 55 MB/s1GB 总量几十秒内完成目录整体占用 954MB。两个实用细节重复下载是幂等的snapshot_download重跑会先比对已存在文件只补缺失/变化的部分不会把 1GB 重新拉一遍缓存位置可改默认落在~/.cache/modelscope/可用环境变量MODELSCOPE_CACHE指到别的目录比如放在项目旁方便整目录拷贝去服务器。四个常见坑遇事先对号入座现象原因对策系统里 pip 直接被拒PEP 668 拦系统 Python到 venv 里装219 讲过torch 装完体积巨大没走 CPU 源拉了带 CUDA 的默认版加--index-url https://download.pytorch.org/whl/cpufrom_pretrained报找不到仓库仓库名/平台写错ModelScope 与 HuggingFace 各管一套用 modelscope 的Qwen/Qwen2.5-0.5B-Instruct这种组织/模型全名换了模型名仍秒失败本地无缓存又没网先snapshot_download下到本地再本地目录加载至此模型已经安静地躺在本机缓存里——它不是装进 pip 的包而是一堆文件下一篇就用 Notebook 把其中最核心的config.json与model.safetensors加载起来真正推理。最后看一眼这一步的空间账实测便于心里有数venv 的 site-packages 共约 1.4GB其中 torch 769MB、transformers 113MB、modelscope 66MB模型缓存另占 954MB。也就是说装推理环境 一个小模型 ≈ 2.4GB——换大模型7B 起时模型本身会到十几 GB提前规划磁盘。一句话记忆跑模型第一步是环境在 venv 里装 CPU 版 torch--index-url …/whl/cpu得2.14.0cpu transformers加载/推理 API modelscope下载工具再用snapshot_download(Qwen/Qwen2.5-0.5B-Instruct)从 ModelScope 拉下约 1GB 的 11 个文件到缓存目录——模型本质是一堆文件config.json 声明结构、model.safetensors 装权重下一篇把这些文件加载起来跑第一次推理。OK本篇先到这里如有疑问欢迎评论区留言讨论祝各位功力大涨技术更上一层楼更多内容见下篇 blog【AI】【模型部署】跑起第一个模型(下)Notebook 里首次推理
返回列表