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