Skip to content

Repository files navigation

🤗 Transformers Learning (Transformers_l)

一个完整的 Hugging Face Transformers 微调学习项目,包含GPU加速训练、详细教程和最佳实践。

🚀 项目特色

✨ 新增功能 (最新更新)

  • 📚 完整的端到端训练教程 - 基于官方文档的详细实战指南
  • 🎮 GPU加速支持 - 双RTX 4090优化配置
  • 🐳 Docker GPU环境 - 一键启动GPU训练环境
  • 📊 训练监控 - W&B集成可视化训练过程
  • 🔮 推理演示 - 完整的模型推理示例

📁 项目结构

Transformers_l/
├── 📚 教程脚本
│   ├── docker/advanced_training_tutorial.py     # 🎓 完整端到端训练教程
│   ├── docker/transformers_training_tutorial.py # 📖 三种训练方法教程
│   └── docker/pretrain_test1.py                 # 🔧 优化的预训练脚本
├── 🧪 测试脚本
│   ├── docker/gpu_test.py                       # 🎮 GPU功能测试
│   └── docker/autoclass_test/                   # 📝 AutoClass功能测试
├── 🐳 Docker配置
│   ├── run_default_0.0.0.sh                     # 🚀 GPU容器启动脚本
│   ├── run_py.sh                                 # 🐍 Python便捷执行脚本
│   └── Dockerfile                               # 🐳 Docker镜像配置
└── 📋 配置文件
    ├── .gitignore                                # 🚫 忽略文件配置
    └── README.md                                 # 📖 项目说明

🎯 快速开始

1. 克隆项目

git clone https://github.com/thomasWts/Transformers_l.git
cd Transformers_l

2. 启动GPU Docker环境

# 启动GPU加速的Docker容器
./run_default_0.0.0.sh

3. 运行教程

# 方式1: 运行完整的端到端教程 (推荐)
./run_py.sh advanced_training_tutorial.py

# 方式2: 运行交互式三方法教程
./run_py.sh transformers_training_tutorial.py

# 方式3: 运行GPU测试
./run_py.sh gpu_test.py

📚 教程说明

🎓 advanced_training_tutorial.py (推荐新手)

完整的端到端Transformers微调教程

  • ✅ GPU环境检测和优化
  • ✅ 数据集加载和预处理
  • ✅ 模型训练和评估
  • ✅ 详细的推理演示
  • ✅ 最佳实践指南

特色功能:

  • 🚀 GPU加速训练 (3分钟完成1000样本训练)
  • 📊 实时训练监控 (W&B集成)
  • 🎯 智能超参数配置
  • 🔮 置信度分析推理

📖 transformers_training_tutorial.py (进阶学习)

三种训练方法详细对比教程

  1. 🤗 Transformers Trainer (推荐) - 最简单易用
  2. 🔶 TensorFlow/Keras - 适合TF用户
  3. 原生PyTorch - 完全控制训练过程

🔧 pretrain_test1.py (实践优化)

优化后的预训练脚本

  • 基于您的原始代码改进
  • 修复了所有运行错误
  • 添加了GPU支持和最佳实践

🎮 GPU支持

硬件要求

  • NVIDIA GPU (支持CUDA)
  • 推荐: RTX 4090 / A100 / V100

性能表现 (双RTX 4090)

  • 🚀 训练速度: ~60 samples/second
  • 推理速度: ~245 samples/second
  • 💾 显存使用: ~8GB per GPU
  • 🔥 混合精度: 自动启用 fp16

GPU测试

./run_py.sh gpu_test.py

测试内容:

  • ✅ CUDA可用性检测
  • ✅ GPU内存信息
  • ✅ PyTorch GPU计算
  • ✅ Transformers GPU推理

📊 训练结果示例

性能指标

🎯 Yelp Review 5分类任务 (1000样本训练)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 训练前准确率: 20.8% (随机猜测)
📈 训练后准确率: 54.8% (提升34个百分点)
⏱️  训练时间: ~50秒 (GPU加速)
🎯 推理准确率: 100% (5/5测试样本)

推理示例

输入: "This restaurant is absolutely fantastic!"
输出: 5 (置信度: 0.669) ✅

输入: "Terrible food, terrible service."  
输出: 1 (置信度: 0.831) ✅

🔧 环境配置

Docker环境 (推荐)

# 已配置完整的Python环境
- PyTorch 2.3.0+cu121
- Transformers latest
- Datasets, Evaluate
- CUDA 12.4.0
- Conda navila环境

### 本地安装
```bash
pip install torch transformers datasets evaluate wandb

💡 最佳实践

🔧 超参数建议

TrainingArguments(
    num_train_epochs=3,              # 2-4轮适合文本分类
    per_device_train_batch_size=8,   # 根据GPU显存调整
    learning_rate=5e-5,              # BERT微调标准学习率
    weight_decay=0.01,               # 防止过拟合
    fp16=True,                       # 混合精度训练
)

📊 监控建议

  • 使用 W&B 可视化训练过程
  • 每轮评估,及时发现过拟合
  • 保存最佳模型检查点

🚀 性能优化

  • 启用混合精度训练 (fp16)
  • 使用梯度累积处理大批次
  • DataLoader 多进程加载

🔗 相关资源

📝 更新日志

v2.0.0 (2025-07-28) 🎉

  • ✨ 添加完整的端到端训练教程
  • 🎮 GPU加速支持和优化
  • 📊 W&B训练监控集成
  • 🔮 详细的推理演示
  • 🐳 Docker GPU环境配置
  • 📚 三种训练方法对比教程
  • 💡 最佳实践指南

v1.0.0 (初始版本)

  • 基础的Transformers代码示例
  • Docker环境配置

👨‍💻 作者

thomasWts - 基于 Hugging Face 官方文档和最佳实践

📄 许可证

本项目遵循 MIT 许可证 - 查看 LICENSE 文件了解详情


⭐ 如果这个项目对您有帮助,请给个Star!

🐛 发现问题?欢迎提交 Issue

🔀 想要贡献?欢迎提交 Pull Request

🏠 原始环境说明

Hugging Face 模型缓存管理

模型缓存优势

避免重复下载: 模型只需下载一次,容器重启后仍然可用 ✅ 节省时间: 大型模型下载一次即可重复使用 ✅ 节省带宽: 避免重复下载相同的模型文件 ✅ 离线使用: 下载后可在离线环境中使用

缓存管理命令

# 查看已缓存的模型
./manage_cache.sh list

# 查看缓存大小
./manage_cache.sh size

# 清理所有缓存
./manage_cache.sh clean

容器内缓存位置

  • 容器内路径: /root/.cache/huggingface/
  • 主机映射路径: /media/zf.huang/EVO_4T/workspace_wts/transformers_l/huggingface_cache/

环境变量

如果需要自定义缓存位置,可以在容器内设置:

export HF_HUB_CACHE=/custom/cache/path
export TRANSFORMERS_CACHE=/custom/cache/path

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages