qwen3vl-medieval-german-v3

Handwritten-text-recognition model trained on the serving-atr-inference training service. These are the weights of the best validation checkpoint of the run below — not its last epoch.

Evaluation

metric value
CER 11.20 %
WER 27.87 %
samples scored 200
characters scored 8266
character errors 926

Measured on this run's own held-out validation split (page-level and seeded, so no page contributes lines to both sides). It is not a score on a shared benchmark and does not transfer to a different corpus.

The score mixes two kinds of validation, and the difference matters. dh-unibe/image-text_rats-und-richtebuecher_xv-xvi held whole projects out of training, so those lines test unseen hands. dh-unibe/image-text_bullinger-autoren, dh-unibe/image-text_koenigsfelden-charters-post-1500, dh-unibe/image-text_aaeb-xiv-xvii contributed a seeded partition of their own training projects instead — unseen pages in a hand the model trained on, which is the easier test. The figure above is one CER over both, so read it as mostly in-domain, not as a held-out-hands benchmark. Scoring the held-out projects on their own would give the stricter number.

Input granularity: give it one line, not a page

Trained on line crops (granularity: line, 262 144 pixels), and it reads that way. Measured 2026-09-22 with scripts/eval_granularity.py on the 14 held-out pages behind its own CER, against their ground truth:

input n CER length ratio
line crops 594 0.111 1.00
paragraphs, page budget 91 1.96 1.24
paragraphs, line budget 91 0.94 0.07
whole pages 14 1.00 0.001

Every one of the fourteen pages came back as two characters: "de" thirteen times, "te" once. Paragraphs fare no better — by length, a one-line paragraph returns 1.03 of the reference text, two to three lines 0.54, four to ten 0.15, more than ten lines 0.01, and two paragraphs looped ("und er und er …") to the token limit. Segment the page first and send one crop per call.

Details: thodel/serving-atr-inference#165.

