legml-v1.0
Collection
Collection of the 2nd version of open-source llms by legml.ai
•
2 items
•
Updated
L'IA pure qui forme l'IA : un corpus 100 % francophone sélectionné et contrôlé
Curated by legml.ai – Leader in AI Data Curation & Quality Assurance
legmlai/legml-v1.0-base
est un grand modèle de langage (LLM) francophone basé sur Qwen-3 · 8 B.
Il bénéficie d’un pré-entraînement continu (continued pre-training) visant à renforcer la cohérence et la richesse contextuelle de ses réponses en français.
Projet créé et maintenu par Mohamad Alhajar.
🙏 Merci à Nebius pour le sponsoring GPU : 24 × H100 80 Go qui ont permis cette release.
Modèle | Usage principal | Checkpoint | Héritage |
---|---|---|---|
legml-v1.0-base | Foundation — pré-entraînement continu | legmlai/legml-v1.0-base |
Qwen-3 8 B |
legml-v1.0-instruct | Dialogue & instruction-tuning | legmlai/legml-v1.0-instruct |
Fine-tuning sur v1.0-base |
Paramètre | Valeur |
---|---|
Architecture | Transformer décodant (Qwen-3 8B), Rotary PE, FlashAttention-2 |
Taille du modèle | ~ 16 Go (fp16) / 8 Go (bf16) |
Vocabulaire | 151 k tokens (compat. Qwen) |
Corpus | ≈ 1.2 T tokens, dont 1 % de FineFrench-v1 + corpus interne (juridique, tech, conversation) |
Entraînement | 24 × H100 80 Go · 500 k steps · AdamW · LR cosine |
Licence | Apache-2.0 |
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
model_id = "legmlai/legml-v1.0-base"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
torch_dtype="auto"
)
prompt = "Donne un résumé concis de la Déclaration des Droits de l’Homme et du Citoyen de 1789."
inputs = tokenizer(prompt, return_tensors="pt").to(device)
outputs = model.generate(
**inputs,
temperature=0.45,
top_p=0.9,
max_new_tokens=256
)
print(tokenizer.decode(outputs[0, inputs['input_ids'].shape[-1]:], skip_special_tokens=True))
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "legmlai/legml-v1.0-instruct"
device = "cuda" if torch.cuda.is_available() else "cpu"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
torch_dtype="auto"
)
messages = [
{"role": "system", "content": "Tu es un assistant francophone rigoureux et bienveillant."},
{"role": "user", "content": "Explique-moi la relativité restreinte en trois points."}
]
prompt = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tok(prompt, return_tensors="pt").to(device)
out = model.generate(
**inputs,
temperature=0.4,
top_p=0.9,
max_new_tokens=512,
repetition_penalty=1.05
)
print(tok.decode(out[0, inputs['input_ids'].shape[-1]:], skip_special_tokens=True))
Cas d’usage | Température | top-p | max_new_tokens |
---|---|---|---|
Réponse courte & factuelle | 0.30-0.50 | 0.90 | 128-256 |
Explication détaillée | 0.40-0.60 | 0.90 | 512-768 |
Création littéraire | 0.70-0.90 | 0.95 | ≥ 512 |
@misc{legml2025,
title = {legml-v1.0 base & instruct: French LLMs},
author = {Mohamad Alhajar},
howpublished = {\url{https://huggingface.co/legmlai/legml-v1.0-base}},
year = {2025}
}
© 2025 – legml.ai • Apache-2.0
Base model
Qwen/Qwen3-8B-Base