自编大模型系列之 01 使用 Python 从头构建 LLaMA 3 编写您自己的十亿参数LLM(教程含源码)

LLaMA 3是继Mistral之后最有前途的开源模型之一,可以解决各种任务。我之前在 Medium 上写过一篇博客,介绍如何使用 LLaMA 架构从头开始创建一个具有超过 230 万个参数的 LLM。现在 LLaMA-3 已经发布,我们将以更简单的方式重新创建它。

我们不会在本博客中使用GPU,但您至少需要17 GB 的 RAM,因为我们将加载一些大小超过 15 GB 的文件。如果这对您来说是个问题,您可以使用Kaggle作为解决方案。由于我们不需要 GPU,Kaggle 提供了 30 GB 的 RAM,同时仅使用 CPU 内核作为加速器。

目录

先决条件
LLaMA 2 和 LLaMA 3 之间的区别
了解 LLaMA 3 的 Transformer 架构
∘使用 RMNSNorm 进行预归一化
∘ SwiGLU 激活函数
∘旋转嵌入 (RoPE)
∘字节对编码 (BPE) 算法
设置舞台
了解文件结构
标记我们的输入数据
为每个标记创建嵌入
使用 RMSNorm 进行规范化
注意力头(查询、键、值)
实施 RoPE
实现自我注意力
实现多头注意力机制
实现 SwiGLU 激活函数
合并一切
生成输出

先决条件

好消息是,我们不会使用面向对象编程 (OO

你可能感兴趣的:(NVIDIA,GPU和大语言模型开发教程,python,llama,开发语言)