oupn sórs modelTakéOpen-weight model, Otevřené váhy, Open weights, Volně dostupný modelPokročilý

Definice

Open source model je model strojového učení, jehož natrénované váhy si kdokoli může stáhnout, spustit na vlastním hardwaru, upravit a dál šířit podle podmínek přiložené licence. Na rozdíl od uzavřených modelů dostupných jen přes API tak uživatel drží samotné parametry sítě i kontrolu nad tím, kde běží inference.

Kategorie: Umělá inteligenceAktualizováno

Nezaměňujte: Ve strojovém učení jde o model s veřejně dostupnými váhami, zatímco v byznysu „open source model“ někdy označuje obchodní model firmy postavený na otevřeném softwaru.

Než se na to spolehnete: Konkrétní licenční podmínky jednotlivých modelových rodin se mění s každou novou verzí, proto text uvádí jen typy licencí bez konkrétních jmen modelů (kromě příkladu kódu). Odhad paměťových nároků 7B modelu je běžná praktická aproximace, ne měřený benchmark.

Co přesně je u modelu „otevřené“

U klasického softwaru znamená open source přístup ke zdrojovému kódu. U modelu strojového učení je situace složitější, protože model se skládá z několika samostatných vrstev a každá může být zveřejněná zvlášť: trénovací kód, popis architektury, samotné natrénované váhy, trénovací data a receptura trénování (hyperparametry, kroky doladění). Naprostá většina modelů označovaných jako open source zveřejňuje váhy a inferenční kód, ale data nikoli. Proto se v odborné praxi ustálil přesnější pojem open-weight, tedy model s otevřenými váhami.

Licence rozhoduje víc než dostupnost ke stažení

Stažitelnost neznamená svobodu použití. Část modelů je vydána pod skutečně permisivní licencí typu Apache 2.0 nebo MIT, kde komerční nasazení řeší jediná podmínka: zachovat text licence. Jiné modely nesou takzvané community licence s dodatky, které zakazují vybrané scénáře použití nebo omezují nasazení nad určitým počtem aktivních uživatelů. Třetí skupina je vyloženě nekomerční (například varianty licencí CC BY-NC). Před nasazením do produktu je proto nutné licenci přečíst, ne se spolehnout na štítek „open source“ na kartě modelu.

Kdy dává vlastní hosting smysl

Provoz otevřeného modelu na vlastní infrastruktuře řeší tři typické situace. První je ochrana dat: promptů obsahujících zdravotní záznamy, smlouvy nebo neveřejný zdrojový kód se firma nechce zbavovat směrem k cizímu API. Druhá je předvídatelnost: uzavřený model se může kdykoli změnit nebo být vyřazen, zatímco stažené váhy zůstávají identické roky a chování aplikace se pod rukama nemění. Třetí je specializace: large language model lze doladit na doménová data a malý doladěný model často porazí obecný velký model v jedné úzké úloze při zlomku nákladů.

Cena za to je provozní. Potřebujete GPU s dostatkem paměti, kvantizaci vah pro menší karty, správu fronty požadavků a někoho, kdo to bude sledovat. U nízkého objemu dotazů vyjde uzavřené API téměř vždy levněji než pronájem GPU, které většinu dne stojí.

Kde otevřené modely potkáte

Dominantní distribuční kanál je Hugging Face Hub, kde má každý model kartu s licencí, formátem vah a doporučeným způsobem načtení. Váhy se běžně publikují ve formátu safetensors, doladěné varianty často jen jako LoRA adaptéry o velikosti desítek megabajtů. Vedle jazykových modelů je otevřených rodin plno i v jiných oblastech: modely pro převod řeči na text, generování obrázků, embeddingy pro RAG nebo detekci objektů v obraze.

Reprodukovatelnost a bezpečnost

Otevřené váhy umožňují nezávislý audit chování modelu, ale nedávají plnou reprodukovatelnost: bez trénovacích dat nelze ověřit, čím byl model formován, ani odhalit kontaminaci benchmarků. Zároveň platí, že stažený model je spustitelný kód. Starší formát pickle umí při načtení provést libovolné instrukce, což je hlavní důvod přechodu na safetensors, a váhy z neznámého zdroje mohou nést záměrně vložené backdoory.

