首页开发教程亚马逊云科技Amazon EC2部署DeepSeek-R1蒸馏模型教程

亚马逊云科技Amazon EC2部署DeepSeek-R1蒸馏模型教程

2025-02-27 1,089

本文将详细阐述如何在亚马逊云科技AWS上部署DeepSeek – R1,尤其针对DeepSeek – R1 – Distill – Qwen – 14B模型。部署过程涵盖在Amazon EC2实例上安装Ollama和Ollama Web UI,并通过应用程序负载均衡器(Application Load Balancer)将其公开。

亚马逊云科技官网:点击进入注册立享12个月免费Amazon EC2

一、在Amazon EC2 GPU实例上使用Ollama和Ollama Web UI部署DeepSeek-R1

1、为Amazon EC2实例创建依赖项(Amazon IAM实例配置文件)

打开亚马逊云科技管理控制台,导航至Amazon IAM页面,点击“创建角色”。选择“Amazon Web Services”作为受信任的实体类型,“Amazon EC2”作为用例。

注意:这些步骤采用了较为宽松的Amazon IAM托管策略,仅为在沙盒账户中简化演示流程。在任何实际工作负载中,即便不是生产环境,也请遵循最小权限原则。

亚马逊云科技Amazon EC2部署DeepSeek-R1蒸馏模型教程

将两个托管策略“AmazonS3FullAccess”和“AmazonSSMManagedInstanceCore”附加到“deepseek – r1”角色上,然后点击“创建角色”。

亚马逊云科技Amazon EC2部署DeepSeek-R1蒸馏模型教程

2、设置Amazon EC2实例

打开亚马逊云科技管理控制台,进入Amazon EC2页面,使用以下规格启动一个Amazon EC2实例:

(1)AMI:选择“Amazon Linux 2 AMI”。

(2)实例类型:选用“g4dn.xlarge”。

(3)网络设置:点击“编辑”,使用默认的 VPC 设置,创建一个新的安全组,并设置以下入站规则:

  • 允许来自受信任 IP 范围的 HTTP 流量(本示例中,允许来自“My IP”的 HTTP 流量);
  • 允许来自 VPC CIDR 范围、目标端口为 3000 的 TCP 流量(这是后续部署应用程序负载均衡器时,能将流量转发到 Amazon EC2 实例的必要条件);
  • 允许来自 VPC CIDR 范围的 HTTPS 流量。

(4)配置存储:设置为 100GiB gp3。

(5)高级详情:在 Amazon IAM 实例配置文件中选择“deepseek – r1”。

亚马逊云科技Amazon EC2部署DeepSeek-R1蒸馏模型教程

亚马逊云科技Amazon EC2部署DeepSeek-R1蒸馏模型教程

3、通过SSM连接到Amazon EC2实例

待Amazon EC2实例启动完成后,选中“deepseek – r1”,在“会话管理器”(Session Manager)选项卡下点击“连接”。后续将使用 SSM 建立的终端来执行部署操作。

亚马逊云科技Amazon EC2部署DeepSeek-R1蒸馏模型教程

二、在Amazon EC2实例上安装并配置NVIDIA驱动程序

在会话管理器终端中运行以下命令,在“g4dn EC2 实例”上安装NVIDIA GRID驱动程序:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo yum update -y
sudo yum install gcc makesudo yum install -y gcc kernel-devel-$(uname -r)
cd ~
aws s3 cp --recursive s3://ec2-linux-nvidia-drivers/latest/ .
chmod +x NVIDIA-Linux-x86_64*.run
mkdir /home/ssm-user/tmp
chmod -R 777 tmp
cd /home/ssm-user
export TMPDIR=/home/ssm-user/tmp
CC=/usr/bin/gcc10-cc ./NVIDIA-Linux-x86_64*.run --tmpdir=$TMPDIR
sudo yum update -y sudo yum install gcc makesudo yum install -y gcc kernel-devel-$(uname -r) cd ~ aws s3 cp --recursive s3://ec2-linux-nvidia-drivers/latest/ . chmod +x NVIDIA-Linux-x86_64*.run mkdir /home/ssm-user/tmp chmod -R 777 tmp cd /home/ssm-user export TMPDIR=/home/ssm-user/tmp CC=/usr/bin/gcc10-cc ./NVIDIA-Linux-x86_64*.run --tmpdir=$TMPDIR
sudo yum update -y
sudo yum install gcc makesudo yum install -y gcc kernel-devel-$(uname -r)
cd ~
aws s3 cp --recursive s3://ec2-linux-nvidia-drivers/latest/ .
chmod +x NVIDIA-Linux-x86_64*.run
mkdir /home/ssm-user/tmp
chmod -R 777 tmp
cd /home/ssm-user 
export TMPDIR=/home/ssm-user/tmp
CC=/usr/bin/gcc10-cc ./NVIDIA-Linux-x86_64*.run --tmpdir=$TMPDIR

