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

llama.cpp přidal k nočním sestavením verze 0.1.x, postup je zatím rozdělaný

llama.cpp má od 17. srpna vedle nočních značek s písmenem b i značky v0.1.0 až v0.1.2. Nová značka vznikne jen tehdy, když se soubory jeho vnitřní kopie knihovny ggml shodují s vydanou verzí té knihovny; jinak se vydání přeruší chybou. Stránku vydání má z těch tří značek jen v0.1.2 a je označená jako předběžná.

Okno správce balíků Synaptic v Debianu se seznamem balíků a jejich verzí
Správce balíků Synaptic v Debianu. Foto: AsciiWolf, Wikimedia Commons (CC0)

Vydání llama.cpp se dosud poznávalo jediným číslem. Značka jako b10485 nese pořadové číslo commitu a víc se z ní nedozvíte – ani jestli se změnilo veřejné rozhraní knihovny, ani jestli šlo o opravu chyby. Že se takové číslo špatně používá jako údaj o verzi, ukázala jedna kritická díra, u které se dva veřejné záznamy rozešly o 501 sestavení.

Od 17. srpna 2026 má projekt druhou řadu značek: v0.1.0, v0.1.1v0.1.2.

Tři značky za dva dny

Podle rozhraní GitHubu vznikla značka v0.1.0 17. srpna v 9:08 UTC, v0.1.1 téhož dne ve 14:08 a v0.1.2 o den později v 10:23. Sám mechanismus přišel do repozitáře dřív, návrhem změny číslo 26839 z 12. srpna, se kterým se přidal i popis celého postupu do souboru docs/release.md.

Ten popisuje, kdy se která část čísla zvedá: první při nekompatibilní změně veřejného rozhraní v souboru include/llama.h, druhá u zpětně slučitelných funkcí, podpory nových modelů a přidaného rozhraní, třetí u opravy, která rozhraní nemění. Číslo se nastavuje ručně ve třech proměnných na začátku kořenového souboru CMakeLists.txt a dokumentace žádá, aby se jeho zvýšení posílalo rovnou s tou změnou, která ho vyvolala, případně zvláštním commitem před vydáním.

Značka vznikne jen tehdy, když sedí knihovna ggml

llama.cpp si v sobě nese vlastní kopii tenzorové knihovny ggml a ta se od samostatně vydané knihovny může lišit. Právě kvůli tomu má vydávací postup čtyři kontroly, které jsou k přečtení ve skriptu make-release-checks.sh:

  • commit musí patřit do vydávané větve a nesmí být od jejího posledního commitu starší než tři dny;
  • značka se stejným číslem nesmí na vzdáleném repozitáři existovat;
  • pro ten commit musí být hotové úspěšné noční sestavení;
  • adresáře ggml/srcggml/include a soubor ggml/CMakeLists.txt se musí shodovat se stejně očíslovanou značkou v samostatném repozitáři ggml. Skript si ho kvůli tomu naklonuje a porovná; při rozdílu vydání skončí chybou.

Na datech je ta podmínka vidět. Knihovna ggml vydala 0.20.1 17. srpna v 6:45 UTC a llama.cpp dostal značku v0.1.0 o něco přes dvě hodiny později; jeho vnitřní kopie ggml má v tom commitu právě číslo 0.20.1. Verze 0.20.2 vyšla 18. srpna v 8:55 a značka v0.1.2 je z 10:23, s kopií ggml 0.20.2. Čísla té kopie jsme si přečetli přímo v souboru ggml/CMakeLists.txt u obou commitů.

Důvod jsou distribuce, ne uživatelé

Proč se to vůbec zavádí, když čísla sestavení fungovala, vysvětluje přehled vydávání projektů ggml-org, který v repozitáři ggml sepsal správce projektu. Noční sestavení se staví z hlavní větve s volbou LLAMA_BUILD_IS_DEV zapnutou a značí se písmenem b s číslem commitu; oficiální vydání se staví s toutéž volbou vypnutou. Podmínka na shodu s vydanou ggml je tam popsaná jako záruka pro toho, kdo llama.cpp staví ze značky vydání a linkuje ho proti knihovně nainstalované v systému.

