@Modular: MAX-LLM 书籍让从零开始构建 LLM 变得更加简单。新的笔记本格式让你可以运行 GPT-2 …

X AI KOLs Following 工具

摘要

MAX-LLM 书籍现在提供交互式 Jupyter 笔记本,逐步指导用户使用 MAX 框架从零开始构建完整的 GPT-2 实现,使用户能够探索张量形状、运行组件并生成文本。

MAX-LLM 书籍让从零开始构建 LLM 变得更加简单。新的笔记本格式让你可以交互式地运行 GPT-2 组件,检查真实的张量形状,并使用预训练权重生成文本。想先浏览一下?预渲染版本展示了所有输出,无需运行任何单元格:https://github.com/modular/max-llm-book/blob/main/notebooks/tutorial.ipynb…
查看原文
查看缓存全文

缓存时间: 2026/05/14 22:44

MAX-LLM 这本指南现在让从头构建 LLM 变得更简单了。新的 notebook 格式允许你交互式地运行 GPT-2 组件、检查真实的张量形状,并使用预训练权重生成文本。想先浏览一下?预渲染版本展示了所有输出,无需运行任何单元格:https://github.com/modular/max-llm-book/blob/main/notebooks/tutorial.ipynb…


modular/max-llm-book

来源:https://github.com/modular/max-llm-book

使用 MAX 从头构建一个 LLM

一个关于如何使用 MAX 框架完整实现 GPT-2 的引导教程。 每个章节都会带你浏览 gpt2_arch/gpt2.py 中的代码,解释其作用与原因——从模型配置到使用 max serve 提供服务,一应俱全。

你将学到

  • Transformer 架构:GPT-2 的每个组件,通过可运行的代码逐一讲解
  • MAX Python API:MAX 的 experimental.nn 如何构建和编译神经网络
  • 推理模式:权重加载、惰性初始化、模型编译以及自回归生成

快速开始

前提条件

  • Pixi (https://pixi.sh/) 包管理器
  • 对神经网络有基本了解
  • 需要满足 MAX 系统要求 (https://docs.modular.com/max/packages#system-requirements)

安装

bash git clone https://github.com/modular/max-llm-book cd max-llm-book pixi install

运行模型

通过 OpenAI 兼容的 HTTP 端点提供 GPT-2 服务:

bash pixi run serve

然后查询它:

bash curl -X POST http://localhost:8000/v1/completions \ -H "Content-Type: application/json" \ -d '{"model":"gpt2","prompt":"In the beginning","max_tokens":30,"temperature":0}'

运行 notebook

交互式探索 GPT-2 的每个组件——真实的张量形状、激活可视化,以及从预训练权重实时生成文本:

bash pixi run notebook

这将打开包含 notebooks/tutorial.ipynb 的 JupyterLab。第 1–8 节使用随机权重立即运行;第 9–12 节从 Hugging Face 下载预训练的 GPT-2 检查点(约 500 MB)并编译模型用于推理。

阅读指南

bash pixi run book

或者在线阅读 llm.modular.com (https://llm.modular.com/)。

指南涵盖的内容

教程按章节逐步讲解 gpt2_arch/

章节主题你将学到
运行模型在深入代码之前先用 pixi run serve 提供 GPT-2 服务
1模型配置架构超参数与 Hugging Face 兼容性
2前馈网络带有 GELU 激活的两层 MLP
3因果掩码阻止注意力查看未来 token
4多头注意力12 个头上的并行注意力
5层归一化用于稳定激活的 pre-norm 模式
6Transformer 块残差连接与组件连线
7堆叠 Transformer 块嵌入层与 12 层模型体
8语言模型头将隐藏状态投影到词汇表 logits
9权重适配协调 HuggingFace 检查点与 MAX 的权重布局
10KV 缓存配置暴露注意力维度以供缓存预分配
11流水线模型max serve 内部加载、编译并执行模型
12架构注册max serve 声明包,并将所有部分连接起来

项目结构

text max-llm-book/ ├── book/ # mdBook 教程文档 │ └── src/ │ ├── introduction.md │ ├── serve_first.md │ ├── step_01.md ... step_12.md │ └── SUMMARY.md ├── gpt2_arch/ # GPT-2 模型 + 用于 `max serve` 的自定义架构包 │ ├── gpt2.py # 模型定义(从 GPT2Config 到 MaxGPT2LMHeadModel) │ ├── model.py # 供 max serve 使用的 PipelineModel 封装 │ ├── weight_adapters.py# HuggingFace → MAX 权重转换 │ ├── model_config.py # KV 缓存维度配置 │ └── arch.py # 架构注册入口点 ├── notebooks/ # 交互式 Jupyter notebook 配套 │ └── tutorial.ipynb ├── tests/ # gpt2_arch/ 的测试 ├── pixi.toml # 项目依赖与任务 └── README.md # 本文件

学习资源

  • MAX 文档:docs.modular.com (https://docs.modular.com/)
  • Hugging Face GPT-2:huggingface.co/gpt2 (https://huggingface.co/gpt2)
  • Attention Is All You Need: arxiv.org/abs/1706.03762 (https://arxiv.org/abs/1706.03762)
  • Language Models are Unsupervised Multitask Learners(GPT-2 论文): openai.com (https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf)

贡献

发现问题或想改进教程?欢迎贡献:

  1. 提交 issue 报告 bug 或不清晰的说明
  2. 对代码示例或可视化提出改进建议
  3. 通过 pull request 提交修复或补充内容

相似文章

rasbt/LLMs-from-scratch

GitHub Trending (daily)

该仓库提供开源代码,用于从零开始构建、预训练和微调一个类似GPT的大型语言模型,是Sebastian Raschka同名书籍的官方代码配套。