在编写 Transformer 架构的代码之前,建立一个稳定且可用的开发环境十分重要。这可以确保代码示例按预期运行,并有助于整理将要构建的各种组成部分。必要的工具和项目结构在此进行设置。我们的实现将依赖于机器学习和深度学习中广泛使用的标准 Python 库。我们假设您已安装 Python 3(建议使用 3.8 或更高版本)。我们将使用的主要深度学习框架是 PyTorch,它以其 Python 风格的接口以及在研究和开发中的灵活性而闻名。我们还将使用 NumPy 进行可能的数值运算,尽管 PyTorch 的张量通常就足够了。所需库PyTorch: 核心深度学习框架。我们需要一个支持 Transformer 所需操作的版本。最重要的是,请确保安装与您的硬件兼容的版本,特别是如果您计划使用 NVIDIA GPU 进行加速(对于这种规模的模型,强烈推荐这样做)。NumPy: Python 中科学计算的基本软件包。PyTorch 与 NumPy 数组集成良好。安装您可以使用 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 进行试验(可选)这种结构将环境检查、构建块(如注意力机制)和最终组装的模型分离到不同的文件中,提高了模块化程度。您可以选择直接在 Python 脚本(.py 文件)中工作,或者使用 Jupyter Notebook(.ipynb 文件)进行更具交互性的开发,可以将它们放在 notebooks/ 目录中。环境设置并验证完成后,我们就可以开始实现 Transformer 架构的核心组成部分了,下一节将从缩放点积注意力机制开始。