Přeskočit na obsah
Čísla 3 min čtení

Knihovna Transformers vypsala od února 33 nekompatibilních změn v jedenácti vydáních

Verze 5.15.0 knihovny Transformers vyšla 10. srpna 2026 a pod nadpisem Breaking changes má čtyři položky. Od lednového vydání pětky jich projekt vypsal 33, rozdělených do jedenácti vydání; jedno z nich bylo opravné. U jedné z dnešních změn popisují poznámky přísnější stav, než jaký je v kódu.

Textový editor s kódem v Pythonu a vedle něj okno s vykresleným grafem
Transformers je obyčejný pythonový balíček. Co se v něm mezi verzemi rozbije, se dá zjistit jedině z poznámek k vydání. Foto: MikeRun, Wikimedia Commons (CC BY-SA 4.0)

Hugging Face vydal 10. srpna 2026 verzi 5.15.0 knihovny Transformers. Je to balíček, přes který se v Pythonu načítají a spouštějí jazykové modely, a jeho poznámky k vydání mají vlastní oddíl nadepsaný Breaking changes. Tentokrát v něm stojí čtyři položky.

Co dnešní vydání rozbije

První změna se týká takzvaných kernelů, tedy ručně optimalizovaných výpočetních rutin pro grafické karty. U modelů s lineární pozorností (Mamba, GDN a další) se dosud vybíraly samy; návrh změny 47630 z nich udělal volbu, kterou si uživatel musí zapnout. Sáhl přitom na 43 souborů.

Druhá mění ořez cache, tedy vyrovnávací paměti klíčů a hodnot, kterou si model drží mezi jednotlivými tokeny. Metoda crop() brala dosud absolutní velikost, na kterou se má cache zkrátit; nově bere záporné číslo, tedy počet tokenů k odebrání (návrh 47720).

Třetí zapíná u rodiny modelů T5 rozhraní ALL_ATTENTION_FUNCTIONS, takže se výchozí implementace pozornosti může změnit z dosavadní jediné cesty na SDPA. Kdo potřebuje starý stav, musí podle poznámek nastavit attn_implementation="eager" (návrh 47014).

Čtvrtá je nejrozsáhlejší: návrh 46556 upravil 105 souborů s procesory multimodálních modelů a odstranil z nich soukromé pomocné funkce. V jeho rozdílu je vidět třeba _is_str_or_image u PaliGemmy, _insert_media_placeholders u InternVL nebo _expand_image_tokens u LLaVA-OneVision. Kdo si je zavolal z vlastního kódu, dostane po aktualizaci chybu.

Třiatřicet položek v jedenácti vydáních

Dnešní čtyřka není výjimka. Prošli jsme přes API GitHubu poznámky ke všem vydáním řady 5 a spočítali odrážky pod nadpisem Breaking changes; verzi 5.0.0 jsme vynechali, protože její poznámky jsou přechodový návod o 104 000 znacích, kde je nekompatibilních změn celý dokument.

vydánípoložek
5.1.0 (5. 2.)6
5.2.0 (16. 2.)3
5.3.0 (4. 3.)4
5.4.0 (27. 3.)5
5.5.0 (2. 4.)2
5.6.0 (22. 4.)1
5.8.0 (5. 5.)1
5.9.0 (20. 5.)1
5.10.1 (3. 6.)2
5.13.0 (3. 7.)4
5.15.0 (10. 8.)4

Dohromady 33 položek v jedenácti vydáních z 27, která po pětce vyšla. Dvaatřicet z nich má u sebe výstražný znak, kterým projekt nekompatibilní změny odlišuje; jedna v 5.2.0 ho nemá a pod nadpisem stojí jen tak. Projekt je tedy vypisuje sám a na jednom místě, takže kdo poznámky před aktualizací otevře, dozví se o nich předem.

Pozoruhodná je devátá řádka. Verze 5.10.1 je opravná, tedy taková, u které se mění jen poslední číslo, a přesto v ní jsou dvě nekompatibilní změny: oprava přetečení ve float16 u vizuálního pooleru Gemmy 4 a přidání základního modelu bez hlavy do ALM. Kde by se pravidlo o verzování dalo čekat, tedy v CONTRIBUTING.md a v obsahu dokumentace, žádná stránka o významu čísel verze nestojí.

