MacBook Pro 2019 + RTX 3060 + Micron X9 設置與優化指南

MacBook Pro 2019 + RTX 3060 + Micron X9 設置與優化指南

硬體環境

  • MacBook Pro 2019(16GB RAM)
  • Ubuntu(建議 22.04 LTS)
  • 外接顯卡(RTX 3060 12GB)
  • 外接 SSD(Micron X9 2TB,USB 3.2)

1️⃣ 安裝 NVIDIA 驅動與 CUDA

安裝 NVIDIA 驅動

sudo apt update && sudo apt upgrade -y
sudo apt install -y nvidia-driver-535
sudo reboot

安裝 CUDA 12(對應 PyTorch 和 DeepSeek)

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run
sudo sh cuda_12.2.2_535.104.05_linux.run --silent --toolkit
export PATH=/usr/local/cuda-12.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH

確認安裝成功

nvidia-smi
nvcc --version

2️⃣ 建立 SWAP 優化運行

創建 256GB SWAP(存放在 Micron X9)

sudo mkdir -p /mnt/ssd_swap
sudo fallocate -l 256G /mnt/ssd_swap/swapfile
sudo chmod 600 /mnt/ssd_swap/swapfile
sudo mkswap /mnt/ssd_swap/swapfile
sudo swapon /mnt/ssd_swap/swapfile

開機自動掛載 SWAP

echo '/mnt/ssd_swap/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

降低 SWAP 頻率(減少 SSD 負擔)

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

3️⃣ 安裝 PyTorch、DeepSeek LLM、LangChain

安裝 Python 環境

sudo apt install -y python3-venv python3-pip
python3 -m venv ~/llm_env
source ~/llm_env/bin/activate

安裝 PyTorch(支援 CUDA 12)

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

安裝 DeepSeek LLM

pip install deepseek-llm

安裝 LangChain + FAISS(向量檢索庫)

pip install langchain faiss-cpu

4️⃣ 優化 DeepSeek LLM 運行

啟動 DeepSeek LLM(7B 版本)

from deepseek import DeepSeekModel
model = DeepSeekModel.from_pretrained("deepseek-ai/deepseek-llm-7b")
model.to("cuda")  # 使用 RTX 3060

減少顯存占用(低 VRAM 優化)

from transformers import BitsAndBytesConfig
quantization_config = BitsAndBytesConfig(load_in_4bit=True)
model = DeepSeekModel.from_pretrained("deepseek-ai/deepseek-llm-7b", quantization_config=quantization_config)

設定 torch.compile() 提高推理速度(需要 PyTorch 2.0 以上)

import torch
model = torch.compile(model)

5️⃣ LangChain + RAG 優化設置

使用 FAISS 來管理向量資料庫

from langchain.vectorstores import FAISS
from langchain.embeddings import OpenAIEmbeddings

vector_db = FAISS.load_local("/mnt/ssd_swap/faiss_db", OpenAIEmbeddings())

減少 RAM 佔用(批量處理)

from langchain.document_loaders import TextLoader

loader = TextLoader("large_dataset.txt", chunk_size=512)
docs = loader.load()

啟用 Streaming 模式(避免載入太多內容到 RAM)

from langchain.chat_models import ChatOpenAI
llm = ChatOpenAI(model_name="deepseek-llm-7b", streaming=True)

6️⃣ 總結調校重點

NVIDIA 驅動 ➝ 安裝 CUDA 12,確認 nvidia-smi 正常運行 ✅ 增加 SWAP ➝ 在 Micron X9 建立 256GB SWAP,並調低 swappiness=10安裝 PyTorch + DeepSeek LLM用 CUDA 12 運行降低 VRAM 需求用 4-bit 量化(BitsAndBytesConfig)提高推理速度torch.compile() 編譯模型優化 LangChain + FAISS使用分批處理、Streaming API