Passer au contenu principal

Documentation Complète : Création d'une IA Correctrice avec Bloom et RWKV

Introduction

Cette documentation explique comment configurer et utiliser Bloom et RWKV comme outils pour créer une IA capable de corriger et reformuler des textes en français. Vous y trouverez toutes les étapes d'installation, de configuration, ainsi que les solutions aux problèmes rencontrés.


Prérequis

Avant de commencer, assurez-vous que votre serveur ou machine répond aux conditions suivantes :

  1. Python 3.8 ou supérieur est installé.
    • Pour vérifier :
      python3 --version
      
    • Si Python n'est pas installé :
      sudo apt update && sudo apt install python3 python3-pip -y
      
  2. Une connexion Internet stable pour télécharger les modèles et bibliothèques.
  3. Au moins 8 Go de RAM pour Bloom ou RWKV. Pour des modèles plus grands, prévoyez plus de ressources.
  4. pip est installé sur votre système. Si ce n'est pas le cas :
    sudo apt install python3-pip -y
    
  5. git pour cloner les dépôts :
    sudo apt install git -y
    

Étape 1 : Installation des bibliothèques nécessaires

Pour Bloom

Installez les bibliothèques nécessaires :

pip install transformers torch
  • transformers : Permet de télécharger et d'utiliser Bloom.
  • torch : Nécessaire pour les calculs neuronaux.

Si vous rencontrez des problèmes avec PyTorch, utilisez cette commande :

pip install torch --extra-index-url https://download.pytorch.org/whl/cpu

Pour RWKV

Clonez le dépôt RWKV et installez ses dépendances :

  1. Clonez le dépôt RWKV depuis GitHub :
    git clone https://github.com/BlinkDL/RWKV-LM.git
    cd RWKV-LM
    

Étape 2 : Créer un environnement virtuel

Un environnement virtuel est nécessaire pour éviter les conflits avec les packages système.

  1. Créez un environnement virtuel dans le dossier RWKV : Cela isolera les dépendances nécessaires pour RWKV.

    python3 -m venv venv
    
  2. Activez l’environnement virtuel : Une fois activé, tous les paquets installés via pip resteront dans cet environnement.

    source venv/bin/activate
    
  3. Vérifiez que l’environnement est actif : Vous verrez un (venv) devant le prompt du terminal, par exemple :

    (venv) gabe@gabe-PowerEdge-T420:~/RWKV-LM$
    
  4. Installez les dépendances pour RWKV :

    pip install torch numpy transformers
    

Étape 3 : Téléchargement des modèles

Pour Bloom

Utilisez une version allégée de Bloom (par exemple, bloom-560m) pour de meilleures performances :

  1. Téléchargez le modèle et le tokenizer :
    from transformers import AutoModelForCausalLM, AutoTokenizer
    
    model_name = "bigscience/bloom-560m"
    tokenizer = AutoTokenizer.from_pretrained(model_name)
    model = AutoModelForCausalLM.from_pretrained(model_name)
    

Pour RWKV

Téléchargez un fichier modèle RWKV compatible, comme RWKV-v5-Eagle-World-7B :

  1. Téléchargez le fichier .pth depuis Hugging Face.
  2. Placez le fichier dans le dossier models de RWKV :
    mkdir -p ~/RWKV-LM/models
    mv /chemin/vers/RWKV-v5-Eagle-World-7B.pth ~/RWKV-LM/models/
    
  3. Téléchargez le tokenizer requis :
    wget https://huggingface.co/BlinkDL/RWKV-4-RNN-Pile-169M/blob/main/20B_tokenizer.json
    mv 20B_tokenizer.json ~/RWKV-LM/
    

Étape 4 : Création de scripts Python

Correcteur avec Bloom

Créez un fichier Python :

nano bloom_correcteur.py

Collez le code suivant :

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "bigscience/bloom-560m"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

context = (
    "Vous êtes un assistant qui corrige et reformule des textes en français. "
    "Corrigez les erreurs et améliorez la clarté de ce texte :\n"
)

print("Bloom Correcteur (tapez 'exit' pour quitter)")

while True:
    user_input = input("Texte à corriger : ")
    if user_input.lower() == "exit":
        break

    prompt = context + f"Texte : {user_input}\nTexte corrigé :"
    inputs = tokenizer(prompt, return_tensors="pt")
    outputs = model.generate(inputs["input_ids"], max_length=100, temperature=0.7)

    corrected_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
    print("Texte corrigé :", corrected_text.split("Texte corrigé :")[-1].strip())

Correcteur avec RWKV

Créez un fichier Python :

nano rwkv_correcteur.py

Collez le code suivant :

from rwkv.model import RWKV
from rwkv.utils import PIPELINE

MODEL_PATH = "./models/RWKV-v5-Eagle-World-7B.pth"
TOKENIZER_PATH = "20B_tokenizer.json"

model = RWKV(model=MODEL_PATH, strategy="cpu fp32")
pipeline = PIPELINE(model, TOKENIZER_PATH)

context = (
    "Vous êtes un assistant qui corrige et reformule des textes en français. "
    "Corrigez les erreurs et reformulez le texte :\n"
)

print("RWKV Correcteur (tapez 'exit' pour quitter)")

while True:
    user_input = input("Texte à corriger : ")
    if user_input.lower() == "exit":
        break

    prompt = context + f"Texte : {user_input}\nTexte corrigé :"
    response = pipeline.generate(prompt)
    print("Texte corrigé :", response.strip())

Étape 5 : Résoudre les problèmes

  1. Erreur de mémoire insuffisante

    • Utilisez une version plus légère comme bloom-350m ou RWKV avec quantification.
  2. Texte incohérent

    • Ajoutez des exemples dans le contexte.
    • Diminuez temperature pour Bloom.
  3. Problème avec RWKV : "temperature" non supporté

    • RWKV ne supporte pas temperature. Concentrez-vous sur un prompt précis pour guider le modèle.

Conclusion

Ce guide vous permet de configurer une IA basée sur Bloom ou RWKV pour corriger et reformuler des textes en français. Adaptez les prompts et les paramètres selon vos besoins pour optimiser les performances. Si vous avez des questions ou rencontrez des problèmes, contactez-moi pour une assistance supplémentaire !