趋近智
在编写 Transformer 架构的代码之前,建立一个稳定且可用的开发环境十分重要。这可以确保代码示例按预期运行,并有助于整理将要构建的各种组成部分。必要的工具和项目结构在此进行设置。
我们的实现将依赖于机器学习 (machine learning)和深度学习 (deep learning)中广泛使用的标准 Python 库。我们假设您已安装 Python 3(建议使用 3.8 或更高版本)。我们将使用的主要深度学习框架是 PyTorch,它以其 Python 风格的接口以及在研究和开发中的灵活性而闻名。我们还将使用 NumPy 进行可能的数值运算,尽管 PyTorch 的张量通常就足够了。
您可以使用 Python 的包安装器 pip 来安装这些库。如果您使用 NVIDIA GPU,通常最好遵循 PyTorch 官方网站 (pytorch.org) 上的特定安装说明,以获取正确的 CUDA 版本。
A typical installation command for a CPU-only setup or after setting up CUDA might look like this:
pip install torch numpy
对于 GPU 支持,请查阅 PyTorch 网站,以获取针对您的特定 CUDA 版本(例如 CUDA 11.8 或 12.1)定制的命令。它通常看起来像:
# CUDA 11.8 示例 - 请在 pytorch.org 上查看当前命令!
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install numpy
最好在专用的虚拟环境(使用 venv 或 conda)中工作,以避免项目依赖项之间的冲突。
库安装完成后,您可以验证 PyTorch 是否正确安装,并检查它是否能检测到您的 GPU(如果适用)。打开 Python 解释器或创建一个包含以下内容的简单脚本 (check_env.py):
import torch
import numpy as np
print(f"PyTorch 版本: {torch.__version__}")
print(f"NumPy 版本: {np.__version__}")
# 检查 GPU 是否可用
if torch.cuda.is_available():
device = torch.device("cuda")
print(f"GPU 可用: {torch.cuda.get_device_name(0)}")
else:
device = torch.device("cpu")
print("GPU 不可用,使用 CPU。")
# 张量操作示例
tensor = torch.rand(3, 3, device=device)
print("\n在设备上创建的示例张量:")
print(tensor)
print(f"张量位于: {tensor.device}")
从您的终端运行此脚本:python check_env.py。您应该会看到打印出的库版本,以及一条消息,指明是否检测到 GPU 并将其用于简单的张量操作。看到与示例类似的输出,表示您的基本环境已就绪。
在实现 Transformer 时,保持代码的组织性很有帮助。本章的最小结构可能如下所示:
transformer_from_scratch/
├── check_env.py
├── transformer_components.py # 我们将在此处添加注意力、FFN 层
├── transformer_model.py # 我们将在此处组装完整模型
└── (Optional) notebooks/ # 用于使用 Jupyter 进行试验(可选)
这种结构将环境检查、构建块(如注意力机制 (attention mechanism))和最终组装的模型分离到不同的文件中,提高了模块化程度。您可以选择直接在 Python 脚本(.py 文件)中工作,或者使用 Jupyter Notebook(.ipynb 文件)进行更具交互性的开发,可以将它们放在 notebooks/ 目录中。
环境设置并验证完成后,我们就可以开始实现 Transformer 架构的核心组成部分了,下一节将从缩放点积注意力机制开始。
这部分内容有帮助吗?
venv - Creation of virtual environments, Python Documentation Developers, 2024 - Python标准库关于创建和管理独立虚拟环境的文档。© 2026 ApX Machine LearningAI伦理与透明度•