chiikamini
Petit modele de langage decoder-only (3.94 M parametres) ecrit from scratch en PyTorch, pour tester des applications locales sans charger un vrai LLM en RAM. Ce n'est pas un modele destine a un usage reel : il complete du code de facon plausible mais ne raisonne pas.
Architecture
RoPE, Grouped Query Attention (6 tetes Q / 2 tetes KV), RMSNorm + QK-Norm, FFN avec activation xIELU (Huang et al. 2024, arXiv:2411.13010) ; 6 couches, dim 192, contexte 128 tokens ; embeddings d'entree et de sortie partages ; tokenizer BPE byte-level de 8192 tokens entraine sur le corpus d'entrainement.
Donnees d'entrainement
- Code de l'auteur (chiikaml en C++, insta-trend-ai, diamant) et notes de cours d'informatique.
- Code public de GitHub : 10667 fichiers (50.0 Mo) tires de codeparrot/github-code-clean, licences permissives uniquement : mit (6529), apache-2.0 (2350), bsd-3-clause (1253), bsd-2-clause (276), unlicense (129), isc (89), cc0-1.0 (41). Provenance fichier par fichier (depot, chemin, licence) dans
training_data_manifest.json.
Resultats
Bits par octet de texte (plus bas = mieux), sur des fichiers jamais vus a l'entrainement. Meilleur epoch
choisi sur eval (13, perplexite 32.6 par token) ; test n'a ete mesure qu'une fois.
| jeu | ce modele | modele precedent (GPT-2, 27k tokens) | ecart |
|---|---|---|---|
| eval | 1.682 | 5.579 | -3.897 (-70 %) |
| test | 1.710 | 5.224 | -3.514 (-67 %) |
Limites : un seul run, une seule graine ; les jeux eval/test sont des fichiers de l'auteur, presque uniquement du C++ et du TypeScript (tres peu de Python) ; l'amelioration cumule plus de donnees, un tokenizer de domaine, une correction d'initialisation, un reglage du LR et un contexte de 128 tokens (64 pour les versions precedentes), sans ablation pour les separer.
Utilisation
L'architecture est custom : elle ne se charge pas avec transformers. Voir
le depot du code (chiikamini.checkpoint.load_checkpoint,
scripts/chat.py --checkpoint <dossier>). Le tokenizer est dans tokenizer.json.
- Downloads last month
- 36