按照屏幕提示完成驱动程序安装过程,选择默认配置选项。安装过程中可能会出现一些警告,确认后继续安装。安装完成后,验证驱动程序是否正确安装,并禁用 GSP(GPU Safety Package):

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
nvidia - smi - q | head
sudo touch /etc/modprobe.d/nvidia.conf
echo "options nvidia NVreg_EnableGpuFirmware = 0" | sudo tee --append /etc/modprobe.d/nvidia.conf
nvidia - smi - q | head sudo touch /etc/modprobe.d/nvidia.conf echo "options nvidia NVreg_EnableGpuFirmware = 0" | sudo tee --append /etc/modprobe.d/nvidia.conf
nvidia - smi - q | head 
sudo touch /etc/modprobe.d/nvidia.conf 
echo "options nvidia NVreg_EnableGpuFirmware = 0" | sudo tee --append /etc/modprobe.d/nvidia.conf

1、在Amazon EC2实例上安装并配置Docker

在会话管理器终端中运行以下命令,在 Amazon EC2 实例上安装并启动 Docker:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo yum install docker
sudo usermod -a -G docker ec2 - user
sudo systemctl enable docker.service
sudo systemctl start docker.service
sudo yum install docker sudo usermod -a -G docker ec2 - user sudo systemctl enable docker.service sudo systemctl start docker.service
sudo yum install docker 
sudo usermod -a -G docker ec2 - user 
sudo systemctl enable docker.service 
sudo systemctl start docker.service

启动 Docker 服务后,运行以下命令使用 NVIDIA 驱动程序配置 Docker:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
curl -s -L https://nvidia.github.io/libnvidia - container/stable/rpm/nvidia - container - toolkit.repo | \
sudo tee /etc/yum.repos.d/nvidia - container - toolkit.repo
sudo yum install -y nvidia - container - toolkit
sudo nvidia - ctk runtime configure --runtime = docker
sudo systemctl restart docker
curl -s -L https://nvidia.github.io/libnvidia - container/stable/rpm/nvidia - container - toolkit.repo | \ sudo tee /etc/yum.repos.d/nvidia - container - toolkit.repo sudo yum install -y nvidia - container - toolkit sudo nvidia - ctk runtime configure --runtime = docker sudo systemctl restart docker
curl -s -L https://nvidia.github.io/libnvidia - container/stable/rpm/nvidia - container - toolkit.repo | \ 
sudo tee /etc/yum.repos.d/nvidia - container - toolkit.repo 
sudo yum install -y nvidia - container - toolkit 
sudo nvidia - ctk runtime configure --runtime = docker 
sudo systemctl restart docker

2、在Amazon EC2实例上安装并配置Ollama服务器和Ollama Web UI

运行以下命令部署 Ollama 服务器,并验证其可访问状态:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker run -d --gpus = all -v ollama:/root/.ollama -p 11434:11434 --name ollama --restart always ollama/ollama
curl localhost:11434
docker run -d --gpus = all -v ollama:/root/.ollama -p 11434:11434 --name ollama --restart always ollama/ollama curl localhost:11434
docker run -d --gpus = all -v ollama:/root/.ollama -p 11434:11434 --name ollama --restart always ollama/ollama 
curl localhost:11434

