Skip to content

imihalcea/pipelet

Repository files navigation

pipelet

pipelet est un projet basé sur Rust conçu à des fins d'apprentissage, se concentrant sur l'implémentation d'un Grand Modèle de Langage (LLM) de style GPT-2 à partir de zéro. Il utilise le framework d'apprentissage profond burn.

Structure du Projet

Le projet est organisé comme un espace de travail Cargo avec les crates suivantes :

  • crates/pipelet : La bibliothèque principale contenant l'implémentation du modèle GPT-2.
    • Implémente l'architecture Transformer : Embeddings, Attention Multi-Têtes, Réseaux Feed-Forward, Normalisation de Couche.
    • Utilise burn pour les opérations sur les tenseurs et les définitions de modules.
  • crates/tokenizer : Gère la génération de vocabulaire et la tokenisation de texte.
    • Inclut la logique pour entraîner un tokenizer sur un corpus.
    • Supporte la persistance des modèles de tokenizer.
  • crates/forge : Un outil en ligne de commande (CLI) pour gérer le pipeline d'entraînement et d'autres tâches utilitaires.
    • Commandes pour entraîner le tokenizer, télécharger/uploader des artefacts, et exécuter des pipelines.

Fonctionnalités (Actuelles et Prévues)

  • Tokenizer :
    • Entraînement d'un tokenizer sur un corpus personnalisé.
    • Encodage et décodage de texte.
  • Inférence :
    • Implémentation de base de l'architecture du modèle GPT-2 (Passe avant / Forward pass).
    • Boucle de génération de texte (échantillonnage, température, etc.).
  • Entraînement :
    • Implémentation de la boucle d'entraînement (Calcul de la perte, Rétropropagation).
    • Chargement et mise en lots (batching) des données.
    • Checkpointing (sauvegarde des points de contrôle).

Pour Commencer

Prérequis

  • Rust (dernière version stable)
  • Cargo

Compilation

cargo build

Utilisation (Forge CLI)

La crate forge fournit un point d'entrée CLI.

# Exemple : Entraîner un tokenizer
cargo run -p forge -- train-tokenizer --help

Avertissement

Ce projet est strictement à des fins éducatives pour comprendre le fonctionnement interne des LLM et du framework burn. Il n'est pas destiné à une utilisation en production.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published