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

Ollama přestala opisovat otisky všech vrstev do konfigurace modelu

Ollama 9. srpna odstranila z hlavní vývojové větve pole rootfs.diff_ids, které do konfigurace modelu podruhé zapisovalo otisky všech vrstev. U modelů tvořených soubory pro jednotlivé tensory podle autora změny přesahovala tato nepoužívaná kopie 100 kB; samotné vrstvy i jejich otisky zůstávají v manifestu.

Ollama 9. srpna odstranila z hlavní vývojové větve pole rootfs.diff_ids. Do konfigurace modelu se v něm zapisovaly stejné otisky, jaké už obsahuje seznam vrstev v manifestu. Program podle autora změny tuto kopii nikde nečetl.

Úprava je malá, ale ukazuje, jak se formát původně určený pro kontejnery přizpůsobuje modelům umělé inteligence. Váhy mohou mít desítky gigabajtů, zatímco zde se šetří kilobajty metadat. Důvodem není nedostatek místa pro jeden soubor, nýbrž počet položek: u modelů tvořených soubory pro jednotlivé tensory narostla kopie seznamu podle popisu commitu přes 100 kB.

Pracovník kontroluje nákladní manifest vedle přepravních kontejnerů
Kontrola nákladního manifestu při příjmu kontejnerů. Snímek je ilustrační. Foto: U.S. Air Force photo by Tech. Sgt. Hailey Staker, Wikimedia Commons (Public domain)

Manifest už otisky všech vrstev má

Commit projektu Ollama mění dvě části zápisu modelu. Z datové struktury konfigurace mizí objekt rootfs a funkce, která konfiguraci vytváří, už nedostává seznam vrstev. Před změnou procházela každou vrstvu a její otisk přidala do pole diff_ids. Po změně uloží pouze vlastnosti modelu, například architekturu, formát nebo jeho schopnosti.

Vrstvy se neztrácejí. Manifest si dál drží seřazený seznam jejich popisů, velikostí a otisků. Právě otisk celého manifestu podle autora commitu určuje identitu modelu, takže manifest už zahrnuje vazbu na každou vrstvu. Odstraněné pole stejnou informaci pouze opakovalo uvnitř dalšího objektu.

Změnu schválil jiný člen projektu a pull request číslo 17619 se sloučil 9. srpna. Součástí jsou upravené testy vytváření a kopírování modelů. Jde však o stav hlavní větve zdrojového kódu. Z commitu ani pull requestu neplyne, že už je úprava součástí konkrétní vydané verze Ollamy.

Sto kilobajtů vzniklo opakováním stejného seznamu

Každá položka obsahovala dlouhý kryptografický otisk vrstvy. U běžného modelu s několika velkými vrstvami jde o drobnost. Jinak to vypadá u modelu rozděleného na mnoho částí: seznam se prodlužuje s každou další vrstvou a celý se zapisoval podruhé.

Hranice přes 100 kB pochází z popisu změny od vývojáře Ollamy, není to naše nezávislé měření. Commit neuvádí konkrétní model ani přesnou velikost před a po úpravě. Nelze proto poctivě tvrdit, o kolik se zrychlí stažení nebo vytvoření modelu. Jisté je jen to, že nově vytvořená konfigurace už tento nepoužívaný seznam neobsahuje.

Testy zároveň dostaly nové očekávané otisky konfiguračních blobů. To je přirozený důsledek obsahového adresování: změní-li se JSON, změní se i jeho otisk. Neznamená to změnu vah. Ty zůstávají v samostatných vrstvách a manifest na ně dál odkazuje.

Ollama si z kontejnerů bere jen část pravidel

Specifikace OCI Image Configuration vyžaduje objekt rootfs a v něm seřazené pole diff_ids. U spustitelného kontejnerového obrazu popisuje kořenový souborový systém, který vznikne složením vrstev. Model Ollamy ale není běžný kontejner a jeho vrstvy nepředstavují souborový systém.

Zdrojový kód Ollamy přesto novou konfiguraci označuje typem application/vnd.docker.container.image.v1+json. Samotný manifest a vrstvy používají obsahové otisky podobně jako kontejnerové registry, význam uložených dat je však vlastní Ollamě. Odstranění rootfs tuto odlišnost zviditelňuje: program si ponechává způsob adresování a přenosu vrstev, ale zahazuje údaj, který by dával smysl při skládání kontejnerového souborového systému.

Specifikace manifestu OCI s takovým rozšířením počítá: neznámý typ konfigurace může implementace považovat za libovolná data. Ollama ovšem stále používá označení Dockeru, nikoli vlastní typ konfigurace. Pull request tuto volbu nemění ani nevysvětluje, a proto z něj nelze odvodit, jak by se k novému blobu měl chovat obecný kontejnerový nástroj.

Staré modely se samy nepřepisují

Commit upravuje cestu, která vytváří konfigurační blob při sestavení nebo kopírování modelu. Neobsahuje migraci už uložených manifestů a blobů. Starší model tedy nepřijde o svou dosavadní konfiguraci jen instalací budoucí verze. Nový, menší tvar vznikne až ve chvíli, kdy Ollama konfiguraci znovu vytvoří.

Pro člověka, který Ollamu používá doma, se nemění příkazy ani obsah vah. Praktický dopad se odehrává uvnitř úložiště modelů: nová konfigurace nenese druhý seznam stejných otisků. Důležitější než ušetřených 100 kB je odstranění údaje, který neměl čtenáře a mohl naznačovat význam kontejnerového souborového systému tam, kde žádný není.

Zdroje: commit Ollamysouvisející pull request z 9. srpna 2026; nezávislé srovnání poskytují dokumenty projektu Open Container Initiative pro konfiguraci obrazumanifest.

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

    Server llama.cpp umí nástroje oddělit do Dockeru, výchozí kontejner jim ale nechává síť

    Nový parametr serveru llama.cpp posílá vestavěné nástroje agenta do nového nebo už běžícího kontejneru Docker. Bez něj nástroje dál běží přímo na hostitelském systému.…

  2. U sebe doma

    Ollama v 0.32.6 odstranila generování obrázků a odkazuje na starší verzi

    Vydání Ollamy 0.32.6 ze 4. srpna 2026 smazalo ze zdrojového kódu celou část, která uměla generovat obrázky. Poznámky k vydání radí zůstat na verzi 0.32.5. Katalog modelů…

  3. U sebe doma

    llama.cpp ohlásil změnu portu serveru z 8080 na 9931, termín neuvedl

    Kdo si pouští model doma přes llama-server, najde ve výpisu novou hlášku: výchozí port se má změnit z 8080 na 9931. Kdy k tomu dojde, projekt neuvádí, a v kódu zatím…

  4. U sebe doma

    Nanbeige 4.2 se vejde do telefonu na 2,58 GB, kontext v něm spadl na 4 096 tokenů

    Na Hugging Face přibyl převod čínského modelu Nanbeige 4.2 do formátu běhového prostředí LiteRT-LM: jediný soubor o velikosti 2,58 GB, čtyřbitové váhy a kontext 4 096…