EN

Vývoj AI

Praktický přehled vývoje AI: embeddingy, vektorové vyhledávání, Python knihovny pro AI a základy strojového učení.

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 transformers a sentence-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:

Vlastnosttransformerssentence-transformers
ZaměřeníObecné NLP úlohyEmbeddingy vět/dokumentů
VýstupToken embeddingy, logitySémantické embeddingy připravené k porovnání podobnosti
Snadnost použitíVyžaduje ruční pooling pro větyMetoda encode() pro přímé vektory
ModelyBERT, GPT, T5MiniLM, 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

  1. Volte modely vhodné pro danou úlohu a dostupný hardware.
  2. Rozhodněte se mezi lokálním (Ollama) a cloudovým nasazením podle požadavků na soukromí a škálovatelnost.
  3. Používejte efektivní embeddingy pro sémantické vyhledávání.
  4. Kombinujte retrieval systémy s generativními modely (RAG) pro úlohy náročné na znalosti.
  5. 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