Přeskočit na obsah
U sebe doma 4 min čtení

Ollama pozastavila převod starších modelů, po kterém zabíraly na disku dvojnásobek

Ollama 0.40 začala bez ohlášení přepisovat starší stažené modely do tvaru, který llama.cpp přečte bez záplat, a původní soubor nechávala vedle jako zálohu. Převedené modely tak na disku zabíraly dvakrát tolik. Od verze 0.40.3 je převod pozastavený, zálohy ale na discích zůstaly a slíbené mazání zatím nepřišlo.

Kdo má modely stažené přes Ollamu starší než verze 0.40, mohl si v posledních týdnech všimnout, že mu ubylo místo na disku. Ollama 0.40 totiž začala tyhle modely při prvním spuštění přepisovat do nového tvaru a původní soubor si nechala vedle. Vysvětlení přišlo až v poznámkách k verzi 0.40.2 z 8. října: zálohy prý umožní bezpečný návrat ke starší verzi a některé z příštích vydání je smaže samo. Den nato převod pozastavili a verze 0.40.3 už ho nespouští. Zálohy, které do té doby vznikly, na discích leží dál.

Disk NVMe ve formátu M.2 s nálepkou Western Digital
Disk NVMe Western Digital SN850X s kapacitou 8 TB. Foto: 4300streetcar, Wikimedia Commons (CC BY 4.0)

Proč Ollama stažené modely vůbec přepisuje

Od verze 0.30 z května pouští Ollama modely ve formátu GGUF přes llama-server z projektu llama.cpp. Část modelů v její knihovně ale měla metadata a uspořádání vah, které uměl jen dřívější vlastní engine Ollamy. Aby je lidé nemuseli stahovat znovu, dostala Ollama vrstvu kompatibility: při každém načtení model přeloží v paměti do tvaru, kterému llama.cpp rozumí. Její vlastní README ji označuje za dočasnou. Cílový stav je takový, že modely budou ve správném tvaru přímo na disku a vrstva zmizí.

Verze 0.40 k tomu cíli udělala první krok. Model, který plánovač poslal starou cestou, při spuštění na pozadí přepsala do nového souboru. Kód, který převod spouští, stojí v souboru server/routes.go ve značkách 0.40.0, 0.40.1 i 0.40.2. Netýká se to modelů, které na počítačích s Apple Silicon běží přes MLX.

Verze 0.40.0 začala modely převádět bez ohlášení

Poznámky k verzi 0.40.0 mluví jen o tom, že na Apple Silicon poběží podporované modely přes MLX. O převodu v nich není ani zmínka. Stránka vydání u nich uvádí 25. září, to je ale čas prvního kandidáta; značka hotové verze nese datum 6. října. Uživatelé převod začali hlásit hned druhý den. Jednomu na Windows přestal fungovat model qwen3.5:9b, protože převod zapsal jeho manifest jako symbolický odkaz a systém ho odmítl otevřít. Opravu přinesla verze 0.40.1. Jiný uživatel na macOS viděl ve výpisu ollama list týž model dvakrát a k němu třetí položku pojmenovanou llamacpp: s dlouhým otiskem.

Druhý den se pod vlastním hlášením ptal i jeden ze spolupracovníků projektu na GitHubu, co je adresář manifests-v2 a proč tak zjevná změna struktury nebyla ohlášená.

Záloha stojí tolik místa jako model sám

Uživatel, který se k hlášení #18830 připojil s verzí 0.40.1, změřil, kolik místa převod spotřeboval. Původní soubor zůstal a převedený se zapsal vedle něj, takže každý převedený model zabíral zhruba dvojnásobek. Na jeho počítači šlo o čtyři modely:

modelnavíc na disku
gpt-oss:20b13,79 GB
qwen2.5vl:3b3,20 GB
ministral-3:3b2,95 GB
embeddinggemma:300m0,62 GB

