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

spelling-correction-german-onnx

ONNX-Export (fp32, encoder/decoder/decoder_with_past) von oliverguhr/spelling-correction-german-base, einem T5-Modell (247M Parameter) für deutsche Rechtschreib-/Grammatik-/Interpunktionskorrektur.

Erstellt für VoxJuris — eine Windows-Diktier-App für deutsche Rechtssprache — als Stufe-3-Korrektur-Engine, lokal via Microsoft.ML.OnnxRuntime und Microsoft.ML.Tokenizers (.NET).

Warum fp32, nicht int8?

int8-dynamic-Quantisierung (via onnxruntime.quantization.quantize_dynamic) wurde getestet und wieder verworfen: sie korrumpierte in Tests vereinzelt einzelne Wörter (z. B. "Kläger" → "K"+"lage"+"er" statt korrekt "Kläger"), verifiziert durch unabhängige Nachbildung der Generierung in PyTorch/ONNX-Runtime mit identischen Eingaben. Das fp32-Modell war in allen bisherigen Testfällen fehlerfrei. Für ein Korrektur-Feature ist Ausgabetreue wichtiger als die ~4-fache Größenersparnis von int8.

Bekannte Modell-Limitierung (nicht quantisierungsbedingt, auch im Original-fp32-Modell)

Bei fehlenden Umlauten in der Eingabe (typisch für ASR-Diktat ohne Umlaut-Erkennung, z. B. "tragt" statt "trägt") korrigiert das Modell nicht immer zuverlässig — teils bleibt der Umlaut fehlerhaft, teils wird das Wort zu einem anderen, ähnlich geschriebenen Wort verändert (z. B. "klager" → "Klage" statt "Kläger"). Ergebnisse bei umlautkritischen Wörtern sollten geprüft werden.

⚠️ Wichtiger Hinweis für .NET/Microsoft.ML.Tokenizers-Nutzer

spiece.model wurde gegenüber dem Original-Export gepatcht: T5 hat kein BOS-Token (trainer_spec.bos_id == -1 im SentencePiece-Modell), aber Microsoft.ML.Tokenizers (getestet mit Version 2.0.0) indiziert _vocabReverse[bos_id] ungeprüft in SentencePieceUnigramModel's Konstruktor, was bei bos_id == -1 zu einer IndexOutOfRangeException führt. Fix: bos_id im Modell-Protobuf auf 0 gesetzt (harmlos, sofern addBeginningOfSentence: false beim Erstellen des Tokenizers verwendet wird — dann wird der BOS-Wert nie tatsächlich eingesetzt). Wer dieses Modell mit sentencepiece/transformers in Python nutzt, ist von diesem Patch nicht betroffen.

Dateien

Datei Beschreibung
encoder_model.onnx Encoder, fp32
decoder_model.onnx Decoder, erster Schritt (ohne KV-Cache), fp32
decoder_with_past_model.onnx Decoder, Folgeschritte (mit KV-Cache), fp32
spiece.model SentencePiece-Tokenizer (gepatcht, siehe oben)
tokenizer.json, tokenizer_config.json, special_tokens_map.json Referenz-Tokenizer-Dateien (Python/transformers)
generation_config.json, config.json Modell-Konfiguration

Verwendung mit optimum/onnxruntime (Python)

from transformers import AutoTokenizer
from optimum.onnxruntime import ORTModelForSeq2SeqLM

tok = AutoTokenizer.from_pretrained(".")
model = ORTModelForSeq2SeqLM.from_pretrained(".")

inputs = tok("correct: der klager hat die forderung bestriten", return_tensors="pt")
out = model.generate(**inputs, max_new_tokens=96)
print(tok.decode(out[0], skip_special_tokens=True))

Evaluierung (vom Basismodell übernommen)

Character Error Rate (CER) 0,77 % auf 9.999 Eval-Samples, trainiert auf 10,19 Mio. Beispielen (siehe oliverguhr/spelling-correction-german-base).

Lizenz

Apache-2.0, wie das Basismodell.

Downloads last month
288
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for flozen1981/spelling-correction-german-onnx

Quantized
(1)
this model
Free AI Image Generator No sign-up. Instant results. Open Now