当前位置: 首页 > article >正文

《2核2G阿里云神操作!Ubuntu+Ollama低成本部署Deepseek模型实战》

简介:
“本文为AI开发者揭秘如何在阿里云2核2G轻量级ECS服务器上,通过Ubuntu系统与Ollama框架实现Deepseek模型的高效部署。无需昂贵硬件,手把手教程涵盖环境配置、资源优化及避坑指南,助力初学者用极低成本在云端跑通行业领先的大语言模型,解锁轻量化服务器运行AI任务的无限可能!”

一、环境准备清单

服务器

服务器:Ubuntu 24.04 64位

CPU&内存:2核(CPU) & 2 GiB

ESSD Entry云盘:40GB

SSH软件

MobaXterm_Personal_21.4

Deepseek版本

本教程选择:DeepSeek-R1-Distill-Qwen-1.5B

官方推荐配置

DeepSeek R1 模型参数和显存需求:

模型名称参数量显存需求推荐显卡型号(最低)
DeepSeek-R1-Distill-Qwen-1.5B1.5B4-6 GBGTX 1660 Ti、RTX 2060
DeepSeek-R1-Distill-Qwen-7B7B12-16 GBRTX 3060、RTX 3080
DeepSeek-R1-Distill-Llama-8B8B16-20 GBRTX 3080 Ti、RTX 3090
DeepSeek-R1-Distill-Qwen-14B14B24-32 GBRTX 3090、RTX 4090
DeepSeek-R1-Distill-Qwen-32B32B48-64 GBA100、H100
DeepSeek-R1-Distill-Llama-70B70B80-128 GBA100、H100、MI250X

二、Shell工具连接云服务器

  1. 点击右上角的:Session
  2. 点击SSH
  3. 输入host和username点击OK
  4. 输入密码即可

三、安装Ollama

简介:

Ollama 是一款专注于本地化AI模型运行与管理的开源工具,其核心功能在于实现模型的轻量化部署与全生命周期维护,通过容器化封装与资源调度优化,显著降低开发者在本地环境构建私有AI服务的技术门槛。

github地址:https://github.com/ollama/ollama

Linux版安装
# Linxu安装
curl -fsSL https://ollama.com/install.sh | sh

本地解压版

由于网速的原因,很难将Linux版本的ollama下载下载,所以本文提供了tgz文件,从而实现解压安装。

网盘地址:https://pan.baidu.com/s/1mx_3R4NVjOSC9D8BaGdYHg?pwd=9eg7

  1. 步骤一:在服务器上建立一个空的文件夹,用来存放ollama文件
mkdir ollama

  1. 适用工具将压缩包上传到服务器上

工具:WinSCP-5.21.5-Setup

地址:https://pan.baidu.com/s/1mx_3R4NVjOSC9D8BaGdYHg?pwd=9eg7

打开软件后,输入服务器的ip、用户名、密码

上传完成

# 解压命令
# tar -zxvf 
sudo  -zxvf ollama-linux-amd64.tgz
# 将解压后ollama文件夹的bin目录中的ollama复制到 /usr/bin中
cp bin/ollama /usr/bin

# 测试是否安装成功,出现命令帮助表示为ollama安装成功
ollama

使用魔塔社区安装(建议使用)

官网安装教程:https://www.modelscope.cn/models/modelscope/ollama-linux

  1. 首先要安装支持大模型支持的环境:ModelScope Notebook

官网安装教程:https://modelscope.cn/notebook/share/ipynb/4a85790f/ollama-installation.ipynb

注意点:安装该平台需要服务器上有python和pip的环境

  1. 安装python和pip
sudo apt install python3
sudo apt install pip
  1. 安装ModelScope Notebook
# 本教程在使用此命令时,会发生错误
pip install modelscope -U

解决方案:

# 强制安装,无视风险
 pip install modelscope -U --break-system-package                                                                                                                              s.
# 以下为安装成功的截图

  1. 从ModelScope上下载Ollama安装包
modelscope download --model=modelscope/ollama-linux --local_dir ./ollama-linux --revision v0.6.2

  1. 安装ollama
cd ollama-linux && sudo chmod +x ./ollama-modelscope-install.sh && ./ollama-modelscope-install.sh
# 查看版本号
ollama --version

  1. 启动ollama
systemctl start ollama.service
# 查看服务活动状态
systemtcl status ollama.service
 systemctl is-active ollama.servie

启动Ollama(魔塔安装或直接安装可忽略此步骤)

# 检测是否启动   active 为启动;inactive为未启动
 systemctl is-active ollama.servie
 systemctl status ollama.service
# 启动
 systemctl start ollama.service



# 启动命令:
systemctl start ollama.service
# 结果:发现并不存在ollama.service

创建ollama.service文件(魔塔安装或直接安装可忽略此步骤)

  1. 建一个新的服务文件 /etc/systemd/system/ollama.service

切换到/etc/systemd/system

创建ollama.service

cd /etc/systemd/system
vim ollama.service

  1. 文件内容格式

Description 是服务的简单描述。

After 指定了在哪个服务启动后启动此服务。

Type 定义了服务进程的启动类型,simple 表示启动主进程。

User 指定运行服务的用户,本文用的是root ,你也可以用其他账户。

WorkingDirectory 设置服务的工作目录,本文用的/root,你也可以切换成其他用户目录。

ExecStart 指定启动服务的命令。命令位置为:/usr/bin/ollama 中的serve

Restart 指定服务崩溃时的重启策略。

RestartSec 设置重启服务前等待的时间。

