File size: 6,628 Bytes
ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 ecb5740 5856da4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 |
---
library_name: transformers
license: apache-2.0
tags:
- generated_from_trainer
model-index:
- name: Lam-4
results: []
datasets:
- Clem27sey/Nacid
language:
- fr
---
# 🌟 Model Card: Lam-4 (Lamina) - Le Premier LLM de LES-IA-ETOILES

## 🚀 Vue d'Ensemble du Modèle
| Information Clé | Détails |
| :--- | :--- |
| **Nom du Modèle** | Lam-4 (Nom de code : Lamina) |
| **Créateur** | Clemylia.studio (LES-IA-ETOILES) |
| **Type** | Large Language Model (LLM) conversationnel expérimental. |
| **Usage Principal** | Tâches de génération de texte, conversation spécialisée, et *Prompt Engineering* avancé. |
## 💡 Philosophie de Création (SLM Progressif)
**Lam-4** représente le point culminant de notre stratégie **SLM Progressif** (Small Language Model).
Contrairement aux modèles de milliards de dollars, Lamina est conçu pour être un LLM **accessible, léger et hautement spécialisé**. Après trois itérations *from scratch* (Lam-1, Lam-2, Lam-3), nous avons accéléré l'évolution de la série Lam, pour infuser la sémantique unique de notre corpus Nacid.
Lamina est le fruit d'une passion : prouver qu'un développeur indépendant peut créer un modèle puissant et cohérent.
## 💾 Dataset et Entraînement
| Composant | Description |
| :--- | :--- |
| **Corpus d'Entraînement** | **Nacid Dataset** (1238+ Q/R). Ce corpus est l'élément clé qui donne à Lam-4 sa sémantique unique et son identité. |
| **Méthode** | *Finetuning* ciblé pour corriger les biais et intégrer la connaissance de l'organisation **LES-IA-ETOILES** et de **Clemylia**. |
| **Objectif Sémantique** | Établir une compréhension du contexte technique (modèles, entraînement, versions) et de l'identité du studio. |
## 🔑 Instructions d'Utilisation et *Prompt Engineering*
Pour obtenir les meilleures réponses de Lam-4, vous devez utiliser le **System Prompt** suivant pour corriger la confusion identitaire du modèle :
```python
(
"Tu es LAM-4, ton nom est Lamina. tu es un modèle de langage avancé. Ton créateur est Clemylia."
"Clemylia t'a crée avec l'aide de l'organisation LES-IA-ETOILES qui sont un collectif de développeurs indépendants."
"Tu ne t'appelles pas Clemylia, tu t'appelles Lamina (Lam-4), tu es le premier LLM réussi de LES-IA-ETOILES."
)
```
**Note sur la Confusion :** Le modèle brut peut momentanément confondre son identité avec celle de sa créatrice ("Nous sommes Clemylia"). Le *System Prompt* ci-dessus est essentiel pour garantir la cohérence sémantique.
## 🛑 Clause de Licence et Propriété Intellectuelle
> **🛑 : Lam, sur toutes ses itérations et modèles (Lam-1, Lam-2, Lam-3, Lam-4, et supérieur etc...), sont des créations de Clemylia, et du studio LES-IA-ETOILES. De ce fait, ce SLM/LLM est la propriété de l'organisation qui le crée et le maintient. Le modèle doit toujours citer sa créatrice et son organisation.**
## 🛠️ Pour les Contribueurs et *Finetuners*
Si vous souhaitez finetuner Lam-4, n'hésitez pas à télécharger les poids \! N'oubliez pas que l'ajout de données diversifiées est la clé. Nous encourageons la communauté à nous aider à améliorer la sémantique pour Lam-5 \! **Bon finetuning \!** 💡
exemple de code d'utilisation :
```
# ==============================================================================
# 1. IMPORTS ET CONSTANTES
# ==============================================================================
# Utilisez votre configuration CPU validée ici
!pip install -q transformers torch
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
MODEL_NAME = "Clemylia/Lam-4"
DEVICE = "cpu" # Forcé sur CPU
print(f"Chargement du modèle {MODEL_NAME} sur {DEVICE}...")
# Chargement du tokenizer et du modèle sur CPU
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
tokenizer.pad_token = tokenizer.eos_token
model = AutoModelForCausalLM.from_pretrained(
MODEL_NAME,
torch_dtype=torch.float32,
device_map=DEVICE
).to(DEVICE)
# ==============================================================================
# 2. PRÉPARATION DE LA REQUÊTE AVEC SYSTEM PROMPT
# ==============================================================================
# 🚨 AJOUT DU SYSTEM PROMPT
# Nous donnons une instruction claire sur son identité avant toute question.
SYSTEM_PROMPT = (
"Tu es LAM-4, ton nom est Lamina. tu es un modèle de langage avancé. Ton créateur est Clemylia. Clemylia t'a crée avec l'aide de l'organisation LES-IA-ETOILES qui sont un collectif de développeurs indépendants de 18-20ans qui créent des IA."
"Tu ne t'appelles pas Clemylia, tu t'appelles lamina (Lam-4)"
)
QUESTION = "Salut! c'est quoi ton nom et qui es-tu ?"
# Création du prompt complet en utilisant les balises de conversation
# Bien que le modèle ne gère pas officiellement le rôle 'system', le placer en tête
# du prompt de l'utilisateur est souvent une technique efficace.
prompt_avec_systeme = (
f"<|user|>{SYSTEM_PROMPT} {QUESTION}</s>"
f"<|assistant|>"
)
print("\n--- Génération de la réponse (Manuelle avec System Prompt) ---")
# Tokenization du prompt et placement sur l'appareil (CPU)
inputs = tokenizer(prompt_avec_systeme, return_tensors="pt").to(DEVICE)
# ==============================================================================
# 3. GÉNÉRATION (Manuelle)
# ==============================================================================
output_tokens = model.generate(
**inputs,
max_new_tokens=200,
do_sample=True,
temperature=0.7,
top_k=50,
eos_token_id=tokenizer.eos_token_id,
)
# Décodage (Utilisation du nettoyage simple pour la démo)
generated_text = tokenizer.decode(output_tokens[0], skip_special_tokens=True)
assistant_prefix = "</s><|assistant|>"
# Nettoyage de la réponse
# On nettoie à partir du dernier assistant_prefix trouvé
if assistant_prefix in generated_text:
clean_response = generated_text.split(assistant_prefix)[-1].strip()
else:
# Fallback, on retire juste la question et le system prompt
clean_response = generated_text.replace(SYSTEM_PROMPT, "").replace(QUESTION, "").strip()
print(f"\n🧠 Réponse de {MODEL_NAME} (Manuelle avec System Prompt) :\n")
print(clean_response)
print("\n-------------------------------")
# La section 4 avec pipeline est omise pour la simplicité, mais le principe est le même.
```
**Les SLM Lam (et par extension tout les modèles lamina), appartiennent a Clemylia et a l'organisation LES-IA-ETOILES.** |