第四章:环境搭建与工具链
说实话,每次带新人做金融合规项目,我最怕的就是环境搭建这一步。明明代码逻辑都写好了,结果卡在「装不上」三个字上,一卡就是半天。今天咱们就把这事彻底捋清楚。
4.1 Python环境配置
我个人习惯用 Anaconda 来管理Python环境。为什么?因为金融合规项目往往需要同时维护多个模型版本,conda的环境隔离做得最干净。
推荐版本:Python 3.10.x
别问我为什么不用3.11或3.12——PyTorch和TensorFlow对3.10的支持最稳定,我在项目中踩过3.11的坑,有些算子编译不过去。
安装步骤很简单:
- 去Anaconda官网下载对应系统的安装包
- 安装时勾选「Add Anaconda to my PATH environment variable」
- 打开终端验证:
conda --version
然后创建我们的专属环境:
conda create -n fintech_llm python=3.10
conda activate fintech_llm
小技巧:环境名最好用项目相关命名,比如 fintech_llm、compliance_agent。我曾经见过有人用「test123」这种名字,三个月后自己都忘了是干嘛的。
4.2 PyTorch / TensorFlow 安装
金融合规场景下,我强烈推荐 PyTorch。为什么?因为Hugging Face生态对PyTorch的支持最完善,而且动态图的调试体验对做RAG的人来说太友好了。
安装命令:
# CPU版本(先确认能不能用)
pip install torch torchvision torchaudio
# GPU版本(推荐)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
如果你非要装TensorFlow:
pip install tensorflow==2.13.0
注意:TensorFlow 2.15之后对CUDA 12的支持有变化,如果你用的是老显卡(比如RTX 3080),建议锁版本到2.13。我有个同事升级到2.16后,模型推理速度反而慢了30%。
4.3 Hugging Face Transformers 库入门
这个库可以说是金融合规助手的「瑞士军刀」。安装极其简单:
pip install transformers datasets accelerate
验证是否装好:
from transformers import pipeline
# 试试情感分析
classifier = pipeline("sentiment-analysis")
result = classifier("该交易存在洗钱风险")
print(result)
# 输出:[{'label': 'NEGATIVE', 'score': 0.998}]
嗯,这里要注意——金融文本的情感分析和普通情感分析不一样。「洗钱风险」在普通模型里是负面,但在合规场景下,它恰恰是我们要关注的「正面信号」。
4.4 GPU环境(CUDA)配置与验证
做金融大模型微调,没有GPU基本等于「用算盘打游戏」。CUDA的配置是重中之重。
第一步:检查显卡驱动
nvidia-smi
看到类似这样的输出就对了:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 535.129.03 Driver Version: 535.129.03 CUDA Version: 12.2 |
+-----------------------------------------------------------------------------+
第二步:安装CUDA Toolkit
去NVIDIA官网下载对应版本。我个人建议用 CUDA 11.8,因为PyTorch官方对这个版本的支持最稳定。
第三步:安装cuDNN
这个很多人会忘。cuDNN是深度神经网络的加速库,不装的话训练速度会慢很多。
第四步:验证GPU是否可用
import torch
print(torch.cuda.is_available()) # 应该返回 True
print(torch.cuda.device_count()) # GPU数量
print(torch.cuda.get_device_name(0)) # 显卡型号
避坑指南:我曾经遇到过torch.cuda.is_available()返回False,折腾了两天。最后发现是PyTorch版本和CUDA版本不匹配。记住一个原则:PyTorch版本决定CUDA版本,而不是反过来。
知识体系总览
下面这张图是我自己画的,把整个环境搭建的逻辑串起来了:
说白了,整个环境搭建就是「三层结构」:底层是Python和Conda,中间层是深度学习框架和GPU驱动,顶层是Hugging Face工具链。每一层都验证通过,才能开始做金融合规模型的微调和RAG。
快速验证脚本
最后,我送你一个「一键验证」脚本。每次搭建完新环境,跑一遍这个脚本,所有问题一目了然:
import sys
import torch
import transformers
print(f"Python版本: {sys.version}")
print(f"PyTorch版本: {torch.__version__}")
print(f"CUDA是否可用: {torch.cuda.is_available()}")
if torch.cuda.is_available():
print(f"GPU型号: {torch.cuda.get_device_name(0)}")
print(f"显存大小: {torch.cuda.get_device_properties(0).total_memory / 1e9:.2f} GB")
print(f"Transformers版本: {transformers.__version__}")
# 测试模型加载
from transformers import AutoModel
model = AutoModel.from_pretrained("bert-base-uncased")
print("模型加载成功!")
个人经验:如果显存小于8GB,建议直接用CPU跑推理,或者考虑量化模型。我试过在6GB显存上微调7B模型,结果OOM报错,白白浪费了3个小时。
好了,环境搭建这块就这些。记住一个原则:先验证,再开发。别像我以前那样,代码写了两天发现CUDA没配好,那才叫欲哭无泪。