WantedBy 指定了服务所在的 target,multi-user.target 表示多用户系统。

[Unit]
Description=Ollama Service
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/root
ExecStart=/usr/bin/ollama serve
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target

# 修改完后,切换到vim的命令格式输入:qw保存
# 步骤1: 按Esc
# 步骤2::wq
  1. 重新加载服务单元文件

命令解释:

在修改了某个服务单元文件后,想要让更改生效,所以需要执行这个命令。需要明确的是,当用户修改的是/etc/systemd/system/下的服务文件时,应该使用daemon-reload。但如果修改的是systemd本身的配置文件比如system.conf,则需要用daemon-reexec,

sudo systemctl daemon-reload

再次启动ollama(此步骤为离线包安装步骤)

# 查看服务状态
systemctl status ollama.service
systemctl is-active ollama.service
# 启动
systemctl start ollama.service
# 设置服务开机自启动
systemctl enable ollama.service

当前的服务状态图:(已启动)

开机自启动

四、Deepseek内存需求对比表(推理模式)

模型规模数据类型理论参数内存实际显存估算(含激活值)推荐显存配置
1.5BFP163 GiB3.6-4.5 GiB6-8 GB
Int81.5 GiB1.95-2.4 GiB4 GB+
7BFP1614 GiB16.8-21 GiB24 GB
Int87 GiB8.4-10.5 GiB12 GB+
13BFP1626 GiB31.2-39 GiB40 GB+
Int813 GiB15.6-19.5 GiB24 GB+
33BFP1666 GiB79.2-99 GiB多卡并行
Int833 GiB39.6-49.5 GiB48 GB+
70BFP16140 GiB168-210 GiB多卡并行
Int870 GiB84-105 GiB多卡并行

五、内存不足解决方案-虚拟内存

因为我们的云服务器只有2G的内存,所以将虚拟内存作为解决方案

▶ 技术定义

虚拟内存(Swap)是通过将磁盘空间模拟为内存使用的技术,当物理内存不足时,系统会将非活跃内存页暂存至磁盘交换区。

▶ 核心运行机制
物理内存(2GB) ←→ 交换分区/文件(如12GB)
           │
           └─ 内核通过分页算法自动管理热数据

虚拟内存的优劣对比
优势劣势
内存扩展:突破物理内存限制性能损失:磁盘I/O速度比内存慢100-1000倍
防OOM:避免程序崩溃硬件损耗:SSD频繁写入降低寿命
成本低:无需硬件升级安全风险:交换文件可能泄漏敏感数据
弹性配置:按需调整大小响应延迟:交换抖动(Thrashing)导致卡顿

▶ 搭建模型使用虚拟内存优劣对比分析表
优势劣势
** 突破硬件限制**:总可用内存达14GB(2+12)** 性能断崖下降**:推理速度可能从3.2 tokens/s降至0.3-0.8 tokens/s
** 防OOM崩溃**:可支撑约512 tokens上下文** SSD寿命风险**:模型运行时可能产生15-30GB/日的写入量(SSD寿命约300TBW)
** 零硬件成本**:仅需磁盘空间** 响应不可靠**:P99延迟可能超过5秒
** 快速部署**:30分钟内完成配置** 功能阉割**:需关闭attention优化等特性

▶ 详细构建步骤(Ubuntu系统)
1. 创建12GB Swap文件
# 使用快速分配(需fallocate支持)
sudo fallocate -l 12G /swapfile
# 传统方式(若无fallocate):
# sudo dd if=/dev/zero of=/swapfile bs=1G count=12 status=progress

# 设置权限
sudo chmod 600 /swapfile

# 格式化为Swap
sudo mkswap /swapfile

# 立即启用
sudo swapon /swapfile

2. 查询内存分配
free -h
swapon --show

3. 云服务器持久化配置
  • 永久生效:通过修改 /etc/fstab,系统每次启动时会自动挂载 /swapfile作为 Swap 空间。
  • 避免手动重复配:解决临时 Swap 配置(如 swapon /swapfile)在重启后失效的问题。
  • 安全性:追加写入(-a)确保不破坏原有配置,但仍建议提前备份 /etc/fstab
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

六、下载Deepseek模型

官网地址:https://ollama.com/library/deepseek-r1:1.5b

# 下载模型并直接运行模型:
ollama run deepseek-r1:1.5b


http://www.kler.cn/a/613184.html

相关文章:

  • 51c嵌入式~三极管~合集1
  • 剑指Offer49 -- DP_贪心
  • Meatachat:演示版(AI组件库、Chat、智能对话、移动适配)(附源码)
  • mybatis里in关键字拼接id问题
  • Jmeter-负载测试
  • 算法基础——模拟
  • 如何选择适合的实验室铸铁地板和铸铁试验平板?北重专业帮助指南
  • OpenHarmony子系统开发 - 显示管理
  • 软件工程面试题(七)
  • 爬虫的第三天——爬动态网页
  • ruoyi-vue部署 linux 系统项目安装部署 oa 项目部署 (合集)
  • docker torcherve打包mar包并部署模型
  • Java 代理(一) 静态代理
  • 第二届计算机网络和云计算国际会议(CNCC 2025)
  • Reactor/Epoll为什么可以高性能?
  • 代码随想录动态规划05
  • (C语言)学生信息表(基于通讯录改版)(测试版)(C语言项目)
  • CSP-J/S冲奖第20天:选择排序
  • OceanBase的闪回查询功能实践
  • 二维数组参数的五种形式