|
Download README.md from ApyHTML19/Cgi_Model_9M: direct link, hf CLI and curl.
- Browser
- Download file 2.06 kB
-
https://huggingface.co/ApyHTML19/Cgi_Model_9M/resolve/main/README.md
- Command line
-
hf download hf://ApyHTML19/Cgi_Model_9M/README.md
-
curl -L -o README.md https://huggingface.co/ApyHTML19/Cgi_Model_9M/resolve/main/README.md
2.06 kB
| language: fr | |
| tags: | |
| - cgi | |
| - fiscal | |
| - transformer | |
| - from-scratch | |
| license: other | |
| # 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ètre | valeur | | |
| |---|---| | |
| | vocab_size | 10413 | | |
| | d_model | 256 | | |
| | num_heads | 8 | | |
| | num_layers | 6 | | |
| | hidden_dim | 1024 | | |
| | max_seq_len | 512 | | |
| | dropout | 0.1 | | |
| ## Entraînement | |
| | info | valeur | | |
| |---|---| | |
| | best_epoch | 14 | | |
| | epochs_trained | 18 | | |
| | learning_rate | 0.0002 | | |
| | batch_size | 8 | | |
| | weight_decay | 0.1 | | |
| | dropout | 0.1 | | |
| | label_smoothing | 0.1 | | |
| ## Métriques (meilleur checkpoint) | |
| | métrique | valeur | | |
| |---|---| | |
| | val_loss | 2.7281 | | |
| | val_perplexity | 15.3035 | | |
| | val_accuracy | 0.5590 | | |
| | test_loss | 2.4548 | | |
| | test_perplexity | 11.6441 | | |
| | test_accuracy | 0.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") | |
| ``` | |