Document six completed LR runs as preparation for full Aya training on Perun. Record selection of LR 0.00010 by lowest final validation loss, selected-model lm-eval and partial SK-bench results, reproducible provenance, and dataset-access/context-truncation limitations. Preserve existing 30k and Titan material.
8.4 KiB
Audit úspešného čiastočného SK-bench behu
Vybraný model po tréningu na 300k vzorke Aya s LR 0.00010 dokončil beh sk_zero_available_without_nli_lr_0p00010_20261022_185255. Log končí hláškou Benchmarking completed. a obsahuje výsledné metriky. Benchmarkovalo sa iba toto LR, vybrané podľa najnižšieho finálneho validačného loss zo šiestich tréningových behov; výsledky preto neporovnávajú benchmarkovú kvalitu šiestich LR ani budúceho tréningu na celej Aya množine.
Pokrytie a počty
- Zoznam
configs/tasks.txt, 222 konfigurácií úloh vo výslednom JSON a 222 súborov DETAILS sa zhodujú. Názvy sa pri porovnaní dekódujú z Windows%3A/%7Ca normalizuje sa koncové označenie zero-shot variantu. - Vyhodnotených bolo 222 zo 412 pôvodných task variantov: 74 kombinácií úlohy/subtasku, každá s tromi promptmi. Ide o 13 rodín úloh. MMLU tvorí 171 variantov (57 predmetov × 3 prompty).
- DETAILS obsahujú 159 426 vyhodnotených inštancií, po 53 142 na každý prompt. Tri prompty opakovane hodnotia tie isté základné testové otázky; 159 426 nie je počet nezávislých otázok ani dôkaz unikátnosti medzi rôznymi datasetmi.
configs/omitted_tasks.txtobsahuje 190 vynechaných variantov. Report dostupnosti eviduje 12 nedostupných repozitárov so 187 variantmi; tri ďalšie vynechané varianty patria samostatnému NLI-SK. Historický access report uvádza NLI-SK akoOK, ale jeho tri varianty v konečnom behu nie sú. NLI úlohy z rodiny SKLEP zostali zahrnuté.max_samples: nullznamená, že beh nemal globálny limit vzoriek. Počty sa získali z metadát jednotlivých DETAILS súborov, nie zo zaokrúhlených metrík.
Tento dostupný subset sa nesmie označovať za oficiálne kompletné SK-bench skóre. Chýbajúce úlohy ani chýbajúce rodiny sa neimputovali.
Zaznamenané nastavenie
Výsledný JSON potvrdzuje bfloat16, kontext 32768, tensor/data/pipeline parallelism 1/1/1, využitie GPU pamäte 0.85, seed modelu 1234, teplotu 0 a enforce_eager: true. Pole generation_parameters.seed je null; konkrétny seed je uložený v model_config.seed. Všetky úlohy majú num_fewshots: 0.
216 task variantov používa najviac 32 generovaných tokenov a šesť QA variantov 126 tokenov; stop sekvencia je nový riadok. Tieto limity výstupu treba pri porovnaní výsledkov zachovať. Záznam neobsahuje spoľahlivý počet odpovedí ukončených výstupným limitom.
Zmrazený commit SK-bench je 15823bbcc2d995e69441fcb7d34abb61bd8180c5. Pôvodné lighteval_sha vo výslednom JSON je ?; tento údaj sa dodatočne nevymýšľa. uv.lock, commit, modelová konfigurácia, per-task konfigurácie a revízie datasetov sú uchované v provenance/ a configs/. Log zaznamenáva aj runtime patchovanie; samotný commit a lock preto bez rovnakého postupu nie sú úplným dôkazom identického prostredia.
Orezanie dlhých vstupov
Kontrola projektovala model_response.truncated_tokens_count zo všetkých 222 DETAILS súborov, bez čítania duplicitného generation cache. Všetkých 159 426 hodnôt existuje, žiadna nie je null a všetky sú nula. Aj pôvodné súhrnné počítadlá sú nulové vrátane non_truncated, takže samy osebe nepotvrdzujú neprítomnosť orezania.
Log priamo potvrdzuje orezanie kontextu. Vyhľadanie truncat bez rozlíšenia veľkosti písmen našlo presne jednu hlášku, na LF riadku 16033:
context_size + max_new_tokens=53860 which is greater than self.max_length=32768. Truncating context to 32642 tokens.
Následná diagnostika dĺžok zo všetkých DETAILS našla 69 tokenových polí presne na vstupnom limite 32 642 tokenov, po 23 v každom z troch variantov multi_wiki_qa. Vo všetkých troch sa opakujú tie isté indexy riadkov. Žiadne uložené pole neprekročilo príslušný limit 32768 − generation_size; ostatné úlohy mali vstupy pod limitom. Súvisiace uložené reťazce vstupu mali pri hraničných riadkoch až 121 852 znakov.
Týchto 69 riadkov sú hraniční kandidáti zodpovedajúci orezaniu, nie spoľahlivo dokázaný počet orezaných vstupov. Log neuvádza identifikátor konkrétneho tasku ani počet dotknutých vzoriek. Bez opätovnej tokenizácie pôvodných vstupov nemožno z dĺžky uloženého reťazca určiť pôvodnú dĺžku v tokenoch alebo počet odstránených tokenov. Overený záver je: orezanie nastalo aspoň raz; jeho presný rozsah nie je z dostupných počítadiel známy.
Strojový súhrn preto obsahuje context_truncation_observed_in_log: true, actual_truncated_sample_count: null a nulové počítadlá označuje prefixom details_reported_. Podrobnosti sú v results/truncation_audit_per_task.csv, results/log_truncation_evidence.json, results/input_length_diagnostics_per_task.csv a results/input_length_budget_boundary_rows.csv.
Metriky a agregácia
results/per_task_metrics.csv obsahuje iba 222 reálne vykonaných task variantov, ich skutočné metriky a štandardné chyby priamo z výsledného JSON. Prioritná metrika na čítanie je em_relaxed, prípadne em_norm_relaxed, ak ju daná úloha skutočne používa. QA má vlastné metriky exact_match_slk_prefix a f1_slk; nepremenúvajú sa na všeobecnú accuracy.
Odvodené súhrny nikdy nemiešajú odlišné metriky do jedného skóre:
family_summary.csv: priemer v rodine, vždy osobitne pre konkrétnu metriku, cez všetky dostupné subtasky a tri prompty.family_prompt_summary.csv: tá istá agregácia osobitne pre prompt 1, 2 a 3.three_prompt_summary.csv: priemer troch promptov pre každú zo 74 konkrétnych kombinácií úlohy/subtasku, opäť pre každú metriku osobitne.task_macro_meanje aritmetický priemer task metrík s rovnakou váhou každého variantu.sample_weighted_meanváži tieto metriky počtom riadkov v DETAILS. Prompty sa v oboch prípadoch považujú za opakované vyhodnotenia, nie za nové nezávislé otázky. Súhrnné intervaly spoľahlivosti sa z per-task chýb nevymýšľajú.
Pôvodný JSON má 226 kľúčov výsledkov: 222 úloh, tri vstavané MMLU promptové priemery a all. Štyri agregované riadky sú zachované v pôvodnom JSON, ale v odvodených súhrnoch sa znovu nepripočítavajú. all obsahuje viac metrík s rôznymi sadami úloh a netvorí oficiálne celkové skóre.
Napríklad MMLU em_relaxed má task macro priemer 0.1600941253 a sample-weighted priemer 0.1572245190. Rozdiel vzniká rôznou veľkosťou 57 predmetov. SKLEP klasifikačné úlohy s em_norm_relaxed majú macro 0.3507994510, ale sample-weighted 0.2144044321; výber váh tu zásadne mení opisný výsledok.
Obnovenie auditu
Audit používa Python a pyarrow==26.0.0. Knižnica sa pri spracovaní nainštalovala len do pomocného priečinka pracovného projektu; nie je súčasťou tohto stromu. Pôvodné parquety, cache ani váhy sa do Git podkladov nekopírujú. Na opätovný audit treba samostatne rozbalený zdrojový archív a jeho archive_manifest.json.
Archív treba najprv rozbaliť pomocou uloženého pomocného skriptu (Python 3.11+), ktorý vytvorí aj archive_manifest.json a archive_summary.json. Názvy s : a | prevedie na prenosné percent-encoded názvy a zachová mapovanie na originál. Priečinok určený cez --output musí byť nový alebo prázdny:
python scripts/unpack_results_archive.py \
--archive /path/to/aya_300k_benchmarky_20261024_215708.tar.gz \
--output /path/to/extracted/archive
Z koreňa experimentu možno potom spustiť:
python -m pip install --target .audit-deps -r benchmarks/skbench/provenance/requirements-audit.txt
python benchmarks/skbench/provenance/audit_skbench.py \
--source /path/to/extracted/archive \
--output benchmarks/skbench \
--pyarrow-path .audit-deps
python benchmarks/skbench/provenance/input_length_diagnostics.py \
--source /path/to/extracted/archive \
--output benchmarks/skbench/results \
--pyarrow-path .audit-deps
Prvý skript kontroluje pokrytie, kopíruje malé pôvodné artefakty, počíta metrikové súhrny a overuje truncation counter projekciou jediného stĺpca. Druhý skript projektuje uložené tokenové polia a vstupné reťazce, ale exportuje iba ich dĺžky a indexy hraničných riadkov. Texty otázok a odpovedí v týchto odvodených diagnostikách nie sú.
SHA-256 presných kópií pôvodných súborov je v provenance/copied_files_sha256.csv; zdrojový archív identifikuje provenance/archive_summary.json.