Příklady z praxe

  1. Lokální spuštění jazykového modelu z Hugging Face

    Tým potřebuje sumarizovat interní smlouvy, které nesmí opustit firemní síť. Stáhne otevřený jazykový model s licencí Apache 2.0 a spustí ho na serveru s GPU. Několik řádků v knihovně Transformers stačí k načtení vah a vygenerování odpovědi bez jediného volání ven.

    from transformers import pipeline
    
    pipe = pipeline(
        "text-generation",
        model="mistralai/Mistral-7B-Instruct-v0.2",
        device_map="auto",
    )
    print(pipe("Shrň hlavní rizika ve smlouvě:", max_new_tokens=200))
  2. Kontrola licence před komerčním nasazením

    Startup chce zabudovat otevřený model generující obrázky do placené aplikace. Na kartě modelu najde licenci s nekomerční doložkou, takže nasazení by bylo její porušení. Řešením je vybrat model pod Apache 2.0 nebo MIT, případně si od autorů vyžádat komerční licenci. Kontrola licence patří do procesu výběru modelu stejně jako měření kvality.

Časté omyly

MýtusOpen source model znamená, že je zdarma pro cokoli, včetně komerčního produktu.
Ve skutečnostiVolná dostupnost ke stažení a licenční svoboda jsou dvě různé věci. Řada populárních modelů má community licenci s omezením použití nebo nekomerční doložku, jejíž porušení je porušením autorského práva.
MýtusKdyž jsou váhy veřejné, je model plně reprodukovatelný a transparentní.
Ve skutečnostiVeřejné váhy obvykle přicházejí bez trénovacích dat a bez kompletní receptury trénování. Zvenčí tedy nelze ověřit, na čem byl model trénován, ani jeho výsledky od nuly zopakovat.
MýtusOtevřený model provozovaný lokálně vyjde levněji než placené API.
Ve skutečnostiÚspora nastává až při vysokém a rovnoměrném objemu dotazů. Při nízkém provozu platíte GPU, které stojí nevyužité, plus čas na provoz, monitoring a aktualizace.

Časté dotazy

Jaký hardware je potřeba pro spuštění open source modelu?
Rozhodující je počet parametrů a přesnost vah. Model se sedmi miliardami parametrů v šestnáctibitové přesnosti potřebuje zhruba 14 GB paměti GPU, po kvantizaci na čtyři bity se vejde přibližně do 5 GB a rozběhne se i na běžné herní kartě. Modely s desítkami miliard parametrů už vyžadují profesionální akcelerátory nebo rozdělení mezi více karet. Menší modely lze provozovat i na procesoru, ale s výrazně nižší rychlostí generování. K paměti je nutné připočíst prostor pro kontext, který roste s délkou vstupu.
Jak poznám, že model je skutečně open source a ne jen ke stažení?
Rozhodujícím vodítkem je název licence uvedený v metadatech modelu a plný text licenčního souboru v repozitáři. Licence Apache 2.0, MIT a BSD jsou standardní open source licence bez omezení oblasti použití. Pokud licence nese jméno konkrétního modelu nebo firmy, jde zpravidla o community licenci s dodatky, které je nutné přečíst celé. Doložka s NC v názvu znamená zákaz komerčního užití. Otevřené váhy navíc nezakládají otevřenost trénovacích dat, ta zůstávají u naprosté většiny modelů neveřejná.
Lze open source model doladit na vlastní data?
Doladění otevřeného modelu je jedním z hlavních důvodů, proč po něm firmy sahají. V praxi se místo přetrénování všech parametrů používá metoda LoRA, která doučuje jen malé adaptérové matice a výsledek má velikost desítek megabajtů. Doladění na několika tisících kvalitních příkladů běžně stačí na osvojení firemního tónu, formátu výstupu nebo doménové terminologie. Licence modelu ale může upravovat, co smíte s odvozeným modelem dělat, včetně povinnosti uvést původ v jeho názvu.
Jaká rizika přináší stažení vah z veřejného repozitáře?
Váhy z veřejného repozitáře jsou spustitelný obsah, ne pasivní data. Starší formát založený na serializaci pickle umí při načtení vykonat libovolný kód, proto se dnes preferuje formát safetensors, který tuto možnost nemá. Druhým rizikem je záměrně upravený model s vloženým backdoorem, který se chová normálně až do výskytu spouštěcí fráze. Doporučený postup je stahovat modely od ověřených vydavatelů, pinovat konkrétní revizi commitu místo plovoucí větve a zvážit skenování artefaktů před nasazením.

Zdroje

  1. Hugging Face Hub Documentation(otevře se v novém okně)Hugging Face
  2. The Free Software Definition(otevře se v novém okně)GNU Project
  3. PyTorch Documentation(otevře se v novém okně)PyTorch
  4. Open-source artificial intelligence(otevře se v novém okně)Wikipedia

Související pojmy

Potřebujete to vyřešit v praxi?

Poradíme, jak na to ve vašem projektu

Vysvětlit pojem je jedna věc, navrhnout kolem něj funkční řešení druhá. Ozvěte se a probereme, co dává smysl u vás.