Transformer 零基础实践教程 - 0 - 前言与环境配置
目标
- 明确整个教程能学到什么、怎么学
- 在本地或云端成功跑通第一个 Transformer Demo
- 配置好后续章节统一使用的 Python 环境与常用工具
0.1 学习路线图与成果预览
阶段 | 关键词 | 主要成果 |
---|---|---|
0 | 环境、体验 | 成功生成一首英文小诗并分享 |
1–3 | 注意力、编码器、解码器 | 能读懂并改写最小版 Transformer 代码 |
4–8 | NLP / CV / 语音案例 | 至少掌握 3 个真实业务场景 |
9–10 | LLM 微调、调优 | 能把开源大模型接入自有知识库 |
11 | 综合项目 | 发布一个可交互的迷你聊天助手 |
学习节奏建议:
配合“先跑通 ➜ 再深究 ➜ 马上改动”三步循环。
0.2 必备工具安装与配置
0.2.1 Python 与 conda 环境
-
安装 Miniconda(推荐)
- 访问 https://docs.conda.io/en/latest/miniconda.html 选择对应系统安装包。
- 全程“Next”,勾选 Add Miniconda to my PATH。
-
创建独立环境(防止包冲突)
conda create -n transformer-course python=3.10 -y conda activate transformer-course
0.2.2 PyTorch + CUDA
场景 | 命令 |
---|---|
GPU(NVIDIA) | pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121 (121 代表 CUDA 12.1;如驱动较老可换 cu118) |
CPU-only | pip install torch torchvision |
快速验证 | python -c "import torch,platform;print('CUDA:',torch.cuda.is_available(), 'GPU:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'None')" |
Tips:
- 如果本机无 GPU 或配置复杂,可跳过 CUDA,直接用 Google Colab 或 Kaggle Notebook。
- 后续代码全部兼容 CPU,运行会慢一些但不影响学习。
0.2.3 其他常用包一次装齐
pip install transformers datasets accelerate sentencepiece einops tqdm jupyterlab
transformers ≥ 4.40,datasets ≥ 2.19 可保证后续示例一致。
0.2.4 IDE 与插件
工具 | 作用 | 推荐插件 |
---|---|---|
VS Code | 轻量级开发 | Python, Jupyter, GitLens |
PyCharm Community | 全功能 IDE | IdeaVim (可选) |
JupyterLab | 快速试验笔记 | jupyterlab-vim, jupyterlab_code_formatter |
0.3 云端方案:Colab & Hugging Face Spaces
方案 | 免费 GPU | 主要步骤 |
---|---|---|
Google Colab | T4 / L4 / A100(随机) | 打开 https://colab.research.google.com/, 选择 GPU;!pip install transformers==4.40.0 |
Kaggle Notebook | T4 | 打开 https://www.kaggle.com/code, Settings → GPU → On |
Hugging Face Spaces | CPU(免费)|GPU(付费) | New Space → Gradio / Streamlit → 部署 Chat Demo |
0.4 第一个“小成就”——一行代码生成英文小诗
-
在终端或 Colab 执行:
from transformers import pipeline generator = pipeline("text-generation", model="gpt2") print(generator("In the quiet night, ", max_length=30, num_return_sequences=1)[0]["generated_text"])
-
输出示例
In the quiet night, the stars wane like fading flowers of silver dust, and the slow river hums a lullaby.
-
动手试试
- 把
model="gpt2"
改为"distilgpt2"
或"meta-llama/Llama-2-7b-chat-hf"
(需要 ≥ 16 GB 显存) - 调整
max_length
、temperature
,观察文本风格变化。
- 把
-
作业
- 把生成的诗翻译成中文;
0.5 常见安装问题与排查
症状 | 可能原因 | 解决办法 |
---|---|---|
torch.cuda.is_available() == False | CUDA 版本不匹配 | nvidia-smi 查看驱动;对应安装 PyTorch cuXXX 版本 |
ImportError: libc10.so | 环境里存在旧的 torch | pip uninstall torch -y && pip cache purge && pip install torch==2.2.1 |
下载模型速度慢 | Hugging Face 默认源在国外 | 配置清华镜像:export HF_ENDPOINT=https://hf-mirror.com |
Colab 无法安装特定版本 | Colab 自带 torch 版本冲突 | pip install --upgrade --force-reinstall torch==2.2.1 |
0.6 本章小结与思考题
本章收获
- 完成 Python & conda 环境 + PyTorch + Transformers 安装
- 跑通了第一个文本生成示例,初步体验注意力模型魔力
- 熟悉了 GPU/CPU 选择与云端替代方案
思考题
- 为什么 GPU 对深度学习训练速度提升明显?请用“矩阵并行计算”的角度简述。
- 如果只能使用 CPU,该如何通过“梯度累积”或“模型裁剪”完成大模型微调?写出你的方案思路。
- 试着把“小诗”生成任务封装成一个命令行脚本
generate_poem.py
,支持--prompt
,--length
参数,并上传到 GitHub。
以上内容准备就绪后,即可进入 第 1 部分 “前置知识简介” —— 我们将真正开始拆解注意力机制!祝顺利 ❤️