Poznámka k vydání je přísnější než kód

U ořezu cache poznámky tvrdí, že metoda „nově přijímá pouze záporné hodnoty“ a že kdo ji volá přímo, musí si kód upravit. Soubor cache_utils.py ve značce 5.15.0 to má odstupňované do tří podob.

Běžná vrstva DynamicLayer kladné číslo pořád přijme. Zaloguje varování, že „volání crop s kladnou hodnotou je zastaralé a bude odstraněno ve verzi 5.18“, a pak si hodnotu sama přepočítá. Vrstva s posuvným oknem vyhodí RuntimeError, ale jen tehdy, když už okna dosáhla; dokud je pod ním, chová se jako ta běžná. A u vrstev s lineární pozorností kladné číslo skončí chybou vždy.

Pro čtenáře, který balíček aktualizuje, je to rozdíl mezi „program spadne“ a „program napíše varování do logu a počítá dál“. Skutečné odstranění je v kódu naplánované na 5.18 a stejné lhůty nesou v témže souboru další čtyři zastaralé parametry; metoda get_max_cache_shape má mizet už v 5.16, tedy v příštím vydání.

Ne každá vydaná verze má poznámky

Seznam nekompatibilních změn žije jen v poznámkách k vydání, a ten záznam není úplný. Evidence PyPI zná 29 verzí řady 5, GitHub jich má vypsaných 28. Verze 5.10.4 z 15. června je na PyPI a instaluje se stejně jako kterákoli jiná, jenže na GitHubu k ní není ani značka, ani poznámky. Naopak 5.10.3 má značku i poznámky, ale na PyPI chybí.

Sledovat vývoj knihovny přes hlavní větev místo vydaných verzí přitom taky nestačí: hlavní větev přestala den před tímhle vydáním vydávat starý soubor z cache za aktuální, a i to byla změna chování, kterou uživatel pozná až podle výsledku.

Praktický důsledek je nudný, ale konkrétní. Kdo má Transformers v závislostech zapsaný jako >=5, může si aktualizací přinést kteroukoli ze 33 změn najednou. Zápis s horní mezí na pořadovou verzi ho o ně nepřipraví, jen mu dá vybrat, kdy je vezme.

Zdroje

Diskuse

Zatím tu nikdo nediskutuje. Můžete být první.

Napsat příspěvek

Diskutovat můžete i bez účtu. S registrací se ale příspěvek zveřejní hned a nemusíte pokaždé vyplňovat jméno. Účet už máte? Přihlaste se.

Nezveřejňujeme ho, slouží jen redakci.

Podporuje zápis Texy: **tučně**, *kurzíva*, odrážky, odkazy.

Dál k tématu

  1. Čísla

    Bez jasného pokynu modely při doučování matematiky příliš napovídají, ukázal test Ai2

    Institut Ai2 zveřejnil TutorMoments, měřítko postavené na 462 přepisech skutečného doučování matematiky. Sedmi jazykovým modelům dal roli doučovatele: bez bližšího…

  2. Čísla

    DFlash v hlavní větvi Ollamy zrychlil Lagunu-S při úpravách o 59 %, u prózy ji zpomalil

    Ollama přidala 8. srpna do hlavní vývojové větve blokové spekulativní dekódování DFlash pro modely Laguna. V jejím měření na M5 Max vzrostla rychlost Laguny-S při…

  3. Čísla

    OpenAI snížila ceny modelů GPT-5.6 Luna a Terra, aniž vydala nový model

    Od 30. července stojí GPT-5.6 Luna o 80 procent méně a Terra o 20 procent méně než dřív; OpenAI to zdůvodňuje úsporami v provozu, ne novým modelem. Čínský DeepSeek…

  4. Čísla

    LongCat-Flash-Lite-Sparse má pod MIT 138 GB vah a plné okno přidá dalších 16 GB

    Meituan dal 31. července na Hugging Face váhy modelu LongCat-Flash-Lite-Sparse. Má 69 miliard parametrů, licenci MIT bez jakýchkoli prahů a kontextové okno 983 040…