开源推荐
evening
GitHub热门项目: RustGPT
2026-06-26
1 阅读
GitHub Trending
GitHub 项目:RustGPT
仓库地址:https://github.com/tekaratzas/RustGPT
星级:3139 | 作者: 特卡拉查斯
项目描述:基于变压器的法学硕士。完全用 Rust 编写
===================================================
自述文件内容:
# 🦀 Rust LLM 从头开始
[](https://github.com/tekaratzas/RustGPT/actions/workflows/check.yml) [](https://github.com/tekaratzas/RustGPT/actions/workflows/test.yml)
https://github.com/user-attachments/assets/ec4a4100-b03a-4b3c-a7d6-806ea54ed4ed
完整的**大型语言模型以纯 Rust 实现**,无需外部 ML 框架。仅使用“ndarray”进行矩阵运算从头开始构建。
## 🚀 这是什么
该项目演示了如何在 Rust 中从头开始构建基于转换器的语言模型,包括:
- **事实文本完成预训练**
- **对话式人工智能的指令调整**
- **交互式聊天模式**用于测试
- **完全反向传播**,带梯度裁剪
- **模块化架构**,关注点清晰分离
## ❌ 这不是什么
这不是生产级法学硕士。它与较大的模型相差甚远。
这只是一个玩具项目,展示了这些模型如何在幕后工作。
## 🔍 需要探索的关键文件
从这两个核心文件开始了解实现:
- **[`src/main.rs`](src/main.rs)** - 训练管道、数据准备和交互模式
- **[`src/llm.rs`](src/llm.rs)** - 具有前向/后向传递和训练逻辑的核心 LLM 实现
## 🏗️ 架构
该模型使用**基于变压器的架构**,具有以下组件:
````
输入文本→标记化→嵌入→变压器块→输出投影→预测
````
### 项目结构
````
源代码/
├── main.rs # 🎯 训练管道和交互模式
├── llm.rs # 🧠 核心LLM实现和训练逻辑
├── lib.rs # 📚 库导出和常量
├── Transformer.rs # 🔄 Transformer 块(注意力+前馈)
├── self_attention.rs # 👀 多头自注意力机制
├── feed_forward.rs # ⚡ 位置前馈网络
├── embeddings.rs # 📊 Token 嵌入层
├── output_projection.rs # 🎰 用于词汇预测的最终线性层
├── vocab.rs # 📝 词汇管理和标记化
├── layer_norm.rs # 🧮 层归一化
└── adam.rs # 🏃 Adam 优化器实现
测试/
├── llm_test.rs # 测试核心LLM功能
├── Transformer_test.rs # 变压器块的测试
├── self_attention_test.rs # 注意力机制测试
├── feed_forward_test.rs # 前馈层测试
├── embeddings_test.rs # 嵌入层测试
├── vocab_test.rs # 词汇处理测试
├── adam_test.rs # 优化器测试
└── output_projection_test.rs # 输出层测试
````
## 🧪 模型学到了什么
实施包括两个培训阶段:
1. **预训练**:从事实陈述中学习基本的世界知识
-“太阳升起