本文将详细阐述如何在亚马逊云科技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托管策略,仅为在沙盒账户中简化演示流程。在任何实际工作负载中,即便不是生产环境,也请遵循最小权限原则。
将两个托管策略“AmazonS3FullAccess”和“AmazonSSMManagedInstanceCore”附加到“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”。
3、通过SSM连接到Amazon EC2实例
待Amazon EC2实例启动完成后,选中“deepseek – r1”,在“会话管理器”(Session Manager)选项卡下点击“连接”。后续将使用 SSM 建立的终端来执行部署操作。
二、在Amazon EC2实例上安装并配置NVIDIA驱动程序
在会话管理器终端中运行以下命令,在“g4dn EC2 实例”上安装NVIDIA GRID驱动程序:
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):
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:
sudo yum install docker sudo usermod -a -G docker ec2 - user sudo systemctl enable docker.service sudo systemctl start docker.service
启动 Docker 服务后,运行以下命令使用 NVIDIA 驱动程序配置 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 服务器,并验证其可访问状态:
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 模型:
docker exec -it ollama ollama pull deepseek - r1:14b
最后,设置 Ollama Web UI,使用户能通过网络浏览器与 DeepSeek – R1 – Distill – Qwen – 14B 进行交互:
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 配置步骤中创建的安全组。
在“监听器和路由”部分,使用默认的 HTTP:80 设置,然后点击“创建目标组”。
将目标类型指定为“实例”,将目标组命名为“deepseek – tg”,然后点击“下一步”。
将“deepseek – r1”实例注册为目标,指定端口为 3000,并点击“标记为待处理并包含”(Include as pending),然后点击“创建目标组”(Create Target Group)。
最后,返回到应用负载均衡器创建页面,选择“deepseek – r1”目标组,向下滚动并点击“创建负载均衡器”。
四、通过ALB DNS访问Ollama Web UI上的DeepSeek – R1
在亚马逊云科技管理控制台中,进入Amazon EC2页面,在左侧导航栏选择“负载均衡器”。选择上一步创建的“deepseek – alb”,获取其DNS名称。
使用您选择的网络浏览器访问该ALB的DNS名称,将看到一个如下的注册页面。
使用选择的电子邮件地址和密码进行注册,即可开始探索部署在Amazon EC2上的 DeepSeek – R1 – Distill – Qwen – 14B 模型,该模型通过 Ollama 和 Ollama Web UI 提供服务。
虽然在GPU或AI芯片上部署DeepSeek – R1及其蒸馏模型能获得最佳的延迟和吞吐量表现,但并非所有应用场景都需要如此高的性能。在某些情况下,将这些模型部署在CPU上可能具有更好的性价比。
相关推荐:
《阿里云GPU部署DeepSeek-R1-Distill模型教程》
-
广告合作
-
QQ群号:707632017