LAM-4 - MON premier LLM
#1
by
Clemylia
- opened
👋 Salut à toute la communauté de Hugging Face ! Aujourd'hui, j'ai une nouvelle incroyable à partager qui marque une étape majeure pour Clemylia.studio, Clemylia et LES-IA-ETOILES.🚀
- Après des mois de travail acharné sur mes SLM progressifs, je suis incroyablement fière d'annoncer la création de Lam-4 !
- Ceci n'est plus un simple petit modèle de langage ; c'est mon premier Large Language Model réussi.
- Lam-4, aussi appelé Lamina, a été entraîné avec l'aide de toute mon organisation LES-IA-ETOILES, grâce aux données spécifiques du corpus Nacid.
- Ce modèle représente l'évolution de notre stratégie : passer de mes 43 modèles créatifs from scratch à une IA conversationnelle plus puissante.
- Lam-4 est fluide, intelligent, et, oui, un peu confus sur son nom (ne vous étonnez pas s'il pense qu'il s'appelle Clemylia ! 🤣).
- Mais grâce à de bons System Prompts, il est prêt à vous assister dans vos tâches de génération de texte et de conversation.
- Ce LLM est une preuve que même un développeur indépendant de 18 ans peut créer un modèle puissant et personnalisé, sans des milliards de dollars de budget.
- Il est le futur de la création d'IA personnalisée que je défends, et sa sémantique est unique à notre communauté !
- Venez le tester, et aidez-nous à le rendre encore meilleur en partageant vos retours (et en corrigeant sa confusion d'identité !).
- Merci à vous tous qui jouez à mes 33 jeux sur astrocade et soutenez ma vision. On continue de construire ensemble ! ❤️
?
Exemple de code d'utilisation de notre LLm !
;
# ==============================================================================
# 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.