从零开始逐步指导开发者构建自己的大型语言模型(LLM)学习笔记-0 入学准备

从零构建大型语言模型(完整版)

这个仓库包含了用于编码、预训练和微调类似GPT的LLM的代码,并是书籍《从零构建大型语言模型》的官方代码库。

从零开始逐步指导开发者构建自己的大型语言模型(LLM)学习笔记- 第1章-CSDN博客文章浏览阅读60次,点赞3次,收藏5次。开发阶段构建(Building):准备数据集,实现注意力机制和模型架构相关的编码。预训练(Pre - training):在大型数据集上训练模型,形成基础模型,并评估和保存模型权重。微调(Fine - tuning):根据特定任务(如分类、问答、创建聊天机器人)对模型进行调整,利用特定的指令数据集。当前应用场景公共或专有服务:如通过公共 API 访问 ChatGPT 和 Gemini 等。本地运行自定义模型:利用开源模型(如 Llama 3)在本地与模型交互。在外部服务器上部署自定义模型。https://blog.csdn.net/chenchihwen/article/details/144919477?spm=1001.2014.3001.5501

真有趣,在 github上的线上书本,

1. 从GitCode - 全球开发者的开源社区,开源代码托管平台 下载内容

git clone https://gitcode.com/gh_mirrors/ll/LLMs-from-scratch.git

该项目是《从零构建大型语言模型》一书的官方代码库,旨在指导开发者从底层开始编写代码,逐步构建类似GPT的大型语言模型(LLM)。书中详细介绍了如何处理文本数据、编码注意力机制、实现GPT模型、预训练以及微调等步骤,并提供了相应的代码示例和练习。项目适合对自然语言处理和深度学习感兴趣的读者,旨在帮助他们深入理解LLM的工作原理和开发过程.

关键段落

  • 项目背景与目的: 该项目是《从零构建大型语言模型》一书的官方代码库,旨在帮助开发者从底层开始编写代码,逐步构建类似GPT的大型语言模型(LLM)。通过详细的步骤和原理说明,使读者能够深入理解并实践LLM的开发过程.
  • 书籍内容概述: 书中通过清晰的文字、图表和例子,指导读者创建自己的LLM。包括处理文本数据、编码注意力机制、实现GPT模型、在未标注数据上的预训练、微调文本分类任务以及基于人类反馈的微调等章节内容.
  • 代码与资源: 项目提供了丰富的代码示例和练习,涵盖从基础的文本数据处理到复杂的模型实现和训练。代码旨在普通笔记本电脑上运行,无需专门硬件,确保了广泛受众能够参与学习.
  • 附加材料: 包含多个文件夹,供读者深入学习,如安装与准备、Python设置技巧、不同字节对编码实现的比较、高效多头注意力实现对比等.

准备读书的进度如下每个章节:

  1. 第1章:理解大型语言模型:这一章节没有提供代码文件。
  2. 第2章:处理文本数据:提供了三个代码文件,分别是ch02.ipynb、dataloader.ipynb(概述)和exercise-solutions.ipynb,所有这些文件都存放在./ch02目录下。
  3. 第3章:编码注意力机制:提供了三个代码文件,分别是ch03.ipynb、multihead-attention.ipynb(概述)和exercise-solutions.ipynb,存放在./ch03目录下。
  4. 第4章:从头实现GPT模型:提供了三个代码文件,分别是ch04.ipynb、gpt.py(概述)和exercise-solutions.ipynb,存放在./ch04目录下。
  5. 第5章:在未标注数据上的预训练:提供了四个代码文件,分别是ch05.ipynb、gpt_train.py(概述)、gpt_generate.py(概述)和exercise-solutions.ipynb,存放在./ch05目录下。
  6. 第6章:微调文本分类任务:提供了两个代码文件,分别是ch06.ipynb和gpt-class-finetune.py,以及一个练习解答文件exercise-solutions.ipynb,存放在./ch06目录下。
  7. 第7章:基于人类反馈的微调:这一章节预计在2024年第二季度发布。

附录部分:

  • 附录A:PyTorch入门:提供了四个代码文件,分别是code-part1.ipynb、code-part2.ipynb、DDP-script.py和exercise-solutions.ipynb,存放在./appendix-A目录下。
  • 附录B:参考文献与进一步阅读:这一章节没有提供代码文件。
  • 附录C:练习解答:这一章节没有提供代码文件。
  • 附录D:训练循环中的附加功能:提供了一个代码文件appendix-D.ipynb,存放在./appendix-D目录下。
  • 附录E:LoRA的参数高效微调:提供了一个代码文件appendix-E.ipynb,存放在./appendix-E目录下。

clone 后在 vs code 里 可以阅读,可以直接执行,实在太方便了

总结本书涵盖内容的概念模型 

这张图片展示了一个构建大型语言模型(LLM)及其后续应用的流程图,分为三个主要阶段:Stage 1、Stage 2 和 Stage 3。

第一阶段:构建大型语言模型(Building an LLM)

  1. 数据准备与采样(Data preparation & sampling)
    • 进行数据的准备和采样操作,这有助于理解基本机制。
  2. 注意力机制(Attention mechanism)
    • 实现注意力机制,这是大型语言模型中的关键技术。
  3. 大型语言模型架构(LLM architecture)
    • 设计大型语言模型的架构。
  4. 预训练(Pretraining)
    • 使用无标签数据对大型语言模型进行预训练,得到基础模型。

第二阶段:基础模型(Foundation model)

  1. 训练循环(Training loop)
    • 对基础模型进行训练循环操作。
  2. 模型评估(Model evaluation)
    • 对模型进行评估。
  3. 加载预训练权重(Load pretrained weights)
    • 加载预训练的权重。
  4. 微调(Finetuning)
    • 对预训练的模型进行微调,以创建分类模型。

第三阶段:分类器和个人助手(Classifier and Personal assistant)

  • 分类器(Classifier)
    • 微调预训练的大型语言模型以创建分类模型(Finetune the pretrained LLM to create a classification model)
      • 使用带有类别标签的数据集对预训练的大型语言模型进行微调,得到分类模型。
  • 个人助手(Personal assistant)
    • 微调(Finetuning)
      • 对预训练的模型进行微调。
    • 指令数据集(Instruction dataset)
      • 使用指令数据集对模型进行进一步训练,以创建个人助手或聊天模型。

根据作者要求标注引用来源如下

@book{build-llms-from-scratch-book,
  author       = {Sebastian Raschka},
  title        = {构建大型语言模型(从零开始)},
  publisher    = {Manning},
  year         = {2023},
  isbn         = {978-1633437166},
  url          = {https://www.manning.com/books/build-a-large-language-model-from-scratch},
  note         = {正在进行中},
  github       = {https://github.com/rasbt/LLMs-from-scratch}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值