Základní info
Úvodní kurz poskytuje účastníkům základní přehled o umělé inteligenci (AI) a strojovém učení. Seznámíte se s historií a principy AI, základními algoritmy strojového učení i praktickou prací s daty v Pythonu prostřednictvím interaktivního prostředí Jupyter Notebook. Vyzkoušíte si také nástroje txtai a Hugging Face pro sémantické vyhledávání, zpracování textu a práci s jazykovými modely. Důraz je kladen na praktické využití open-source technologií a řešení.
Lektor kurzu
JAROSLAV ČECH
Jaroslav Čech je zkušený softwarový architekt a AI konzultant s více než 30 lety praxe v IT. Spolupracoval se společnostmi BMW, O2, ČEZ či PPL a stál u zrodu úspěšné platformy mluvii.
Dnes se specializuje na AI agenty, RAG systémy, podnikové AI integrace a nástroje GitHub Copilot a Codex. Ve svých kurzech propojuje hluboké technické znalosti s praktickými zkušenostmi z reálných projektů a předává účastníkům postupy okamžitě využitelné v praxi.
Cílová skupina
- IT specialisté
- Softwaroví a datoví inženýři
- Datoví analytici
Cíle kurzu
- Porozumět základním principům umělé inteligence a strojového učení.
- Seznámit se s vybranými algoritmy strojového učení a principy jejich trénování a vyhodnocování.
- Vyzkoušet si práci s daty a modely v Pythonu prostřednictvím Jupyter Notebooku.
- Získat praktický přehled o open-source nástrojích pro zpracování textu, sémantické vyhledávání a práci s jazykovými modely.
Osnova kurzu
1. Současná AI a ekosystém otevřených modelů
- Klasické ML, generativní AI a LLM: kdy který přístup použít.
- Klasifikace, regrese a shlukování v porovnání s úlohami pro LLM.
- Trénování, fine-tuning a inference — rozdíly v účelu i nárocích.
- Generativní, embeddingové, rerankingové a multimodální modely.
- Malé specializované modely vs. velké univerzální modely.
- Dense a Mixture-of-Experts modely: celkové a aktivní parametry.
- Open-source vs. open-weight: dostupné váhy automaticky neznamenají neomezené použití.
- Model card, licence, podporované jazyky a provozní požadavky.
- Přehled rodin Qwen, Gemma, Mistral, Llama a DeepSeek; konkrétní modely podle termínu kurzu a hardwaru.
2. Hardware: na čem lokální AI rozumně běží
- CPU, GPU, RAM, VRAM a sjednocená paměť.
- Proč rozhoduje také paměťová propustnost a dostupná kapacita paměti.
- NVIDIA, AMD a Apple Silicon; ověření podpory konkrétního zařízení a operačního systému.
- Kvantizace: FP16/BF16, INT8 a přibližně čtyřbitové varianty.
- Paměť pro váhy, KV cache, pracovní výpočty a další současně běžící modely.
- Vliv délky kontextu, obrazových vstupů a souběžných požadavků.
- CPU offloading: kdy pomůže model spustit a proč může výrazně snížit rychlost.
- Rozdíl mezi nároky inference a fine-tuningu.
- Notebook, pracovní stanice, sdílený GPU server a pronajatý GPU.
3. Ollama prakticky: od instalace k API
- Instalace na Windows, Linux a macOS.
- Stažení konkrétního modelu a kvantizované varianty.
- Základní příkazy: ollama pull, run, list, show, ps a stop.
- Ověření, zda model skutečně běží na GPU.
- Nastavení kontextu, parametrů generování a doby ponechání modelu v paměti.
- Modelfile: konfigurace modelu, systémových instrukcí a parametrů.
- Lokální REST API a streamování odpovědi.
- Volání z Pythonu; krátká ukázka integrace z C# přes HTTP.
- Structured outputs a validace podle JSON Schema.
- Embeddings a tool calling u modelů, které je podporují.
- Kompatibilní části OpenAI API a jejich omezení.
- Rozlišení lokálních a cloudových modelů; nastavení čistě lokálního provozu.
4. Hugging Face a výběr vhodného modelu
- Hugging Face Hub: modely, datasety, model cards a licence.
- Transformers a Sentence Transformers: k čemu slouží.
- Base vs. instruction-tuned model.
- Tokenizer, chat template a správný formát vstupu.
- Formáty vah, například Safetensors a GGUF; kompatibilita s runtime.
- Výběr modelu podle kvality češtiny, typu úlohy, rychlosti a paměťových nároků.
- Připnutí verze modelu a reprodukovatelnost experimentů.
- Důvěryhodnost zdroje a rizika spouštění cizího kódu při načítání.
- Kdy upravit prompt, kdy použít RAG a kdy zvažovat LoRA/QLoRA.
- Fine-tuning jako navazující téma: data, evaluace a odlišné HW nároky.
5. Data a specifika češtiny
- Praktické minimum pandas a NumPy pro přípravu dat.
- Načítání textů, CSV, JSON a dokumentů.
- Čištění, deduplikace, kódování a zachování struktury.
- Extrakce textu z PDF vs. OCR skenů.
- Čeština: diakritika, skloňování, zkratky a odborné názvosloví.
- Smíšené česko-anglické dokumenty.
- Extrakce jmen, dat, částek a identifikátorů.
- Rozdíl mezi plynulou češtinou a věcně správnou odpovědí.
- Testovací sada s běžnými, hraničními a neřešitelnými případy.
- Oddělení trénovacích a testovacích dat, pokud model přizpůsobujeme.
6. txtai: sémantické vyhledávání a lokální RAG
- Úloha txtai v aplikaci: embeddings, indexace, pipelines a workflows.
- Rozdělení dokumentů na chunky a připojení metadat.
- Výběr embeddingového modelu vhodného pro češtinu.
- Indexace, aktualizace a mazání dokumentů.
- Sémantické, lexikální a hybridní vyhledávání.
- Filtrování výsledků a základní reranking.
- Propojení retrievalu s generativním modelem v Ollamě.
- Odpověď s odkazy na zdrojové pasáže.
- Kategorizace, sumarizace a další navazující pipelines.
- Náhled multimodálního vyhledávání nad obrázky.
- Test dotazu, pro který znalostní báze neobsahuje odpověď.
7. Společný projekt: lokální AI aplikace
- Načtení a vyčištění vstupu.
- Klasifikace dokumentu a extrakce údajů pomocí lokálního modelu.
- Validace výstupu a ošetření chybějících hodnot.
- Uložení metadat a indexace obsahu.
- Vyhledání podkladů a vytvoření odpovědi s citacemi.
- Jednoduché API nebo uživatelské rozhraní.
- Timeouty, logování a omezení velikosti vstupu.
- Měření kvality, latence a spotřeby paměti.
- Porovnání menšího a většího modelu.
- Oddělení modelové inference od běžné aplikační logiky.
8. Od notebooku k provozu: bezpečnost, výkon a další postup
Cíl: Rozpoznat, co je potřeba doplnit před sdíleným nasazením.
- Ollama pro jednoduché nasazení; přehled llama.cpp a vLLM pro další scénáře.
- Lokální aplikace vs. sdílený inference server.
- Fronty, souběžné požadavky, batching a oddělení modelových služeb.
- Autentizace, síťové omezení a ochrana inference API.
- Citlivá data, logy, licence modelů a aktualizace závislostí.
- Prompt injection a kontrola případných akcí modelu.
- Náklady na hardware, elektřinu, správu a lidskou kontrolu.
- Lokální vs. cloudové vs. hybridní řešení.
- Diskuze nad projekty účastníků.
Technické požadavky
- Notebook s připojením k internetu
- Předinstalovaný Jupyter Notebook nebo možnost využití online prostředí, například Binder či Google Colab
- Ukázkové Jupyter Notebooky budou účastníkům poskytnuty před kurzem
Požadavky na účastníky
- Základní znalost programování (preferován Python)
- Základní znalost statistiky