Training data

  • dh-unibe/image-text_rats-und-richtebuecher_xv-xvi
    • Training projects: Rats-undRichtebücher_MF_1_3543, Rats-undRichtebücher_MF_1_3544, Rats-undRichtebücher_MF_1_3545, Rats-undRichtebücher_MF_1_3546, Rats-undRichtebücher_MF_1_3547, Rats-undRichtebücher_MF_1_3548, Rats-undRichtebücher_MF_1_3549, Rats-undRichtebücher_MF_1_3550, Rats-undRichtebücher_MF_1_3551, Rats-undRichtebücher_MF_1_3552, Rats-undRichtebücher_MF_1_3553, Rats-undRichtebücher_MF_1_3554, Rats-undRichtebücher_MF_1_3555, Rats-undRichtebücher_MF_1_3556, Rats-undRichtebücher_MF_1_3557, Rats-undRichtebücher_MF_1_3558, Rats-undRichtebücher_MF_1_3559, Rats-undRichtebücher_MF_1_3560, Rats-undRichtebücher_MF_1_3561, Rats-undRichtebücher_MF_1_3562, Rats-undRichtebücher_MF_1_3563, Rats-undRichtebücher_MF_1_3564, Rats-undRichtebücher_MF_1_3565, Rats-undRichtebücher_MF_1_3566, Rats-undRichtebücher_MF_1_3567, Rats-undRichtebücher_MF_1_3568, Rats-undRichtebücher_MF_1_3569, Rats-undRichtebücher_MF_1_3570, Rats-undRichtebücher_MF_1_3571, Rats-undRichtebücher_MF_1_3572, Rats-undRichtebücher_MF_1_3573, Rats-undRichtebücher_MF_1_3574, Rats-undRichtebücher_MF_1_3575, TRAINING_VALIDATION_SET_Richtebuecher_M1, Test_MF_1_3556_p_204
    • Evaluation: held-out projects escript_test, escript_test_2
  • dh-unibe/image-text_bullinger-autoren
    • Training projects: 0008_Aberlin_Joachim, 0049_Adlischwyler_Hans_Jakob, 0066_Adlischwyler_Johannes, 0152_Altieri_Baldassare, 0164_Amerbach_Bonifacius, 0179_Aquilomontanus_Hermann, 0224_a_Lasco_Johannes, 0257_Beyel_Werner, 0260_Bucher_Melchior, 0261_Buchser_Johannes, 0278_Bartholomäus_Adam, 0315_Bedrot_Jakob, 0319_Belényesi_Gergely, 0328_Bersius_Marcus, 0330_Bertlin_Bartholomäus, 0343_Biberli_Lienhart, 0350_Bing_Simon, 0351_Birck_Sixt, 0391_Bitter_Dietrich, 0392_Blarer_Ambrosius, 0396_Blasius_Johannes, 0403_Blankenheim_Lorenz, 0405_Blarer_Thomas, 0431_Boltz_Valentin, 0437_Borrhaus_Martin, 0459_Brennwald_Heinrich, 0461_Brunner_Fridolin, 0465_Brunner_Leonhard, 0467_Bucer_Martin, 0495_Bullinger_Heinrich, 0505_Burcher_John, 0506_Butler_John, 0536_Caesarius_Johannes, 0540_Calvin_Johannes, 0578_Capito_Wolfgang, 0581_Cassander_Georg, 0599_Claudius_Matthias, 0646_Coletto_Andrea, 0654_Comander_Johannes, 0659_Comte_Béat, 0667_Cousin_Gilbert, 0671_Coverdale_Miles, 0703_Crodel_Markus, 0714_Curione_Celio_Secondo, 0756_Distel_Georg, 0761_Danmatter_Christian, 0840_Drome_Michael, 0985_de_Hotot_Jean, 0987_del_Prato_Bartolomeo, 0991_Edelmann_Martin, 1001_Eliott_Nicholas, 1010_Erb_Matthias, 1039_Euander_Benedikt, 1041_Edlibach_Hans, 1045_Fischer_Ulrich, 1047_Frosch_Johannes, 1049_Farel_Guillaume, 1055_Frecht_Martin, 1056_Frick_Konrad, 1057_Fuchs_Peter, 1083_Schmid_aus_Bergheim_Johannes, 1184_Frey_Johannes_Leopold, 1185_Frey_Johann_Leopold, 1188_Frey_Johannes, 1214_Fries_Johannes, 1218_Frölich_Georg, 1250_Furtmüller_Johann_Valentin, 1262_Gallicius_Philipp, 1278_Gast_Johannes, 1286_Gessner_Konrad, 1309_Grübel_Sebastian, 1365_Grynäus_Simon, 1381_Gwalther_Rudolf, 1384_Geldenhauer_Gerhard, 1385_Gering_Beat, 1387_Gassner_Thomas, 1388_Guldi_Niklaus, 1391_Haller_Berchtold, 1393_Hegner_Gebhart, 1395_Hewer_Jakob, 1396_Hirt_Balthasar, 1399_Huber_Peter, 1402_Im_Haag_Peter, 1406_Haller_Sulpitius, 1407_Heim_Luzi, 1409_Hentius_Martin, 1410_Herbrot_Jakob, 1414_Hindermann_Heinrich, 1417_Hospinian_Leonhard, 1419_Haab_Johannes, 1445_Haller_Johannes, 1453_Haller_Wolfgang, 1456_Happel_Wigand, 1458_Hardenberg_Albert, 1548_Hilles_Richard_____, 1553_Hochholzer_Christian, 1560_Hooper_John, 1569_Hospinian_Christian, 1571_Hospinian_Johannes, 1753_Jud_Leo, 1758_Kilchrat_Hans, 1760_Kromer_Benedikt, 1761_Kuster_Heinrich, 1764_Kambli_Johannes, 1767_Kappeler_Veit, 1780_Keller_Diethelm, 1804_Kilchmeyer_Jodocus, 1810_Klauser_Konrad, 1837_König_Nikolaus, 1857_Kappeler_d_J__Veit, 1858_Karlstadt_Andreas, 1860_Keller_Michael, 1863_Knight_Thomas, 1864_Kolin_Peter, 1866_Kunz_Peter, 1868_Lüthi_Heinrich, 1884_Lavater_Ludwig, 1888_Lavater_Hans_Rudolf, 1903_Lening_Johannes, 1915_Lindauer_Bernhard, 1999_Lüthard_Konrad, 2000_Maler_Hans, 2003_Muntprat_Heinrich, 2004_Mutschli_Hans, 2005_Mösel_Wolfgang, 2013_Müller_gen__Maier_Nikolaus, 2095_Melanchthon_Philipp, 2115_Meyer_Lorenz, 2229_Musculus_Wolfgang, 2234_Myconius_Oswald, 2237_Mötteli_Martin, 2258_Macarius_Joseph, 2261_Maurer_Georg, 2262_Medmann_Peter, 2263_Megander_Kaspar, 2264_Melander_Dionysius, 2268_Müller_Bartholomäus, 2272_Meyer_Jakob, 2293_Frey_Hans_Rudolf, 2300_von_Ulm_Heinrich, 2302_Negri_Francesco, 2319_Naogeorg_Thomas, 2380_Oporin_Johannes, 2441_Oechsli_Ludwig, 2442_Oekolampad_Johannes, 2444_Pfiffer_Heinrich, 2446_Partridge_Nicholas, 2448_Pergener_Oswald, 2449_Peutinger_Claudius_Pius, 2452_Piscatorius_Johannes, 2455_Pistorius_Johannes, 2458_Platter_Thomas, 2508_Pellikan_Konrad, 2594_Pfister_Nikolaus, 2608_Pincier_Johannes, 2629_Pontisella_Johannes, 2700_Ratgeb_Hans, 2804_Ryhiner_Heinrich, 2806_Regel_Johannes, 2807_Renato_Camillo, 2808_Rhellikan_Johannes, 2810_Ritter_Erasmus, 2812_Ruman_Thoman, 2817_Reublin_Wilhelm, 2820_Sam_Konrad, 2821_Schappeler_Christoph, 2822_Schlittler_Heinrich, 2823_Schmid_Andreas, 2825_Schütz_Benedikt, 2826_Sellarius_Heinrich, 2828_Spörli_Konrad, 2829_Stadler_Georg, 2834_Stoll_Heinrich, 2836_Strübi_Heinrich, 2838_Schmid_Erasmus, 2839_Schmid_Felix, 2841_Schnyder_Peter, 2845_Schwenckfeld_Kaspar, 2846_Seger_Martin, 2847_Spaldinus_Johannes_Arlius, 2851_Stoll_Balthasar, 2916_Schertlin_Sebastian, 2943_Schuler_Gervasius, 2958_Serin_Leonhard, 2977_Simler_Josias, 2982_Simler_Peter, 3025_Stancaro_Francesco, 3067_Stumpf_Johannes, 3088_Sturm_Johannes, 3099_Sulzer_Simon, 3130_Stier_Sigismund, 3138_Thamer_Theobald, 3147_Thomann_Heinrich, 3175_Toxites_Michael, 3181_Traheron_Bartholomew, 3199_Tschudi_Ägidius, 3206_Tschudi_Valentin, 3239_Tillmann_Bernhard, 3240_Trebellio_Teodosio, 3306_Vadian_Joachim, 3410_Vermigli_Peter_Martyr, 3429_Viret_Pierre, 3446_Vogler_Hans, 3462_Volmar_Melchior, 3481_Vogt_Simprecht, 3493_von_Cham_Bernhard, 3700_von_Rümlang_Eberhard, 3858_von_Landenberg_Hans, 3860_von_Meggen_Jost, 3872_Warner_Francis, 3873_Weingartner_Rudolf, 3875_Werdmüller_Otto, 3876_Werdmüller_Ulrich, 3877_Westerburg_Gerhard, 3878_Widenhuber_Hans, 3889_Wyttenbach_Niklaus, 3891_Wäber_Johannes, 3927_Welser_Hans, 3938_Wick_Johann_Jakob, 3963_Wimpfer_Georg, 3964_Winzürn_Johannes, 3988_Wolf_Johannes, 4021_Wagner_Johannes, 4023_Wetter_Wolfgang, 4025_Wirz_Melchior, 4027_Wirz_Ulrich, 4030_Wähinger_Hans, 4033_Zehnder_Johannes, 4034_Zipperli_Hans, 4079_Zwick_Johannes, 4107_Zili_Dominik, 4112_thom_Camph_Gerhard, 4710_Enzinas_Francisco_de, TRAINING_VALIDATION_SET_2022-05-19__Bullinger_comb_M1, TRAINING_VALIDATION_SET_Blarer_Ambriosius__Proj_Bullinger, TRAINING_VALIDATION_SET_Blasius_Johannes__Proj_Bullinger, TRAINING_VALIDATION_SET_Borrhaus_Martin__Proj_Bullinger, TRAINING_VALIDATION_SET_Brunner_Fridolin__Proj_Bullinger, TRAINING_VALIDATION_SET_Bucer_Martin__Proj_Bullinger, TRAINING_VALIDATION_SET_Bullinger_Heinrich__Proj_Bullinger, TRAINING_VALIDATION_SET_Bullinger_Heinrich__Proj_Bullinger--mitBasemodel, TRAINING_VALIDATION_SET_Curione_Celio_Secondo__Proj_Bullinger, TRAINING_VALIDATION_SET_Grynäus_Simon__Proj_Bullinger, TRAINING_VALIDATION_SET_Gwalther_Rudolf__Proj_Bullinger, TRAINING_VALIDATION_SET_Haller_Berchtold__Project-Bullinger, TRAINING_VALIDATION_SET_Haller_Johannes__Proj_Bullinger, TRAINING_VALIDATION_SET_Hilles_Richard__Proj_Bullinger, TRAINING_VALIDATION_SET_Hochholzer_Christian__Proj_Bullinger, TRAINING_VALIDATION_SET_Karlstadt_Andreas__Proj_Bullinger, TRAINING_VALIDATION_SET_Megander_Kaspar__Proj_Bullinger, TRAINING_VALIDATION_SET_Myconius_Oswald__Proj_Bullinger, TRAINING_VALIDATION_SET_Schuler_Gervasius__Proj_Bullinger, TRAINING_VALIDATION_SET_Vadian__Proj_Bullinger, TRAINING_VALIDATION_SET_Vogt_Simprecht__Project-Bullinger, TRAINING_VALIDATION_SET_Zwick_Johann__Proj_Bullinger, TRAINING_VALIDATION_SET_von_Rümlang__Proj_Bullinger
    • Evaluation: a seeded page-level split of the training projects (partition=0.9, seed=42)
  • dh-unibe/image-text_koenigsfelden-charters-post-1500
    • Training projects: —
    • Evaluation: a seeded page-level split of the training projects (partition=0.9, seed=42)
    • Page cap: 6000
  • dh-unibe/image-text_aaeb-xiv-xvii
    • Training projects: B_168_14-11_1, B_168_14-11_2, B_168_14-11_3, B_168_14-12, B_168_14-14_1, B_168_14-15_1, B_168_14-15_2, B_168_14-16, B_168_14-17_1, B_168_14-17_2, B_168_14-17_3, B_168_14-17_4, B_168_14-17_5, B_168_14-17_6, B_168_14-18, B_168_14-19, B_168_14-20_1, B_168_14-20_2, B_168_14-20_3, B_168_14-21_1, B_168_14-21_2, B_168_14-21_3, B_168_14-21_4, B_168_14-21_5, B_168_14-22_1, B_168_14-22_2, B_168_14-22_3, B_168_14-22_4, B_168_14-22_5, B_168_14-22_6, B_168_14-23_1, B_168_14-23_2, B_168_14-23_3, B_168_14-23_4, B_168_14-24_1, B_168_14-24_2, B_168_14-24_3, B_168_14-24_4, B_168_14-24_5, B_168_14-24_6, B_168_14-25_1, B_168_14-25_2, B_168_14-26_1, B_168_14-26_2, B_168_14-26_3, B_168_14-26_4, B_168_14-26_5, B_168_14-26_6, B_168_14-26_7, B_168_14-26_8, B_168_14-27_1, B_168_14-27_2, B_168_14-27_3, B_168_14-27_4, B_168_14-28_1, B_168_14-28_2, B_168_14-28_3, B_168_14-29_1, B_168_14-29_2, B_168_14-29_3, B_168_14-29_5, B_168_14-29_6, B_168_14-29_8, B_168_14-30_1, B_168_14-30_2, B_168_14-30_3, B_168_14-31_1, B_168_14-31_2, B_168_14-31_3, B_168_14-31_4, B_168_14-32_1, B_168_14-32_2, B_168_14-32_3, B_168_14-32_4, B_168_14-33_1, B_168_14-33_2, B_168_14-33_3, B_168_14-34, B_168_14-35_1, B_168_14-35_2, B_168_14-35_3, B_168_14-35_4, B_168_14-36_1, B_168_14-36_2, B_168_14-36_3, B_168_14-36_4, B_168_14-36_5, B_168_14-37_1, B_168_14-37_2, B_168_14-39_1, B_168_14-40_1, B_168_14-40_2, B_168_14-42, B_168_14-5, B_168_14-6, B_168_14-7_1, B_168_14-7_2, B_168_14-8, B_168_14-9, B_168_15-10_1, B_168_15-10_2, B_168_15-10_3, B_168_15-11_1, B_168_15-11_2, B_168_15-11_3, B_168_15-11_4, B_168_15-12_1, B_168_15-12_2, B_168_15-12_3, B_168_15-12_5, B_168_15-12_6, B_168_15-12_8, B_168_15-17_1, B_168_15-20_2, B_168_15-20_3, B_168_15-20_4, B_168_15-20_5, B_168_15-20_6, B_168_15-23_1, B_168_15-23_2, B_168_15-23_3, B_168_15-23_4, B_168_15-23_5, B_168_15-24_2, B_168_15-27_3, B_168_15-27_4, B_168_15-27_6, B_168_15-27_7, B_168_15-2_1, B_168_15-2_2, B_168_15-2_3, B_168_15-2_4, B_168_15-30_3, B_168_15-30_4, B_168_15-30_6, B_168_15-30_7, B_168_15-30_8, B_168_15-33, B_168_15-5_1, B_168_15-5_2, B_168_15-5_3, B_168_15-5_4, B_168_15-5_5, B_168_15-5_6, B_168_15-6_1, B_168_15-6_3, B_168_15-7, B_168_15-8_16, B_168_15-8_17, B_168_15-8_2, B_168_15-8_3, B_168_15-9_2, B_168_15-9_4, B_168_16-1_1, B_168_16-1_2, B_168_16-33_2, B_168_16-33_3, B_168_16-35_3, B_168_16-35_4, B_168_16-35_5, B_168_16-36_5, B_168_16-36_6, B_168_16-37_3, B_168_16-38_2, B_168_16-38_5, B_168_16-3_2, B_168_16-3_4, B_168_16-3_6, B_168_16-3_7, B_168_16-40_2, B_168_16-40_3, B_168_16-40_5, B_168_16-40_6, B_168_16-40_7, B_168_16-40_8, B_168_16-4_1, B_168_16-4_2, B_168_16-5_1, B_168_16-5_2, B_168_16-5_3, B_168_16-6_1, B_168_16-6_2, B_168_16-9_12, B_168_16-9_3, B_168_16-9_6, B_168_16-9_7, B_168_16-9_8, B_168_17-14_4, B_168_17-14_5, B_168_17-15_5, B_168_17-15_6, B_168_17-15_7, B_168_17-16_3, B_168_17-16_4, B_168_17-1_2, B_168_17-1_3, B_168_17-1_4, B_168_17-1_5, B_168_17-1_6, B_168_17-21_2, B_168_17-21_4, B_168_17-22_2, B_168_17-22_3, B_168_17-2_1, B_168_17-2_2, B_168_17-2_4, B_168_17-30_1, B_168_17-3_3, B_168_17-45_2, B_168_17-48_2, B_168_17-48_3, B_168_17-48_4, B_168_17-4_2, B_168_17-6_5, B_168_17-6_6, B_168_17-8_2, B_168_17-8_3, B_168_17-8_4, B_168_17-8_5, B_168_17-8_6, B_168_17-8_7, B_168_18-12_6, B_168_18-13_2, B_168_18-15_1, B_168_18-15_4, B_168_18-1_4, B_168_18-22_2, B_168_18-24_10, B_168_18-5_1, B_168_18-8_4, B_168_18-9_1, B_168_18-9_2, B_168_18-9_3, B_168_19-1, B_168_19-20_2, B_168_19-20_4, B_168_19-20_5, B_168_19-21_1, B_168_19-24_5, B_168_19-28_1, B_168_19-28_10, B_168_19-28_15, B_168_19-28_16, B_168_19-28_2, B_168_19-28_3, B_168_19-28_33, B_168_19-29_1, B_168_19-29_2, B_168_19-29_3, B_168_19-29_4, B_168_19-29_5, B_168_19-29_6, B_168_19-2_1, B_168_19-2_2, B_168_19-30_1, B_168_19-30_15, B_168_19-30_16, B_168_19-30_6, B_168_19-35_1, B_168_19-35_10, B_168_19-35_11, B_168_19-35_12, B_168_19-35_13, B_168_19-35_14, B_168_19-35_15, B_168_19-35_16, B_168_19-35_17, B_168_19-35_18, B_168_19-35_2, B_168_19-35_3, B_168_19-35_4, B_168_19-35_5, B_168_19-35_6, B_168_19-35_7, B_168_19-35_8, B_168_19-35_9, B_168_19-3_1, B_168_19-3_2, PCrim_Dt_(ville)_6-1, PCrim_Dt_(ville)_6-10, PCrim_Dt_(ville)_6-7, PCrim_Dt_(ville)_6-9, PCrim_E_10-1, PCrim_E_10-2, PCrim_E_12-1, PCrim_E_12-2, PCrim_E_128-5, PCrim_E_14-1, PCrim_E_14-2, PCrim_E_142-3, PCrim_E_155-1, PCrim_E_156-1, PCrim_E_156-3, PCrim_E_156-7, PCrim_E_163-3, PCrim_E_30-1, PCrim_E_30-2, PCrim_E_300-17, PCrim_E_300-18, PCrim_E_332-10, PCrim_E_332-11, PCrim_E_332-12, PCrim_E_332-13, PCrim_E_332-14, PCrim_E_332-16, PCrim_E_332-18, PCrim_E_332-19, PCrim_E_332-2, PCrim_E_332-20, PCrim_E_332-22, PCrim_E_332-24, PCrim_E_332-28, PCrim_E_332-29, PCrim_E_332-3, PCrim_E_332-4, PCrim_E_332-5, PCrim_E_332-6, PCrim_E_332-7, PCrim_E_332-9, PCrim_E_399, PCrim_E_428-36, PCrim_E_55-1, PCrim_E_55-2, PCrim_E_6, PCrim_E_69-2, PCrim_E_7, PCrim_E_70-1, PCrim_E_70-2, PCrim_E_76-1, PCrim_E_76-2, PCrim_E_78-1, PCrim_E_78-11, PCrim_E_78-2, PCrim_E_85-1, PCrim_E_85-2, PCrim_LN_4, PCrim_LN_6-2, PCrim_LZ_24-2, PCrim_LZ_25-19, PCrim_SU_21, TRAINING_VALIDATION_SET_AAEB_FFC_V3, TRAINING_VALIDATION_SET_AAEB_FFC_v0, TRAINING_VALIDATION_SET_AAEB_FFC_v0_1, TRAINING_VALIDATION_SET_AAEB_FFC_v0_3, TRAINING_VALIDATION_SET_AAEB_FFC_v1, TRAINING_VALIDATION_SET_AAEB_FFC_v2, TRAINING_VALIDATION_SET_AAEB_FFC_v3_1, TRAINING_VALIDATION_SET_AAEB_mixte_v4, TRAINING_VALIDATION_SET_FFC_v0_2
    • Evaluation: a seeded page-level split of the training projects (partition=0.9, seed=42)

