YAML Metadata Warning:The pipeline tag "text2text-generation" is not in the official list: text-classification, token-classification, table-question-answering, question-answering, zero-shot-classification, translation, summarization, feature-extraction, text-generation, fill-mask, sentence-similarity, text-to-speech, text-to-audio, automatic-speech-recognition, audio-to-audio, audio-classification, audio-text-to-text, voice-activity-detection, depth-estimation, image-classification, object-detection, image-segmentation, text-to-image, image-to-text, image-to-image, image-to-video, unconditional-image-generation, video-classification, reinforcement-learning, robotics, tabular-classification, tabular-regression, tabular-to-text, table-to-text, multiple-choice, text-ranking, text-retrieval, time-series-forecasting, text-to-video, image-text-to-text, image-text-to-image, image-text-to-video, visual-question-answering, document-question-answering, zero-shot-image-classification, graph-ml, mask-generation, zero-shot-object-detection, text-to-3d, image-to-3d, image-feature-extraction, video-text-to-text, keypoint-detection, visual-document-retrieval, any-to-any, video-to-video, other

Sôtêr (ΣΩΤΗΡ) — lemmatiseur de grec ancien, 9,6M paramètres

Sôtêr est un lemmatiseur contextuel du grec ancien de 9,6 millions de paramètres, assez petit pour tourner dans un navigateur en int8. C'est le petit frère de Zual/soter-megas (ByT5-base, 581M), dont il est distillé. Démo en ligne : https://lucpommeret.com/soter/

Architecture T5 entraînée from scratch (pas de reprise de poids ByT5) : encodeur/décodeur 4+4 couches, d_model 256, d_ff 1024, 4 têtes, vocabulaire de 390 (octets UTF-8 + 6 tokens spéciaux). Entrée au niveau de l'octet, donc aucun problème de segmentation ni d'OOV.

Usage

from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

tok = AutoTokenizer.from_pretrained("Zual/soter")
model = AutoModelForSeq2SeqLM.from_pretrained("Zual/soter")

def build_input(formes, i, tb="<tb_perseus>", ctx=8):
    lo, hi = max(0, i - ctx), min(len(formes), i + 1 + ctx)
    return (f"{tb} {' '.join(formes[i])} <sep> {' '.join(formes[lo:i])} "
            f"<tgt> {formes[i]} </tgt> {' '.join(formes[i+1:hi])}").strip()

formes = "Ἀλέξανδρος ἐγένετο βασιλεύς".split()
enc = tok(build_input(formes, 1), return_tensors="pt")
print(tok.decode(model.generate(**enc, max_length=48)[0], skip_special_tokens=True))
# γίγνομαι

L'entrée encode la forme cible épelée lettre à lettre, puis un contexte de ±8 mots avec la cible balisée. Le tag de tête choisit la convention d'annotation : <tb_perseus> (AGDT), <tb_proiel>, <tb_ptnk> (Septante).

Exports ONNX dans onnx/ — fp32 et int8. Les fichiers int8 sont exactement ceux servis par la démo web via onnxruntime-web. La quantification int8 est gratuite ici : écart maximal de 0,07 point sur les benchmarks par rapport au fp32.

Entraînement

Distillation en deux étages. Un LLM généraliste (DeepSeek V4-Flash, few-shot 128–512 exemples, sortie TSV contrainte, T=0) annote les treebanks UD ; un ByT5-base est distillé dessus (Sōtēr Megas) ; ce ByT5 réannote un corpus large, sur lequel Sôtêr est entraîné.

  • 64 085 285 tokens (3 111 286 phrases) : Perseus complet, tranches équilibrées de PROIEL et PTNK, trains UD.
  • ~10,9 milliards de sous-tokens ByT5 par epoch.
  • Adafactor, batch effectif 512, contexte ±8 mots, entrées ≤ 384 octets.
  • Ce checkpoint est issu d'un recuit du learning rate (150 201 steps, décroissance linéaire 8e-4 → 0) appliqué à un modèle déjà entraîné. Le recuit apporte +0,32 de score composite (t = 7,79 sur blocs pré-déclarés) — l'essentiel du gain arrive quand le LR descend sous 60 % du pic.
  • Sélection du checkpoint : parmi ceux à égalité statistique sur le score composite, celui au plus haut score DBBE (hors-domaine).

