AspadaX/tiny-llm
GitHub: AspadaX/tiny-llm
一个用纯 Rust 编写的极简 MiniCPM5-1B 推理引擎,通过单文件代码和 TUI 可视化帮助开发者从底层理解大语言模型的推理过程。
Stars: 10 | Forks: 0
# tiny-llm
一个极简的 LLM 推理引擎,专为 [MiniCPM5-1B](https://huggingface.co/openbmb/MiniCPM5-1B) 打造,完全使用 Rust 编写。
" ""
```
示例:
```
cargo run --release -- ./models/minicpm5-1b "What is artificial intelligence?"
```
按 `q` 键可提前退出。
## 代码解析
阅读此代码的最佳方式是从上到下阅读 `src/main.rs`:
1. **Tensor 运算** — 一个基于 candle tensors 的极简 `TinyTensor` 封装,包含矩阵乘法、reshape、transpose、softmax 等操作。我会尝试手动编写这些数学运算。
2. **模型加载** — `ModelConfigurations`、`LlamaModel` 和 `TransformerBlock` 结构体,它们直接映射到 safetensors 的键。
3. **`predict_next_token`** — 遍历每个 transformer 层的推理循环。每个操作都附带了 shape 注释和耗时记录。
4. **TUI** — Ratatui 组件实时渲染 attention 图、tensor shape 和 logits。
## 许可证
MIT — 请参阅 [LICENSE](LICENSE)
标签:AI, DLL 劫持, Rust, 可视化界面, 大语言模型, 推理引擎, 教学项目, 网络流量审计, 自动化代码审查, 通知系统