电脑配置: GTX1080 显卡两张,单张卡8G显存。

目的:部署一个本地编程大模型,用VSCODE结合大模型编程。

第一步:升级nvidia驱动和cuda版本

机器上的nvidia驱动和cuda都太老了,需要更新到最新版本,适配大模型的需求。

1.1 nvidia + cuda 版本更新

(1) 卸载已有的nvidia驱动和cuda.

sudo apt purge cuda-* nvidia-* 
sudo apt autoremove
sudo reboot

(2) 下载安装最新的 nvidia 驱动

当前,GTX1080的最新驱动版本是:580.178.04

 ubuntu20安装nvidia驱动的教程如下:

ubuntu20安装nvidia驱动_ubuntu20安装nvidia显卡驱动-CSDN博客

(3) 下载安装 cuda11.8

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run --toolkit --silent --override

更新环境变量:

echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

验证:

nvcc --version   # 应显示 release 11.8

1.2 下载安装 Ollama

如果你希望开箱即用,不需要手动编译,可以使用 Ollama。它内置了 llama.cpp,并提供了模型管理功能。

(1) 安装 Ollama

联网安装方式:

curl -fsSL https://ollama.com/install.sh | sh

离线安装包下载方式:

(a) linux 系统

# 下载最新版 .deb 文件(可先访问 https://ollama.com/download 获取具体版本链接)
wget https://ollama.com/download/ollama-linux-amd64.deb -O ollama.deb

离线安装方式:

sudo dpkg -i ollama.deb

(b) winodws 系统

访问 Ollama 官网下载页,选择 Windows 版本,下载 OllamaSetup.exe

(2) 拉取 DeepSeek-Coder 模型

Ollama 官方提供了多个 DeepSeek-Coder 版本:

# 6.7B 版本(默认 4-bit 量化,约 4GB)
ollama pull deepseek-coder:6.7b

# 1.3B 轻量版
ollama pull deepseek-coder:1.3b

# 最新 V2 Lite(16B MoE,Ollama 会自动选择合适量化,可能超过 8GB,谨慎使用)
ollama pull deepseek-coder-v2:16b

下载过程中下载速度有波动,当下载速度下降时,ctrl + c 停止下载,再重复执行下载命令,就会再次高速下载,且保留之前的下载内容。断续下载后的文件可以使用。

下载后的模型位于:

  • Linux/macOS:~/.ollama/models

  • Windows:C:\Users\<用户名>\.ollama\models

(3) 运行deepSeek-Coder模型

查看已经下载了哪些大模型

ollama list

我的结果如下:

启动命令如下:

# 交互式对话
ollama run deepseek-coder:6.7b

启动API服务:

ollama serve
# 默认监听 11434 端口,OpenAI 兼容

得到以下对话框:

下面是一个使用示例,可以在对话框中输入中文:

注意:Ollama 会自动检测 GPU 并使用 CUDA 加速,无需额外配置。但若显存不足,它会回退到 CPU 运行(速度极慢),因此请确保选择模型大小适合 8GB。

(4)上下文长度与内存优化

  • 默认上下文 2048 可能不够,可通过 -c 4096 或 Ollama 中的 num_ctx 参数扩展。但增加上下文会线性增加显存占用(KV Cache)。

  • 对于 6.7B Q4 模型,8GB 显存可支持约 4096 tokens 的上下文而不会爆显存。

  • 若需要更长上下文,可尝试 Q3_K_M 量化或使用 Flash Attention(llama.cpp 较新版本支持 -fa 参数)。

  (5) 暂停服务

当你使用 ollama run deepseek-coder:6.7b 时,Ollama 会启动一个交互式对话会话。停止这个会话与停止 Ollama 的后台服务是两回事,以下分别说明。

  • 退出对话/bye 或 Ctrl+D

  • 停止服务sudo systemctl stop ollama(Linux 系统服务)或 Ctrl+C(前台运行)。

  • 模型文件不会因停止服务而丢失。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