Résultats

Tests UD complets (conll18_ud_eval, colonne Lemmas, segmentation gold, NFC)

PROIEL Perseus PTNK
Sôtêr (9,6M) 94.43 93.06 98.18
Sōtēr Megas (581M) 96.99 92.91 98.40
meilleur publié 97.48 (GreTa+Chars, R&F ACL 2023) 91.14 (idem)

Sôtêr passe devant le meilleur résultat publié sur Perseus (+1,92). Sur PROIEL il reste 1,8 point en dessous — voir la section « conventions » ci-dessous, qui explique l'essentiel de cet écart.

DBBE — grec byzantin non édité, zéro-shot (Swaelens et al., 10k tokens)

exact = 79.87   (sans diacritiques 84.52)

Références : MTL_lemma (SOTA supervisé sur ce domaine, ACL Findings 2025) 79.31 · CLTK back-off 71.69 · GLEM 70.82 · Stanza 64.99.

79.87 contre 79.31, c'est une égalité statistique, pas un dépassement : 0,56 point sur 9982 tokens, pour une erreur-type binomiale de 0,40 (IC 95 % ≈ ±0,79). La formulation défendable est : égale un SOTA supervisé sur ce domaine, en zéro-shot, avec 9,6M paramètres. Sôtêr dépasse en revanche nettement son propre teacher 60× plus gros (77.28).

Conventions de lemmatisation — à lire avant usage

Sôtêr diverge de la convention UD/PROIEL sur quelques classes systématiques. Sur le test PROIEL, trois décisions expliquent 209 tokens (1,57 point sur les 1,8 d'écart avec le publié) :

convention UD sortie de Sôtêr occurrences
ὑμεῖς, ἡμεῖς (pronoms pluriels) σύ, ἐγώ (base du paradigme) 137
λέγω (paradigme supplétif) εἶπον 60
ὁράω (paradigme supplétif) εἶδον 12

S'y ajoutent des divergences mineures : iota souscrit (ἀποθνῄσκω/ἀποθνήσκω), accentuation des enclitiques (πέρ/περ, τὶς/τις), byformes ioniennes (εἵνεκα, ὅκως), -γιγν- contre -γιν-, degrés (πλείων pour πολύς).

Ce ne sont pas des erreurs philologiques — ce sont d'autres conventions, souvent défendables — mais si vous attendez une sortie strictement UD-compatible, appliquez une table de post-traitement d'une quinzaine d'entrées. Sur 13 314 tokens de test PROIEL, 52 paires distinctes couvrent l'ensemble des divergences, et 15 en couvrent 85 %.

Limites et réserves méthodologiques

  • Le « gold corrigé » de nos évaluations internes n'est pas publiable tel quel. Il provient de l'adjudication des seules divergences teacher ↔ gold, jamais de celles des systèmes tiers. Un système distillé du même teacher en bénéficie mécaniquement environ 5× plus qu'un système indépendant. Les chiffres donnés ici sont donc tous sur gold brut.
  • Les treebanks UD grc sont publics et peuvent avoir été vus au pré-entraînement des LLM annotateurs. Les phrases de test/dev ont été retirées du corpus d'entraînement, mais le NT existe en plusieurs éditions et une exclusion exacte ne suffit pas toujours.
  • Le protocole DBBE reconstruit les frontières de phrases par coupe sur la ponctuation forte. À vérifier contre celui de Swaelens et al. avant toute comparaison chiffrée fine.
  • Point faible connu : PROIEL, où le modèle absorbe moins bien son teacher (fidélité 94,1 % contre 97,8 et 98,7 sur les deux autres treebanks).

Données et licences

Annotations produites par DeepSeek V4-Flash sur les trains UD grc et un échantillon de GLAUx/Diorisis. Corpus sources en CC BY-SA / CC BY ; treebanks UD grc (CC BY-NC-SA) utilisés pour l'évaluation uniquement. Poids publiés sous Apache 2.0, comme Zual/soter-megas.

Citation

Article en préparation. Auteur : Luc Pommeret (LISN/CNRS).

Downloads last month
177
Safetensors
Model size
9.64M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support