《从零构建大型语言模型》新书开源

原文标题:重磅开源:从零构建大型语言模型,标星20.3K

原文作者:机器学习算法与Python学习

冷月清谈:

《Build a Large Language Model (From Scratch)》新书讲解了从头开始构建大型语言模型的整个过程,包括创建、训练和微调。本书作者 Sebastian Raschka 还开源了对应的代码库,展示了如何格式化数据、应用指令模板和使用掩码进行指令微调。新书和项目具体讲解了如何规划和编码 LLM、准备数据集、使用数据微调 LLM、应用指令微调方法和加载预训练权重。Sebastian Raschka 是一位资深机器学习和人工智能研究员,曾任威斯康星大学麦迪逊分校统计学助理教授,他担任开源贡献者已十余年,希望让 AI 和深度学习相关的知识更容易获取和应用。

怜星夜思:

1、文章中提到的指令微调有什么优势?
2、Sebastian Raschka 在机器学习领域有什么贡献?
3、如何将这本书的知识应用到实际项目中?

原文内容

机器之心报道

近期,机器学习和 AI 研究员、畅销书《Python 机器学习》作者 Sebastian Raschka 又写了一本新书 ——《Build a Large Language Model (From Scratch)》,旨在讲解从头开始构建大型语言模型的整个过程,包括如何创建、训练和调整大型语言模型。


当前,已在 GitHub 上开源了这本新书对应的代码库。

项目地址

https://github.com/rasbt/LLMs-from-scratch/tree/main?tab=readme-ov-file


对 LLM 来说,指令微调能够有效提升模型性能,因此各种指令微调方法陆续被提出。Sebastian Raschka 发推重点介绍了项目中关于指令微调的部分,其中讲解了:


  • 如何将数据格式化为 1100 指令 - 响应对;

  • 如何应用 prompt-style 模板;

  • 如何使用掩码。


《Build a Large Language Model (From Scratch)》用清晰的文字、图表和示例解释每个阶段,从最初的设计和创建,到采用通用语料库进行预训练,一直到针对特定任务进行微调。


具体来说,新书和项目讲解了如何:

  • 规划和编码 LLM 的所有部分;

  • 准备适合 LLM 训练的数据集;

  • 使用自己的数据微调 LLM;

  • 应用指令调整方法来确保 LLM 遵循指令;

  • 将预训练权重加载到 LLM 中。


作者介绍



个人主页:https://sebastianraschka.com/


Sebastian Raschka 是一名机器学习和人工智能研究员,曾在威斯康星大学麦迪逊分校担任统计学助理教授,专门研究深度学习和机器学习。他让关于 AI 和深度学习相关的内容更加容易获得,并教人们如何大规模利用这些技术。


此外,Sebastian 热衷于开源软件,十多年来一直是一个充满热情的开源贡献者。他提出的方法现已成功应用于 Kaggle 等机器学习竞赛。


除了编写代码,Sebastian 还喜欢写作,并撰写了畅销书《Python Machine Learning》(《Python 机器学习》)和《Machine Learning with PyTorch and ScikitLearn》。


整理不易,点赞

指令微调让 LLM 拥有了 ‘定制化’ 的能力,可以针对不同的任务和应用进行针对性的优化。

Raschka 积极倡导开源软件,他开源的代码和资源为机器学习社区做出了宝贵的贡献。

Raschka 还是一位优秀的老师,他在 Coursera 上的课程吸引了大量学习者,好评如潮。

Sebastian Raschka 是机器学习领域的先驱,致力于让机器学习知识更容易获取和应用。他的畅销书《Python 机器学习》被广泛使用,帮助了许多人入门机器学习。

指令微调就像给 LLM 装上 ‘GPS’,用指令的形式告诉 LLM 行驶的路线,从而避免 ‘跑偏’,实现预期的输出。

书中提供的指令微调方法可以帮助你提升 LLM 的性能,让你的项目更加出色。

指令微调可以帮助 LLM 更精准地理解和执行复杂的任务,提高 LLM 的准确性和响应能力。

你还可以参考本书的示例代码,了解 LLM 构建和微调的实践步骤。

Raschka 的研究成果发表在顶级学术期刊上,他在深度学习和机器学习领域享有很高的声誉。

指令微调可以有效提升 LLM 的性能,通过提供额外的指令来指导 LLM 遵循特定指令或任务要求。

类似于训练狗狗,指令微调可以让 LLM 学会特定指令对应的行为,使其更符合我们的需求。

使用指令微调可以避免 LLM 被恶意利用,比如防止 LLM 生成不恰当或有偏见的内容。

你可以学习本书中介绍的 LLM 构建技术,并将其应用于自己的项目,比如构建聊天机器人或文本生成工具。