【Azure 环境】Azure 虚拟机上部署 DeepSeek R1 模型教程(1.5B参数)【失败】

前言

学习大模型者,都是想在自己的环境中部署一个模型进行试验。最近DeepSeek让我想实现了这个目标。

准备

本文使用一台Azure云上的虚拟机(16 vCPU, 64GB内存),Python环境,模型选择 DeepSeek-R1-Distill-Qwen-1.5B。

实操

第一步:在Azure中创建Linux 虚拟机

使用Ubuntu Server 24.04 LTS- Gen2 镜像, Size 选择为 Standard D16ads v5 ( 16 vcpus, 64GiB memory)


image.png

第二步:登录到Linux虚拟机,安全Python环境

sudo apt update

apt list --upgradable

sudo apt install python3
image.png

第三步:安装CPU vLLM编译器,下载VLLM(https://github.com/vllm-project/vllm

sudo apt-get update  -y

sudo apt-get install -y gcc-12 g++-12 libnuma-dev

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 10 --slave /usr/bin/g++ g++ /usr/bin/g++-12 git clone https://github.com/vllm-project/vllm.git

cd vllm

pip install -r requirements-cpu.txt

pip install -e .

错误信息:

~$ git clone https://github.com/vllm-project/vllm.git

Cloning into 'vllm'...

fatal: unable to access 'https://github.com/vllm-project/vllm.git/': Failed to connect to github.com port 443 after 133171 ms: Couldn't connect to server

通过Git clone VLLM文件并编译安装,但因为访问github不成功,所以需要提前准备好 VLLM ZIP文件,通过上传到Storage Account后,在Linux中使用wget下载并unzip。采用“曲线方针”方式,成功下载VLLM文件。


image.png

VLLM 成功下载后,进入VLLM目录。执行 requirements-cpu.txt依赖安装

pip install --upgrade pip

pip install cmake>=3.26 wheel packaging ninja "setuptools-scm>=8" numpy

pip install -v -r requirements-cpu.txt --extra-index-url https://download.pytorch.org/whl/cpu
image.png

第四步:安装完成后,通过下面的命令安装 VLLM CPU版本

VLLM_TARGET_DEVICE=cpu python setup.py install

Note****: ****此处setup.py****文件有个bug****,需要安装前修改文件。通过运行以下命令行修改setup.py****文件中的get_vllm_version()****函数:

def get_vllm_version() -> str: try:
       version = get_version(
       write_to="vllm/_version.py",  # TODO: move this to pyproject.toml ) except LookupError:
       version = "0.0.0"
image.png

PS: 执行“VLLM_TARGET_DEVICE=cpu python setup.py install“这一步需要较长时间。

第五步:安装完成后,VLLM就完成了cpu版本的安装

考虑是中国区环境下的VM,可以通过以下endpoint访问mirror huggingface. 在Linux VM中添加以下环境变量,访问mirror huggingface镜像。

export HF_ENDPOINT=https://hf-mirror.com

第六步:加载DeepSeek 1.5B的模型

vllm serve "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B"  

遇见错误一:operator torchvision::nms does not exist


File "/home/lbadmin/.venv/lib/python3.12/site-packages/transformers/utils/import_utils.py", line 1805, in __getattr__ module = self._get_module(self._class_to_module[name]) 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
File "/home/lbadmin/.venv/lib/python3.12/site-packages/transformers/utils/import_utils.py", line 1819, in _get_module raise RuntimeError(

RuntimeError: Failed to import transformers.processing_utils because of the following error (look up to see its traceback):

operator torchvision::nms does not exist

通过重新安装 torchvision 后,解决以上问题。

pip install --force-reinstall torchvision --extra-index-url https://download.pytorch.org/whl/torchvision/

遇见错误二:RuntimeError: Failed to infer device type

 File "/home/lbadmin/.venv/lib/python3.12/site-packages/vllm/engine/arg_utils.py", line 1074, in create_engine_config

   device_config = DeviceConfig(device=self.device) 

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
File "/home/lbadmin/.venv/lib/python3.12/site-packages/vllm/config.py", line 1626, in __init__

   raise RuntimeError("Failed to infer device type")

RuntimeError: Failed to infer device type

操作失败!通过从网上的资料判断,目前错误原因是所选择的模型不支持当前CPU 运行!

!试验失败!

image.png

假如第六步加载模型可以成功,就可以通过下面的代码测试模型:


curl -X POST "http://<public ip>:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{
       "model": "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B", "messages": [
           { "role": "user", "content": "What is the capital of France?" }
       ]
}'

谨以此文做一个笔记,2025年,持续学习大模型!

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容