Materialized from that selection: 12,301 pages, 325,174 transcribed lines, 325,651 training samples.

Trained with the instruction: Transcribe the handwritten text in this image exactly as written. — serving it with different wording is a silent distribution shift.

Hyperparameters

granularity: line
prompt: Transcribe the handwritten text in this image exactly as written.
load_in_4bit: false
lora_r: 64
lora_alpha: 128
lora_dropout: 0.05
target_modules:
- q_proj
- k_proj
- v_proj
- o_proj
- gate_proj
- up_proj
- down_proj
modules_to_save: []
epochs: 1
max_epochs: null
patience: 2
min_delta: 0.0001
batch_size: 16
accumulate_grad_batches: 1
lrate: 0.0002
lr_scheduler: cosine
warmup_ratio: 0.05
weight_decay: 0.0
max_grad_norm: 1.0
optim: paged_adamw_8bit
gradient_checkpointing: true
save_steps: 200
max_pixels: 262144
max_seq_len: 1024
min_train_chars: 0
eval_samples: 200
max_new_tokens: null
seed: 42
workers: 8
device: cuda:0
wandb_run: null

Provenance

engine vllm
base model Qwen/Qwen3-VL-4B-Instruct
training job 20260915T055400Z-qwen3vl-medieval-german-v3
trained 2026-09-16T02:51:05.868548+00:00
weights adapter_config.json, adapter_model.safetensors, added_tokens.json, chat_template.jinja, merges.txt, preprocessor_config.json, special_tokens_map.json, tokenizer.json, tokenizer_config.json, training_summary.json, video_preprocessor_config.json, vocab.json