Dohromady je to 20,56 GB. Smazat záložní položku příkazem ollama rm nepomohlo: při dalším načtení modelu se vytvořila znovu. Převod navíc změnil otisk, pod kterým model vypisuje rozhraní /api/tags, takže nástroje, které podle něj poznávají aktualizaci, měly všechny čtyři modely za nové. Samotný soubor s vahami se přitom nezměnil.

Vývojáři Ollamy duplicitní řádky ve výpisu schovali změnou #18874, která šla do verze 0.40.2. V jejím popisu stojí, že obě kopie se drží dočasně kvůli návratu ke starší verzi a že staré soubory odstraní některé z příštích vydání. Prostor na disku tím schování neuvolní.

Převod skončil kvůli zátěži při běžných dotazech

Změna #18908 ze 9. října převod zakomentovala. Podle jejího popisu přidával práci každému požadavku a zatěžoval správu paměti, což vadilo hlavně při velkém počtu dotazů, třeba na modely pro vektory textu. Ve značkách 0.40.3 až po zatím poslední 0.40.7 je volání převodu opatřené poznámkou, že se má znovu zapnout. Poznámky k těm pěti vydáním o mazání záloh mlčí.

Kudy se převod vrátí, ukazuje otevřený návrh #18882. Vrstvu kompatibility odstraní a starý model převede ve chvíli, kdy se má poprvé načíst. Načítání na převod počká a nepotřebné staré soubory se uklidí hned po něm a při startu serveru. Autor návrhu změřil, co to udělá s prvním spuštěním. Gemma 3 4B o velikosti 3,34 GB na disku SATA SSD s kartou GTX 1060 se převáděla 36,46 s a první token přišel po 41,71 s místo 13,60 s. U GPT-OSS 20B (13,79 GB) na NVMe v počítači s M3 Ultra trval převod 12,25 s a první token se posunul ze 4,78 na 13,80 s. Platí to jednou, převedený model se příště načítá jako dřív. Jiná měření než autorova v návrhu nejsou.

Co se dá se zálohami udělat dnes

Poznámky k verzi 0.40.2 uvádějí krátký skript pro curl a jq, který projde modely přes místní rozhraní Ollamy, najde zálohy po převodu a smaže je. Nevyzkoušeli jsme ho, píšeme podle dokumentace. Podle týchž poznámek maže jen zálohy; kdo by se pak vrátil k verzi starší než 0.40, musí si převedené modely stáhnout znovu.

Jiný druh přechodu potkal rozhodovací modely, mezi které patří i Clef od Cloudflaru. Verze 0.40.4 je přepnula na podporu přímo v llama.cpp a dřívější stažení hlásí, že je v nepodporovaném formátu. Tady převod neexistuje, model se musí stáhnout znovu příkazem ollama pull.

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. U sebe doma

    DGX Spark se 64 GB má poloviční paměť, ale stejnou propustnost 273 GB/s

    Nvidia nabízí DGX Spark se 64 GB od 23. října přes šest výrobců za 4 999 dolarů, o čtvrtinu dráž, než loni stála verze se 128 GB. Ta mezitím podražila na 6 950 dolarů.…

  2. U sebe doma

    Nejstahovanější převod modelu Clef do GGUF nemá rozhodovací hlavu

    Cloudflare zveřejnil 30. září rozhodovací modely Clef a Clef-Flash, které místo textu vracejí pravděpodobnosti voleb. Počítá je zvláštní hlava se 128 miliony parametrů.…

  3. U sebe doma

    Ternární Bonsai 2 vyšel v baleních, která přečte jen fork llama.cpp

    Prism ML vydal druhou generaci svého ternárního přebalení modelu Qwen3.8-27B: 5,95 GB proti 53,8 GB u souboru v F16. Oba zveřejněné soubory ale nesou typy tenzorů, které…

  4. U sebe doma

    Ollama vrací Codexu shrnutí konverzace jako prostý JSON v poli encrypted_content

    Testovací verze Ollamy 0.34.0 přidává do rozhraní kompatibilního s OpenAI koncový bod /v1/responses/compact a rozumí spouštěči kompakce, který Codex posílá na konci…