nerdai/llms-from-scratch-rs
A comprehensive Rust translation of the code from Sebastian Raschka's Build an LLM from Scratch book.
它解决了什么问题
Sebastian Raschka的书《从零开始构建大语言模型》逐步教授如何构建GPT风格的大语言模型,但所有代码都是用PyTorch(Python)编写的。这个项目为Rust开发者解决了这个问题:它将整本书的代码翻译成Rust,这样你就可以遵循相同的教程,完全不用Python就能学习LLM的内部原理。
它是如何工作的
该项目对应书中的7个章节,涵盖文本数据处理、注意力机制、实现GPT模型、在无标签数据上进行预训练、针对分类进行微调以及针对指令遵循进行微调等主题。它使用Candle crate(Hugging Face的一个极简ML框架)来编写等效的Rust代码。该仓库为每一章提供了可运行的“示例”和“练习”。你可以克隆仓库,下载书中使用的相同数据集(the-verdict.txt),然后使用cargo命令(如cargo run example 05.07或cargo run exercise 5.5)运行特定的示例或练习。你也可以使用cargo run list --examples或cargo run list --exercises列出所有可用项。代码的结构使得每个示例/练习都精确显示了需要哪些导入,这对学习很有帮助。如果你有支持CUDA的GPU,可以启用cuda功能来加速计算。
适合谁
这适合那些想通过遵循一个经过验证的、逐步的教程来理解GPT等LLM底层工作原理的Rust开发者。它也对那些想看到Rust实现的书的读者有用,以及对任何对构建基于Transformer的LLM的非Python方法感兴趣的人有用。
亮点
- 书中章节的完整Rust翻译,全部使用Candle ML框架构建。
- 可运行的示例和练习,与书中的内容对应,让你可以练习关键概念。
- 使用与书中完全相同的数据集,使其成为即插即用的伴侣。
- 支持CUDA,可在兼容的GPU上加速执行。
- 已发布在crates.io上,你可以使用
cargo install安装并在任何地方运行。
相关
- 项目
- 项目
- 项目
- 项目