metadata.json in this repo is the record the trainer wrote, verbatim: the full request, the parsed metrics and the job id.

Using it

This is a LoRA adapter, not a full model — it needs its base:

from peft import PeftModel
from transformers import AutoModelForImageTextToText, AutoProcessor

base = AutoModelForImageTextToText.from_pretrained('Qwen/Qwen3-VL-4B-Instruct')
model = PeftModel.from_pretrained(base, 'dh-unibe/qwen3vl-medieval-german-v3')
processor = AutoProcessor.from_pretrained('dh-unibe/qwen3vl-medieval-german-v3', trust_remote_code=True)

vLLM 0.11 will not serve it as an adapter (it refuses LoRA on the vision tower), so serving means merging it into the base first — scripts/merge_loras.py in serving-atr-inference does that.

Notes

SCOPE OF THE HEADLINE CER. The reported 0.1120 was measured on the FIRST 200 lines of val.jsonl, which for this corpus are the held-out projects escript_test and escript_test_2 (the test stage took the head of the file until commit 4785410). It is therefore a held-out number, not the mostly-in-domain one the generated caveat below assumes.\n\nRe-scored afterwards on two disjoint subsets:\n held-out (escript_test + escript_test_2, all 594 lines): CER 0.1109, WER 0.2747\n in-domain (seeded draw of 200 from the other 18,475 lines): CER 0.1427, WER 0.3601\n\nThe held-out set scores BETTER, and the reason is the source mix rather than the split: escript_test is Rats- und Richtebuecher material, of which the model saw 139,708 training lines, so it is an unseen project in a very familiar hand. The in-domain draw spreads over all four repositories. Per source on that draw: aaeb-xiv-xvii 0.0979, bullinger-autoren 0.1301, koenigsfelden-charters 0.1574.\n\nUSE 0.14 as the figure describing this model on this corpus, and 0.11 as the figure on one held-out project. Quoting only 0.11 would overstate it.

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

Model tree for dh-unibe/qwen3vl-medieval-german-v3

Adapter
(209)
this model

Datasets used to train dh-unibe/qwen3vl-medieval-german-v3