Ollama 服务器运行后,通过以下命令从 Ollama 库中拉取 DeepSeek – R1 – Distill – Qwen – 14B 模型:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker exec -it ollama ollama pull deepseek - r1:14b
docker exec -it ollama ollama pull deepseek - r1:14b
docker exec -it ollama ollama pull deepseek - r1:14b

最后,设置 Ollama Web UI,使用户能通过网络浏览器与 DeepSeek – R1 – Distill – Qwen – 14B 进行交互:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
docker run -d -p 3000:8080 --add - host = host.docker.internal:host - gateway -v ollama - webui:/app/backend/data --name ollama - webui --restart always ghcr.io/ollama - webui/ollama - webui:main
docker run -d -p 3000:8080 --add - host = host.docker.internal:host - gateway -v ollama - webui:/app/backend/data --name ollama - webui --restart always ghcr.io/ollama - webui/ollama - webui:main
docker run -d -p 3000:8080 --add - host = host.docker.internal:host - gateway -v ollama - webui:/app/backend/data --name ollama - webui --restart always ghcr.io/ollama - webui/ollama - webui:main

三、配置应用程序负载均衡器以通过网络浏览器访问DeepSeek-R1的Amazon EC2实例

在亚马逊云科技管理控制台中,进入Amazon EC2页面,在左侧导航栏选择“负载均衡器”。选择“应用程序负载均衡器”(Application Load Balancer,简称 ALB)作为负载均衡器类型,然后点击“创建”。

为应用负载均衡器(ALB)进行以下配置:

1、方案:选择“面向互联网”。

2、负载均衡器 IP 地址类型:选择“IPv4”。

3、网络设置:选择默认的 VPC 设置,并选择 Amazon EC2 实例所在的可用区。

4、安全组:选择在 Amazon EC2 配置步骤中创建的安全组。

亚马逊云科技Amazon EC2部署DeepSeek-R1蒸馏模型教程

在“监听器和路由”部分,使用默认的 HTTP:80 设置,然后点击“创建目标组”。

亚马逊云科技Amazon EC2部署DeepSeek-R1蒸馏模型教程

将目标类型指定为“实例”,将目标组命名为“deepseek – tg”,然后点击“下一步”。

亚马逊云科技Amazon EC2部署DeepSeek-R1蒸馏模型教程

将“deepseek – r1”实例注册为目标,指定端口为 3000,并点击“标记为待处理并包含”(Include as pending),然后点击“创建目标组”(Create Target Group)。

亚马逊云科技Amazon EC2部署DeepSeek-R1蒸馏模型教程

最后,返回到应用负载均衡器创建页面,选择“deepseek – r1”目标组,向下滚动并点击“创建负载均衡器”。

亚马逊云科技Amazon EC2部署DeepSeek-R1蒸馏模型教程

四、通过ALB DNS访问Ollama Web UI上的DeepSeek – R1

在亚马逊云科技管理控制台中,进入Amazon EC2页面,在左侧导航栏选择“负载均衡器”。选择上一步创建的“deepseek – alb”,获取其DNS名称。

亚马逊云科技Amazon EC2部署DeepSeek-R1蒸馏模型教程

使用您选择的网络浏览器访问该ALB的DNS名称,将看到一个如下的注册页面。

亚马逊云科技Amazon EC2部署DeepSeek-R1蒸馏模型教程

使用选择的电子邮件地址和密码进行注册,即可开始探索部署在Amazon EC2上的 DeepSeek – R1 – Distill – Qwen – 14B 模型,该模型通过 Ollama 和 Ollama Web UI 提供服务。

亚马逊云科技Amazon EC2部署DeepSeek-R1蒸馏模型教程

虽然在GPU或AI芯片上部署DeepSeek – R1及其蒸馏模型能获得最佳的延迟和吞吐量表现,但并非所有应用场景都需要如此高的性能。在某些情况下,将这些模型部署在CPU上可能具有更好的性价比。

相关推荐:

阿里云GPU部署DeepSeek-R1-Distill模型教程

DeepSeek教程

  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。

相关文章