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 部分 “前置知识简介” —— 我们将真正开始拆解注意力机制!祝顺利 ❤️
