云服务器使用记录
1. 环境配置
硬件环境
- 硬件平台: AutoDL 云服务器
- GPU: NVIDIA GeForce RTX 4090 (24GB 显存)
- 操作系统: Linux
软件环境
- Conda (base 环境)
- Python 3.8
- PyTorch 2.0.0 (CUDA 11.8 版本)
- 核心库: Transformers, Accelerate, BitsandBytes 等
2. 文件传输方案对比
测试的传输方式
Cursor 拖拽上传
- ❌ 速度慢,容易中断
- 不适合大文件传输
Jupyter Notebook 拖拽
- ❌ 同样速度慢,经常中断
- 稳定性不够
MobaXterm 传输 ✅
- ✅ 大文件上传相对稳定
- 速度约 200kb/s(受网络环境限制)
- ⚠️ 小文件传输速度降至 2kb/s 左右
3. 模型运行要点
3.1 模型下载
使用 Zephyr-7B-β 预训练语言模型,通过Python脚本下载:
# 使用transformers库下载模型 |
下载过程中的注意事项:
- 📍 存储位置:
huggingface/hub/zephyr-7b-beta - 🌐 网络要求: 需要稳定的国际网络连接
- ⚠️ 常见问题: 分词器文件可能丢失,导致后续运行出错
- 💡 解决方案: 确保完整下载所有组件,包括分词器
下载方式对比
| 下载方式 | 核心原理 | 最适合的场景 |
|---|---|---|
.from_pretrained() |
缓存优先,API驱动的自动化下载与加载 | 日常使用和快速实验:代码简洁,将下载和加载合二为一 |
git clone |
标准Git协议 + Git LFS扩展 | 需要版本控制和离线部署的严肃项目:可以精确管理模型版本 |
snapshot_download |
专用的、可编程的缓存下载 | 编写独立的下载工具或数据准备脚本:需要对下载过程有更多控制 |
| 手动网页下载 | 标准HTTPS文件下载 | 只想快速获取单个配置文件,或在无法使用命令行/Python的环境中 |
重要提醒
💡 硬件要求: 模型加载无法使用本地CPU,即使半精度也不行,只能用GPU加载模型。
🚀 部署建议: 对于大型模型,推荐使用MobaXterm方式上传文件到AutoDL云服务器。
模型文件结构说明
模型下载后的文件结构及说明:
📁 模型配置文件
config.json- 模型核心配置文件,定义架构和超参数
📁 模型权重文件
*.safetensors/*.bin- 模型权重文件(安全张量/PyTorch格式)model-*-of-*.safetensors- 分片式权重文件(用于大型模型)model.safetensors.index.json- 权重索引文件(分片映射表)
📁 分词器文件
tokenizer.json- 分词器核心文件tokenizer.model- 分词器模型文件tokenizer_config.json- 分词器配置special_tokens_map.json- 特殊标记映射
📁 代码文件
modeling_*.py- 模型结构定义代码configuration_*.py- 模型配置类代码tokenization_*.py- 分词器类代码quantization.py- 模型量化代码
📁 其他文件
README.md- 模型说明文档MODEL_LICENSE- 模型许可证文件.gitignore- Git忽略文件
💡 重要提示: 确保所有文件完整下载,特别是分词器相关文件,缺失会导致模型无法正常运行。
3.2 模型评估
使用 测试集 对 “HuggingFaceH4/zephyr-7b-beta” 模型进行评估。
环境配置
测试集相对较小,可以通过多种方式上传。最终选择MobaXterm是因为稳定性更好。
环境安装:
pip install -e ".[torch,accelerate]" -i https://pypi.tuna.tsinghua.edu.cn/simple |
评估执行
按照官方指导执行评估命令:
lm_eval \ |
性能表现
- ⏱️ 运行时间: 约30分钟
- 🔥 资源消耗: GPU密集型任务,对显卡要求较高
- 📊 测试任务: 涵盖9个不同的NLP评估任务
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Marxist Blog!
