Please scroll down for the English version :-)
CZ
Nemá někdo (nejlépe z ČR, SR, PL, AT, HU, to abychom neměli k sobě daleko) chuť se přidat k mému side-projektu "mini LLMka from scratch" pro .NET v tomto .NET jazyce a TorchSharp pro lokální fine-tuning dat (pro .NET-only prostředí), která nemohou opustit "bezpečnostní prostor" uživatele?
Ano, půjdeme proti proudu (zatím, i když už zdaleka nejsme sami) v době, kdy všichni houfně vytvářejí tzv. AI agents.
Nemohu slíbit, že to bude fungovat dle mých představ, ale pokud ano, můžeme uvažovat o společné monetizaci projektu. Kód v tomto repozitáři je založen na architektuře GPT-2 s přidanými prvky používanými v moderních modelech:
- rotary positional embeddings
- root mean square layer normalization (RMSNorm)
- LoRA
- batching
- příprava pro learning rate scheduler
Vše je ještě bez optimalizace parametrů.
Zbývá ještě minimálně:
- flash attention a fuse ops (zřejmě bude nutné to udělat v C++, rád bych sice Rust, který se učím, ale nevím, jestli to v něm půjde, asi ne ...)
- implementace real-world tokenizátoru (zatím mám jen jednoduchou simulaci)
- implementace dostupných open weights
- kód pro zpracování dat pro fine-tuning
Konkurence samozřejmě existuje (např. Hugging Face Transformers + PEFT + vLLM nebo TensorRT-LLM, a hlavně pak Ollama + lokální fine-tuning či dnes už možná budou uvolněné lokální modely od OpenAI a dalších firem). U konkurence se dá očekávat, že bude příliš komplexní pro malé projekty – vlastní mini-framework umožní plnou kontrolu nad architekturou a experimenty. Bude to chtít společným úsilím sehnat přístup k PC s CUDA-compatible GPU. Prosím ozvěte se přes DM nebo email uvedený v kontaktech jen v případě vážného zájmu. Díky :-).
EN
Looking for a collaborator to join my side project: a “mini LLM from scratch” completely in .NET (and in F#). You are ideally from the Czech Republic, Slovakia, Poland, Austria or Hungary – the closer the better; however if you're based somewhere else and your time zone isn’t too painful for a Central European, feel free to reach out too.
We’ll be using TorchSharp, with the goal of doing fully local fine-tuning of models whose data must never leave the user’s “secure environment”. I can’t promise it will turn out exactly as I imagine, but if it does, we can seriously think about joint monetisation.
The foundation is my own from-scratch GPT-2 like code with additional modern features:
- rotary positional embeddings (RoPE)
- root mean square layer normalization (RMSNorm)
- LoRA
- proper batching
- groundwork for LR schedulers
All of this still completely un-optimised. Still on the to-do list (quite a lot, hence the call for help):
- flash attention and kernel fusions (will probably have to be written in C++; I’d love to do it in Rust which I’m learning, but I’m not sure it’s realistic)
- proper real-world tokenizer (right now there’s only code simulating simple tokenizer)
- loading existing open-weight models
- full data-pre-processing pipeline for fine-tuning
- other stuff I'm not aware yet
Yes, competition exists – Hugging Face Transformers + PEFT, vLLM, TensorRT-LLM, Ollama, maybe even local models from OpenAI & co. by the time we’re done. The difference: those solutions are huge and heavyweight. Our own tiny framework will give us 100 % control over every line of code and make experimentation actually fun. We’ll need to figure out (together) how to get access to a decent CUDA GPU for development. If you’re seriously interested, drop me a DM or use the e-mail in my profile. Please spare me casual “sounds cool” replies – only genuine interest, thanks! :-)