Thomas Bouvier

3 July 2025 00:00 · 2 min

Kénotron

Kénotron est un fork expérimental de Nanotron, une bibliothèque minimaliste d'entraînement de grands modèles de langage avec des optimisations orientées HPC et parallélisme 4D.

Motivation

Kénotron est une bibliothèque pour le pré-entraînement de modèles transformers à grande échelle. Il s’agit d’un fork de la bibliothèque Nanotron développée à Hugging Face, qui inclue des optimisations HPC supplémentaires. Le dépôt GitHub est disponible ici.

Kénotron est conçu pour être facile à utiliser, rapide et évolutif. Il est construit avec les principes suivants à l’esprit :

Tout comme Nanotron, qui est un logiciel en version alpha, Kénotron ne devrait pas être utilisé en production. La bibliothèque est expérimentale mais suffisamment mature pour un travail académique.

Installation

Nous recommandons d’utiliser Spack pour installer Kénotron, surtout si vous utilisez un supercalculateur. Les instructions d’installation sont simples :

git clone -c feature.manyFiles=true --depth=2 https://github.com/spack/spack.git
git clone https://github.com/korovod/korovod-spack-packages.git
cd spack/bin
./spack repo add korovod-spack-packages
./spack install py-nanotron

Nous conseillons de maintenir un environnement Spack pour assurer la reproductibilité.

Extensions

Pour installer une extension C++, utilisez simplement la variante Spack correspondante comme documenté dans le README:

./spack install py-nanotron +py-datastates

DataStates-LLM

Je vais écrire des articles de blog sur les extensions HPC que je suis en train d’implémenter. Un article sur l’extension DataStates-LLM, un moteur de checkpointing asynchrone paresseux pour les LLMs, arrive bientôt. Je le référencerai ici une fois qu’il sera prêt !