Vývoj AI
Co tato dovednost pokrývá
Koncepty, nástroje a praktické postupy pro vývoj AI: embeddingy a vektorové vyhledávání, klíčové Python knihovny pro AI a základy strojového učení. Pro stavbu kompletní retrieval-augmented generation pipeline viz RAG, pro lokální provoz modelů viz Ollama, pro propojení AI asistenta s externími nástroji viz MCP, pro zapojení AI do Drupalu viz AI v Drupalu.
Kdy ji použít
- Při výběru embedding modelu nebo metriky podobnosti vektorů pro funkci sémantického vyhledávání
- Při rozhodování mezi
transformersasentence-transformers, nebo výběru jiné Python knihovny pro AI, pro konkrétní NLP úlohu - Při výběru techniky strojového učení (regrese, SVM, random forest, nejbližší sousedé) pro úlohu prediktivního modelování
Základy AI
Vektorové databáze a embeddingy
Vektorové databáze ukládají vysokodimenzionální vektory pro efektivní sémantické vyhledávání. Na rozdíl od tradičních databází založených na klíčových slovech umožňují vyhledávání podle podobnosti pomocí embeddingů.
Klíčové koncepty:
- Embeddingy: Číselné reprezentace textu, obrázků nebo zvuku ve vektorovém prostoru.
- Sémantické vyhledávání: Vyhledává informace na základě významu, ne přesných klíčových slov.
- Metriky podobnosti vektorů: Kosinová podobnost, euklidovská vzdálenost, manhattanská vzdálenost.
Doporučené zdroje:
Pro stavbu retrieval a generation pipeline nad těmito základy viz RAG.
Python knihovny pro AI
Knihovna Transformers
from transformers import AutoModel, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
model = AutoModel.from_pretrained("bert-base-uncased")
inputs = tokenizer("Hello world", return_tensors="pt")
outputs = model(**inputs)
Transformers vs Sentence Transformers:
| Vlastnost | transformers | sentence-transformers |
|---|---|---|
| Zaměření | Obecné NLP úlohy | Embeddingy vět/dokumentů |
| Výstup | Token embeddingy, logity | Sémantické embeddingy připravené k porovnání podobnosti |
| Snadnost použití | Vyžaduje ruční pooling pro věty | Metoda encode() pro přímé vektory |
| Modely | BERT, GPT, T5 | MiniLM, mpnet atd. |
Další knihovny
- PyTorch: Neuronové sítě
- NumPy / Pandas: Práce s daty
- Scikit-learn: ML algoritmy
- PEFT: Efektivní fine-tuning LLM
Osvědčené postupy pro implementaci AI
- Volte modely vhodné pro danou úlohu a dostupný hardware.
- Rozhodněte se mezi lokálním (Ollama) a cloudovým nasazením podle požadavků na soukromí a škálovatelnost.
- Používejte efektivní embeddingy pro sémantické vyhledávání.
- Kombinujte retrieval systémy s generativními modely (RAG) pro úlohy náročné na znalosti.
- Sledujte využití zdrojů a optimalizujte výkon.
Základy strojového učení
Klíčové koncepty:
- Bias-variance tradeoff: Rovnováha mezi jednoduchostí a flexibilitou modelu.
- Centrální limitní věta: Výběrové průměry konvergují k normálnímu rozdělení.
- Zákon velkých čísel: Větší datové sady poskytují spolehlivější odhady.
Učení s učitelem:
- Lineární regrese: Predikce spojitých hodnot.
- R-squared: Metrika kvality modelu.
- SVM: Klasifikace pomocí optimální nadroviny.
Ensemble metody:
- Random Forest: Snižuje overfitting, zvládá chybějící data, poskytuje důležitost příznaků.
Učení bez učitele:
- Nejbližší sousedé: Klasifikace na základě podobnosti, citlivá na irelevantní příznaky.
Neuronové sítě:
- Vrstvená struktura, učí se vzory pomocí backpropagace, základ hlubokého učení.
Vizualizace dat:
- Seaborn: Pokročilé statistické grafy, integrace s pandas.
Praktické využití:
- Prediktivní modelování (např. volby)
- Analýza trendů z demografických nebo historických dat