Eleonord commited on
Commit
83f43df
·
verified ·
1 Parent(s): 830207a

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +99 -1
README.md CHANGED
@@ -11,4 +11,102 @@ language:
11
  base_model:
12
  - Clemylia/Melta27
13
  pipeline_tag: text-generation
14
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  base_model:
12
  - Clemylia/Melta27
13
  pipeline_tag: text-generation
14
+ ---
15
+ # 📄 Documentation du Modèle Eleonord/Melta27-Animaux
16
+
17
+ ## 🦁 Aperçu du Modèle
18
+
19
+ **Melta27-Animaux** est une version affinée (fine-tuned) du modèle de langage de petite taille (SLM) **Melta27** créé par Clemylia, basé sur l'architecture propriétaire **Aricate v4**.
20
+
21
+ Ce modèle a été entraîné spécifiquement sur la dataset **Eleonord/Animaux** pour étendre son vocabulaire et améliorer sa capacité à générer des réponses cohérentes sur le thème des **animaux**.
22
+
23
+ * **Modèle de base :** Clemylia/Melta27
24
+ * **Architecture :** Aricate v4***
25
+ * **Dataset d'entraînement (Fine-Tuning) :** Eleonord/Animaux
26
+
27
+ ## ⚙️ Configuration Technique
28
+
29
+ Le modèle conserve les hyperparamètres de l'architecture Aricate v4 de base, mais avec un vocabulaire étendu.
30
+
31
+ | Paramètre | Valeur | Description |
32
+ | :--- | :--- | :--- |
33
+ | `vocab_size` | (Automatique) | **Taille du vocabulaire étendue**, incluant le vocabulaire de base de Melta27 plus les mots de la dataset Eleonord/Animaux. |
34
+ | `embedding_dim` | 64 | Dimension de la couche d'Embedding. |
35
+ | `hidden_dim` | 128 | Dimension cachée du réseau GRU. |
36
+ | `num_layers` | 2 | Nombre de couches récurrentes (GRU). |
37
+
38
+ ## 🚀 Utilisation du Modèle pour la Génération
39
+
40
+ Puisque ce modèle utilise l'architecture Aricate v4 et un tokenizer personnalisé (`aricate_tokenizer.txt`), il ne peut pas être chargé directement par les classes `AutoModel` ou `AutoTokenizer` de la librairie Hugging Face `transformers`.
41
+
42
+ Tu dois utiliser la structure de classe `AricateModel` et `WordTokenizer` fournie par l'architecture.
43
+
44
+ ### 1\. Chargement du Modèle et du Tokenizer
45
+
46
+ Pour charger le modèle et le tokenizer à partir de ce dépôt, tu peux utiliser les fonctions de la librairie `huggingface_hub` :
47
+
48
+ ```python
49
+ import torch
50
+ import json
51
+ from huggingface_hub import hf_hub_download
52
+ # Assurez-vous d'avoir les classes AricateModel et WordTokenizer définies dans votre script
53
+ from votre_script_aricate import AricateModel, WordTokenizer
54
+
55
+ # --- A. Téléchargement des fichiers ---
56
+ REPO_ID = "Eleonord/Melta27-Animaux"
57
+
58
+ # Téléchargement de la configuration
59
+ config_path = hf_hub_download(repo_id=REPO_ID, filename="config.json")
60
+ with open(config_path, 'r') as f:
61
+ config = json.load(f)
62
+
63
+ # Téléchargement du tokenizer
64
+ tokenizer_path = hf_hub_download(repo_id=REPO_ID, filename="aricate_tokenizer.txt")
65
+ with open(tokenizer_path, 'r', encoding='utf-8') as f:
66
+ vocab_data = json.load(f)
67
+
68
+ # Téléchargement des poids (safetensors)
69
+ weights_path = hf_hub_download(repo_id=REPO_ID, filename="model.safetensors")
70
+
71
+ # --- B. Initialisation ---
72
+ # 1. Initialisation du Tokenizer avec le vocabulaire téléchargé
73
+ tokenizer = WordTokenizer(existing_vocab=vocab_data)
74
+
75
+ # 2. Initialisation du Modèle
76
+ model = AricateModel(**config)
77
+
78
+ # 3. Chargement des poids
79
+ pretrained_state_dict = torch.load(weights_path, map_location="cpu")
80
+ model.load_state_dict(pretrained_state_dict)
81
+
82
+ model.eval()
83
+ print(f"Modèle {REPO_ID} chargé et prêt à l'emploi.")
84
+ ```
85
+
86
+ ### 2\. Génération de Séquence
87
+
88
+ Utilise la fonction `generate_sequence_beam` (définie dans ton script d'entraînement) pour interroger le modèle.
89
+
90
+ ```python
91
+ # Exemple d'utilisation (en supposant que generate_sequence_beam est défini)
92
+ question = "Quel animal dort debout ?"
93
+ max_len_input = 20 # Longueur maximale des séquences d'entrée utilisées lors de l'entraînement
94
+
95
+ response = generate_sequence_beam(
96
+ model=model,
97
+ tokenizer=tokenizer,
98
+ question=question,
99
+ max_length=30,
100
+ max_len_input=max_len_input,
101
+ beam_size=3
102
+ )
103
+
104
+ print(f"Question : {question}")
105
+ print(f"Réponse générée : {response}")
106
+ ```
107
+
108
+ ## 📝 Licence et Auteur
109
+
110
+ * **Licence :** (MIT)
111
+ * **Auteur du Fine-Tuning :** Eleonord
112
+ * **Architecture de base :** Aricate v4 par Clemylia