第1章:开发环境搭建
说实话,每次带新人入门,我最怕的就是环境配置这一步。明明代码逻辑都懂,结果卡在装包上,一卡就是半天。我自己当年也踩过不少坑——装PyTorch时CUDA版本不对,跑模型直接报错,查了两天才发现是cuDNN没配好。嗯,这节课咱们就把这些坑提前填上。
1.1 Anaconda:你的Python环境管家
先聊聊Anaconda。说白了,它就是Python的「环境隔离器」。你想想看,做法律NLP项目,可能要用PyTorch 1.13;另一个项目却需要TensorFlow 2.10。如果没有隔离,两个框架的依赖包会打架,打得你头皮发麻。
安装步骤:
- 去官网下载Anaconda(Python 3.9+版本,我建议用3.10,兼容性最好)
- 安装时勾选「Add Anaconda to my PATH environment variable」
- 打开终端,输入
conda --version验证
legal-llm 环境。这样就算装坏了,删掉重来也不影响其他项目。
# 创建环境
conda create -n legal-llm python=3.10
# 激活环境
conda activate legal-llm
# 退出环境
conda deactivate
1.2 PyTorch安装:GPU版本还是CPU版本?
这个问题我经常被问到。我的回答很直接:有GPU就装GPU版,没有就装CPU版。但要注意,法律大模型训练时,哪怕只是微调,GPU也是刚需。我曾在笔记本上跑一个7B模型,CPU推理一个句子要30秒——这谁受得了?
安装命令(根据你的CUDA版本选择):
# CUDA 11.8
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# CUDA 12.1
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# CPU版本
pip install torch torchvision torchaudio
pip install torch 默认装CPU版。如果你有NVIDIA显卡,一定要指定CUDA版本。否则模型训练慢得像蜗牛爬,你还以为是代码写错了。
1.3 CUDA与cuDNN配置:让GPU真正跑起来
CUDA是NVIDIA的并行计算平台,cuDNN是它的深度学习加速库。两者缺一不可。我见过有人装了CUDA但没装cuDNN,结果训练速度只提升了20%——装了cuDNN后直接翻倍。
配置步骤:
- 查看显卡驱动支持的最高CUDA版本:
nvidia-smi - 去NVIDIA官网下载对应版本的CUDA Toolkit
- 下载匹配的cuDNN,解压后复制到CUDA安装目录
验证是否配置成功:
import torch
print(torch.cuda.is_available()) # 应返回 True
print(torch.cuda.get_device_name(0)) # 显示你的显卡型号
1.4 Jupyter Notebook与VS Code:两大开发利器
做法律大模型开发,我一般两个工具换着用:Jupyter Notebook 适合快速实验和数据分析,VS Code 适合写正式代码和调试。
Jupyter Notebook配置
# 安装
pip install jupyter
# 启动
jupyter notebook
# 或者用更现代的Jupyter Lab
pip install jupyterlab
jupyter lab
我个人习惯在Jupyter里先跑通一个小demo,比如用法律文本测试分词效果。没问题了再搬到VS Code里写成完整模块。
VS Code设置
VS Code的配置其实很简单,但有几个插件是必装的:
- Python:微软官方插件,提供智能提示和调试
- Jupyter:让你在VS Code里直接运行.ipynb文件
- GitLens:查看代码修改历史,团队协作时特别有用
Ctrl+Shift+P,输入「Python: Select Interpreter」,选择你刚创建的 legal-llm 环境。这样就不会出现「明明装了包却导入失败」的尴尬情况。
知识体系总览
下面这张图帮你理清整个开发环境的逻辑关系:
环境验证清单
配置完成后,建议跑一遍这个验证脚本。我每次换新机器都会跑一遍,确保所有组件都正常工作:
import sys
import torch
import numpy as np
print(f"Python版本: {sys.version}")
print(f"PyTorch版本: {torch.__version__}")
print(f"CUDA是否可用: {torch.cuda.is_available()}")
if torch.cuda.is_available():
print(f"CUDA版本: {torch.version.cuda}")
print(f"显卡型号: {torch.cuda.get_device_name(0)}")
print(f"显存大小: {torch.cuda.get_device_properties(0).total_memory / 1e9:.2f} GB")
# 简单测试:创建张量并计算
x = torch.randn(3, 3)
print(f"张量计算测试通过: \n{x}")
好了,环境搭建就到这里。这套配置我用了两年多,从法律文书分类到合同审查模型,都没出过兼容性问题。你按这个流程走一遍,基本不会踩坑。如果遇到问题,多半是版本不匹配——记住我前面说的,PyTorch、CUDA、cuDNN三者版本要一一对应。