环境搭建指南
要开发LLM应用,首先需要选择合适的开发环境。选择取决于你的资源、预算和项目需求。下面介绍三种常见方案。
方案选择
Google Colab是最低成本的选择,免费提供GPU资源,适合学习和测试。缺点是会话有时间限制,容易断连。
云GPU服务(如AutoDL、AWS)提供按需计费的GPU资源,适合需要持续运行但不想购买硬件的项目。成本在50-500美元/月之间。
本地GPU部署需要一次性硬件投入,但提供最大的灵活性和长期的成本优势。适合要长期开发或有特殊硬件需求的情况。
| 方案 | 成本 | 配置复杂度 | 适用场景 |
|---|---|---|---|
| Google Colab | $0-49/月 | 很简单 | 学习和测试 |
| 云GPU服务 | $50-500/月 | 中等 | 短期项目 |
| 本地GPU | 初期$2000左右,后续电费 | 复杂 | 长期开发 |
Google Colab
Colab是最快入门的方式。只需要一个Google账户。
快速开始
- 打开 colab.research.google.com
- 新建笔记本
- 运行以下代码:
# 检查GPU!nvidia-smi# 安装依赖!pip install transformers torch accelerate# 测试fromtransformersimportpipeline pipe=pipeline("text-generation",model="gpt2")print(pipe("Hello")[0]['generated_text'])保持Colab连接
Colab可能在你不活跃时断开连接。下面的代码可以定期点击保持活跃按钮:
# 防止断连importIPython IPython.display.Javascript(''' function KeepClicking(){ console.log("Keeping alive..."); document.querySelector("colab-connect-button").click() } setInterval(KeepClicking, 60000) ''')云GPU服务
如果你需要更稳定的GPU资源,可以使用云GPU服务。国内有AutoDL,国外有AWS和其他供应商。
AutoDL(国内)
# 1. 注册 autodl.com# 2. 创建实例(RTX 4090, ¥2.8/小时)# 3. SSH连接sshroot@[实例IP]-p[端口]# 4. 一键配置conda create -n llmpython=3.10-y conda activate llm pipinstalltorch transformers accelerateAWS/阿里云
# AWS (p3.2xlarge, $3/小时)aws ec2 run-instances\--image-id ami-0abcdef1234567890\--instance-type p3.2xlarge\--key-name MyKeyPair# 阿里云 (ecs.gn7i, ¥15/小时)aliyun ecs CreateInstance\--InstanceType ecs.gn7i-c8g1.2xlarge本地GPU部署
本地部署给你最大的灵活性,但需要投入硬件和配置时间。下面介绍Windows、Linux和MacOS的配置方式。
Windows (WSL2)
# 1. 安装WSL2wsl--install Ubuntu-22.04 wsl--set-default-version 2# 2. 安装NVIDIA驱动(Windows侧)# 下载: nvidia.com/drivers# 3. WSL2内部配置wsl# WSL2内部# 安装CUDAwgethttps://developer.download.nvidia.com/compute/cuda/12.3/local_installers/cuda_12.3_linux.runsudoshcuda_12.3_linux.run --toolkit --silent# 安装Python环境conda create -n llmpython=3.10conda activate llm pipinstalltorch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121# 验证python -c"import torch; print(torch.cuda.is_available())"Ubuntu/Linux
#!/bin/bash# setup.sh - 一键安装脚本# 1. 更新系统sudoaptupdate&&sudoaptupgrade -y# 2. 安装NVIDIA驱动sudoaptinstallnvidia-driver-535 -y# 3. 安装CUDAwgethttps://developer.download.nvidia.com/compute/cuda/12.3/local_installers/cuda-repo-ubuntu2204-12-3-local_12.3.0-535.104.05-1_amd64.debsudodpkg -i cuda-repo-*.debsudoaptupdatesudoaptinstallcuda-toolkit-12-3 -y# 4. 配置环境变量echo'export PATH=/usr/local/cuda/bin:$PATH'>>~/.bashrcecho'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH'>>~/.bashrcsource~/.bashrc# 5. 安装Python包pipinstalltorch transformers accelerate bitsandbytes# 6. 验证nvidia-smi python -c"import torch; print(f'CUDA: {torch.cuda.is_available()}')"MacOS (Apple Silicon)
# 1. 安装Homebrew/bin/bash -c"$(curl-fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"# 2. 安装Pythonbrewinstallpython@3.10# 3. 安装PyTorch (Metal支持)pip3install--pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu# 4. 安装mlx (Apple优化)pip3installmlx# 5. 验证python3 -c"import torch; print(torch.backends.mps.is_available())"本地模型运行工具:Ollama
Ollama可以在任何系统上简便地运行开源模型,无需复杂的配置。
安装
# Linux/WSLcurl-fsSL https://ollama.ai/install.sh|sh# MacOSbrewinstallollama# Windows# 下载: ollama.ai/download/windows基本使用
# 启动服务ollama serve# 下载模型ollama pull llama3# 8B模型,需16GB内存ollama pull qwen2.5:7b# 7B模型,需14GB内存ollama pull phi3:mini# 3B模型,需6GB内存# 测试ollama run llama3"Hello"Python API调用
importrequests response=requests.post('http://localhost:11434/api/generate',json={"model":"llama3","prompt":"What is machine learning?","stream":False})print(response.json()['response'])Docker容器化部署
如果你倾向于使用Docker,可以通过Docker Compose快速启动包含Jupyter和Ollama的完整环境:
# docker-compose.ymlversion:'3.8'services:jupyter:image:pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtimeports:-"8888:8888"volumes:-./workspace:/workspacedeploy:resources:reservations:devices:-driver:nvidiacount:1capabilities:[gpu]command:>bash -c "pip install jupyterlab transformers accelerate && jupyter lab --ip=0.0.0.0 --allow-root --NotebookApp.token=''"ollama:image:ollama/ollamaports:-"11434:11434"volumes:-./ollama:/root/.ollamadeploy:resources:reservations:devices:-driver:nvidiacount:1capabilities:[gpu]# 启动docker-compose up -d# 访问# Jupyter: http://localhost:8888# Ollama: http://localhost:11434验证环境
安装完成后,应该验证环境是否正确配置。这个脚本会检查关键的依赖和硬件设置:
# test_env.pyimportsysimporttorchimporttransformersdeftest_environment():print("="*50)print("LLM环境检测")print("="*50)# Python版本print(f"Python:{sys.version}")# PyTorchprint(f"PyTorch:{torch.__version__}")print(f"CUDA可用:{torch.cuda.is_available()}")iftorch.cuda.is_available():print(f"GPU设备:{torch.cuda.get_device_name(0)}")print(f"GPU数量:{torch.cuda.device_count()}")print(f"CUDA版本:{torch.version.cuda}")# Transformersprint(f"Transformers:{transformers.__version__}")# 简单推理测试try:fromtransformersimportpipeline pipe=pipeline("text-generation",model="gpt2",device=0iftorch.cuda.is_available()else-1)result=pipe("Test",max_length=20)print(f"推理测试: ✓ 成功")exceptExceptionase:print(f"推理测试: ✗ 失败 -{e}")print("="*50)if__name__=="__main__":test_environment()常见问题解决
| 问题 | 解决方案 |
|---|---|
| CUDA不可用 | 检查GPU驱动是否安装。需要重新安装PyTorch的CUDA版本 |
| 内存不足 | 使用更小的模型或启用量化(4-bit或8-bit) |
| 模块导入失败 | 运行pip install [缺失的包名] |
| GPU利用率低 | 检查nvidia-smi是否检测到GPU,可能在使用CPU |
| WSL2检测不到GPU | 确保Windows驱动已更新,WSL2内核也需要更新 |