Přesně to dnes dělá Homebrew i Debian: jejich balíček llama.cpp se linkuje proti systémové ggml. Winget a stránka llama.app naopak kopii balí s sebou a zveřejňují noční sestavení. Tentýž dokument u Homebrew zároveň nechává otevřenou otázku, jak má správce balíků poznat, kterou verzi ggml llama.cpp potřebuje – podle něj to zatím vypadá tak, že se nainstaluje nejnovější ggml, která s nejnovějším llama.cpp nemusí být slučitelná.

Čísla v balíčcích dnes

Jak to vypadá v praxi, se dá přečíst z veřejných výpisů. Formule Homebrew pro llama.cpp má verzi 10470 a míří na značku b10470, tedy na commit 34af94cd9 – a na tom samém commitu visí i značka v0.1.1. Vnitřní kopie ggml je v něm 0.20.1, kdežto formule ggml je na 0.20.2.

V Debianu je odstup větší. Ve větvi sid je llama.cpp jako 10438+dfsg-1 a ggml jako 0.20.2-1, přičemž vnitřní kopie ggml v sestavení 10438 má číslo 0.20.0. Ve větvi forky jsou to 10271+dfsg-1 a 0.18.1-1. Čísla balíčků jsou z výpisu na sources.debian.org, čísla vnitřní kopie z konfigurace v příslušných commitech. Jestli ta kombinace někde vadí, se z nich nepozná; dokument mluví jen o tom, že slučitelná být nemusí.

Pro domácí stavbu se zatím nemění nic

Binárky zůstávají tam, kde byly. Vydání v0.1.2 nemá připojený ani jeden soubor a jeho stránka jen odkazuje na noční sestavení b10485, což je tentýž commit. Kdo si llama.cpp staví ze zdrojů, dostane ve výchozím nastavení verzi 0.1.2-dev, protože volba LLAMA_BUILD_IS_DEV je zapnutá; čisté 0.1.2 vyjde až po jejím vypnutí, což dokumentace žádá po distributorech stavějících ze značky vydání. K vydaným verzím se podle ní dá dostat trojí cestou: skriptem llama-install.sh, přes správce balíků, nebo stažením značky ze zdrojů.

Dokumentace je o krok pozadu

Soubor docs/release.md, do kterého se naposledy sahalo 17. srpna, pořád tvrdí, že se žádná stránka vydání na GitHubu nevytváří a že vydaným artefaktem je samotná značka. Stránku přidal až návrh změny číslo 27302 z 18. srpna, který v ní rovnou zapsal příznak předběžného vydání natvrdo a k němu poznámku, že se má odstranit, až bude postup hotový. Stránku vydání proto z těch tří značek má jen v0.1.2; u starších dvou vrací rozhraní GitHubu samotnou značku bez ní. Přehled v repozitáři ggml zase u llama.cpp uvádí, že sémantické verzování zavedené ještě není – v době, kdy jsou venku tři značky.

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

    llama.cpp vypnul mapování modelu do paměti na části integrovaných grafik

    llama.cpp od 11. srpna 2026 nemapuje soubor s váhami do paměti všude, kde to jde. Nový výchozí režim mapování vypne, jakmile některé ze zapojených zařízení ohlásí, že ho…

  2. U sebe doma

    Ollama vypnula výchozí postih za opakování u modelů, které si ho samy nenastaví

    Verze 0.32.10 z 12. srpna mění jednu výchozí hodnotu serveru: model, který si postih za opakování sám neurčí, dostane napříště 1,0 místo 1,1, tedy vypnuto. Ollama to…

  3. U sebe doma

    ONNX Runtime 1.29.0 sbírá data i na Linuxu, macOS, Androidu a iOS

    Vydání z 12. srpna přidalo do knihovny sběr telemetrie pro Linux, macOS, Android a iOS; dosud běžel jen na Windows. V oficiálních balíčcích je zapnutý ve výchozím stavu…

  4. U sebe doma

    Návod k modelu Ling-3.0-tiny radí zapnout zrychlení, které ten model nemá

    Karta modelu Ling-3.0-tiny radí spustit ho příkazem, který zapíná spekulativní dekódování NEXTN. V konfiguraci téhož modelu ale stojí, že pomocnou vrstvu pro ně nemá, a…