CoolFace
Modelpublic

ApyHTML19/Cgi_Model_9M

sourceHugging Faceotherupdated 15d agoView on Hugging Face
0likes21downloads
Model Card

CGI Transformer

Modèle transformer entraîné from scratch sur le Code Général des Impôts (CGI) 2026 français. Architecture custom (RoPE, RMSNorm, SwiGLU, attention causale) — voir config.json pour les hyperparamètres et le dépôt source pour le code du modèle (CGITransformer).

Architecture

paramètrevaleur
vocab_size10413
d_model256
num_heads8
num_layers6
hidden_dim1024
maxseqlen512
dropout0.1

Entraînement

infovaleur
best_epoch14
epochs_trained18
learning_rate0.0002
batch_size8
weight_decay0.1
dropout0.1
label_smoothing0.1

Métriques (meilleur checkpoint)

métriquevaleur
val_loss2.7281
val_perplexity15.3035
val_accuracy0.5590
test_loss2.4548
test_perplexity11.6441
test_accuracy0.5934

Utilisation

Ce modèle utilise une architecture custom, non enregistrée dans transformers. Chargement avec le code source du dépôt d'origine :

python
from safetensors.torch import load_file
from src.model import CGITransformer, CGITransformerConfig

with open("config.json") as f:
    import json
    cfg = json.load(f)

config = CGITransformerConfig(
    vocab_size=cfg["vocab_size"], d_model=cfg["d_model"], num_heads=cfg["num_heads"],
    num_layers=cfg["num_layers"], hidden_dim=cfg["hidden_dim"], max_seq_len=cfg["max_seq_len"],
    dropout=0.0,
)
model = CGITransformer(config)
# lm_head.weight est tied avec l'embedding et n'est pas dupliqué dans le fichier safetensors
# (déjà tied à la construction du modèle) -> strict=False pour ignorer cette clé absente
model.load_state_dict(load_file("model.safetensors"), strict=False)
model.eval()

Le tokenizer est un tokenizers.Tokenizer (fichier tokenizer.json) :

python
from tokenizers import Tokenizer
tokenizer = Tokenizer.from_file("tokenizer.json")