I've made an early version of ZigFormer, a small LLM implemented in Zig with no dependencies on external ML frameworks like PyTorch or JAX. ZigFormer is modelled after a textbook LLM (like GPT-2 from OpenAI) and can be used as a Zig library as well as a standalone application to train a model and chat with it.
This was mainly an educational project. I'm sharing it here in case others find it interesting or useful.
Link to the project: https://github.com/CogitatorTech/zigformer
jeffjeffbear•2mo ago
jeffjeffbear•2mo ago
n_kr•2mo ago
Not everything has to be useful.
habedi0•2mo ago
I avoided using external (linear algebra/tensor) libraries to keep the project's scope small and manageable. Adding them can be the next step, but they are usually very large dependencies that can make the project bloated. Anyway, Zig has great SIMD and multi-threading support, but I think there is a need for a native linalg/tensor library for Zig with a clean and mature API.
I'm not sure about the usefulness, it depends TBH. I think there are a lot of people (like hobbyists, students, people learning Zig, etc.) who can find the project somewhat useful at its current stage.