Share-Electric.cz
Průvodce

Co jsou multi-vector embeddingy a proč je potřebujete

Co jsou multi-vector embeddingy a proč je potřebujete - Průvodce | SmartEnergyShare

Zapomeňte na OpenAI za 200 dolarů měsíčně. Vlastní multi-vector embedding model natrénujete na Macu doma.

Apple Mac Studio s M3 Ultra má 819 GB/s propustnosti paměti a až 512 GB sjednocené paměti. To není počítač pro střih videa. Je to tréninková stanice, která se vejde pod monitor. A zatímco IBM právě vydává Granite 4.2 – rodinu open-source jazykových modelů natrénovaných na zhruba 15 bilionech tokenů a později procvičovaných v reálných terminálových a programátorských prostředích – většina českých firem daleko víc potřebuje naučit se jednu věc: jak vytvořit vlastní retriever, který najde správný odstavec v desítkách tisíc stránek smluv, faktur a technických specifikací. Jedna vektorová reprezentace celého dokumentu už na to často nestačí. Multi-vector modely jako ColBERT si pamatují každé slovo zvlášť, a proto vracejí přesnější výsledky.

Co jsou multi-vector embeddingy a proč je potřebujete

Klasický embedding model vezme větu nebo odstavec a stlačí ho do jednoho vektoru, třeba o 768 dimenzích. Výhoda je rychlost a malá velikost indexu. Nevýhoda? Veškerá informace o konkrétních slovech se průměruje do jednoho bodu. Když se uživatel zeptá na "flexibilitu bateriového úložiště v regulačním pásmu FCR", jednovektorový model snadno přehlédne, že dokument mluví o "bateriovém systému", nikoli o flexibilitě všeobecně.

Multi-vector modely, někdy nazývané late interaction nebo ColBERT-style, si ponechávají vektor pro každý token. Při vyhledávání se pro každý token dotazu najde nejpodobnější token v dokumentu a skóre se sečte přes operátor MaxSim. Díky tomu přežijí i synonymické překlady, přesná jména zařízení a technické zkratky. V praxi to znamená o několik procent lepší NDCG@10 na vlastních datech. Na benchmarku NanoBEIR například multi-vector LateOn dosáhl 0,6868 NDCG@10, zatímco jeho dense protipól skončil na 0,6764. To je rozdíl mezi tím, jestli RAG vrátí správný odstavec, nebo halucinaci.

Tento přístup má samozřejmě cenu. Index tokenových vektorů zabírá víc místa a inference trvá déle. Na druhou stranu, ve srovnání s tím, kolik stojí špatná odpověď v energetickém obchodování, jsou tyto náklady směšné. Knihovna sentence-transformers od verze 6.0 přináší třídu MultiVectorEncoder, takže už nemusíte skládat PyLate, ColBERT a další frameworky dohromady. Všechno běží pod jednou střechou.

Hardware: Apple Silicon versus Linux s NVIDIA

Na přelomu roku 2025 a 2026 Apple výslovně pozicovalo nové desktopové Macy jako stroje pro lokální vývoj umělé inteligence. Mac Studio s M3 Ultra nabízí 32jádrový Neural Engine, 80 GPU jader a sjednocenou paměť až 512 GB. Po nedávném zdražení paměťových čipů startuje konfigurace se 96 GB na přibližně 122 000 Kč; Mac Studio M4 Max se 96 GB vyjde zhruba na 58 000 Kč. Pro trénink embeddingů, který není tak paměťově nenasycený jako trénink velkých jazykových modelů, to bohatě stačí.

PyTorch na Apple Silicon používá backend MPS. Pro inference si můžete nainstalovat Ollama jedním příkazem a spustit Granite 4.2 8B příkazem `ollama pull granite4.2:8b`. Pro embeddingy je zase výhodný MLX framework, který využívá sjednocenou paměť efektivněji než obecné CUDA porty. Příkon Mac Studia pod plnou zátěží zůstává pod 90 W. Při české ceně elektřiny kolem 7,5 Kč za kWh a osmihodinovém denním provozu vyjde měsíc na zhruba 160 Kč. Linuxová skříň s RTX 4090 táhne přes 400 W a při stejné zátěži stojí jen na energii přes 700 Kč měsíčně. V malé kanceláři v létě to poznáte.

Cloudové embedding API vypadají levně, dokud nezačnete počítat. Za milion dotazů s průměrnou délkou 500 tokenů zaplatíte u některých služeb stovky dolarů. Když k tomu přičtete pravidelné přeindexování desítek tisíc dokumentů, roční účet snadno překročí cenu Mac Studia. A to ještě nemluvíme o latenci a ochraně dat.

Alternativou je Linuxová stanice s NVIDIA RTX 4090, která má 24 GB VRAM a stojí kolem 35 000 Kč jen za grafiku. Datacenter karta A100 80 GB stojí použitá více než celý Mac Studio. Rozdíl je v ekosystému: CUDA má plnou podporu pro QLoRA a bitsandbytes, zatímco na macOS se s kvantizací pro trénink musíte víc ohýbat. Pro čistý inference a fine-tuning embeddingů na LoRA je ale Apple Silicon reálnou volbou, zvlášť když data nesmějí opustit firmu.

Trénink a fine-tuning se sentence-transformers

Začněte instalací knihovny včetně tréninkových závislostí:

```bash pip install sentence-transformers[train]==6.0.0 ```

Od verze 6.0 můžete místo klasického `SentenceTransformer` použít `MultiVectorEncoder`, který vytvoří token-level reprezentace. Základní tréninková smyčka vypadá takto:

```python from sentence_transformers import ( MultiVectorEncoder, SentenceTransformerTrainer, SentenceTransformerTrainingArguments, ) from sentence_transformers.losses import MultipleNegativesRankingLoss from sentence_transformers.training_args import BatchSamplers

model = MultiVectorEncoder("bert-base-multilingual-cased") train_loss = MultipleNegativesRankingLoss(model)

args = SentenceTransformerTrainingArguments( output_dir="energy-colbert", num_train_epochs=3, per_device_train_batch_size=16, learning_rate=2e-5, warmup_ratio=0.1, batch_sampler=BatchSamplers.NO_DUPLICATES, bf16=True, eval_strategy="epoch", )

trainer = SentenceTransformerTrainer( model=model, args=args, train_dataset=train_dataset, eval_dataset=eval_dataset, loss=train_loss, ) trainer.train() ```

Klíčové je dataset. Potřebujete páry (dotaz, relevantní dokument) a ideálně tvrdé negativy. Pokud nemáte anotovaná data, vygenerujte si syntetické dotazy k odstavcům pomocí Granite 4.2. Tento model zvládne i dlouhý kontext až 128 000 tokenů, takže můžete najednou procházet celé smlouvy. Tvrdé negativy můžete těžit tak, že nejprve spustíte slabší dense retriever, vezmete jeho top-5 výsledky a ty, které nejsou správné, přidáte jako negativy do tréninku.

Pro lepší efektivitu kombinujte `MultipleNegativesRankingLoss` s `MatryoshkaLoss`, které učí model produkovat embeddingy zkracovatelné na 768, 512, 256 i 128 dimenzí. To znamená, že na produkci můžete použít krátký 128dimenzionální vektor pro rychlé filtrovaní a dlouhý 768dimenzionální až pro finální řazení. Hotové modely i datasety najdete na HuggingFace. Evaluaci obstará `InformationRetrievalEvaluator` nebo `ColBERTTripletEvaluator`, pokud chcete měřit přímo token-level skóre.

LoRA, kvantizace a úskalí lokálního tréninku

Plný fine-tuning BERT základního modelu má přes 110 milionů parametrů, což je stále zvládnutelné. Když ale přejdete k větším encoderům nebo chcete trénovat i generátor, LoRA přes knihovnu PEFT sníží počet trénovatelných parametrů na jednotky procent. Typická konfigurace vypadá takto:

```python from peft import LoraConfig, get_peft_model

lora_config = LoraConfig( r=16, lora_alpha=32, target_modules=["query", "value"], lora_dropout=0.05, bias="none", ) model = get_peft_model(model, lora_config) ```

Na Apple Silicon nefunguje 4bitová kvantizace z bitsandbytes, takže místo QLoRA použijete bf16 s menší velikostí dávky a gradient checkpointingem. To znamená pomalejší trénink, ale výsledek je plnohodnotný. Pro inference pak můžete model převést do formátu GGUF a pustit ho přes Ollamu nebo LM Studio.

Největší riziko není hardware, ale data. Pár stovek špatně anotovaných párů dokáže model zdeformovat víc než špatný learning rate. Vždy si nechte evaluační sadu, která neprošla rukama trenéra. Sledujte metriku NDCG@10 nebo MRR@10 po každé epoše. Pokud trénovací loss klesá, ale evaluační metrika stagnuje, přetrénováváte se. V takovém případě zvyšte dropout, přidejte tvrdé negativy nebo zmenšete learning rate.

Pamatujte: embedding model se chová konzervativně. Když mu dáte jen data o fotovoltaice, začne ignorovat plynové kotelny. Doménová rozmanitost je důležitější než objem. Často stačí pár tisíc kvalitních párů k tomu, abyste překonali generický veřejný model.

Proč to dává smysl v energetice

Energetický sektor je zlatým dolem pro retrievální AI. Máte tisíce stránek obchodních podmínek, historii spotových cen na SmartEnergyShare, data z IoT monitoringu a nabídky flexibility na trhu flexibility. Multi-vector embedding model umí propojit "bateriové úložiště", "regulační elektřinu" a "SVR služby" do jednoho vyhledávacího prostoru. Více o platformě najdete na SmartEnergyShare.com.

Ukažme si konkrétní scénář. Dispečink dostává každý den desítky nabídek agregované flexibility od různých poskytovatelů. Místo aby operátor ručně listoval v Excelu, zeptá se interního RAG systému: "Které nabídky z minulého měsíce pokrývaly ráno 6–8 hodin a měly aktivaci do 15 minut?" Správně natrénovaný ColBERT retriever najde příslušné smlouvy i s odchylkami v názvosloví. Jako generátor pak může sloužit Granite 4.2 8B, který odpověď sestaví a odkáže se na konkrétní paragraf.

Stejný model může pomoci při automatickém zpracování technických specifikací, hledání historicky podobných případů v údržbě nebo párování nabídek a poptávek na aukcích. Pro firmy, které chtějí začít, je vhodná stránka SmartEnergyShare pro firmy. Komunitní energetika a sdílení elektřiny jsou další oblastí, kde se lokální AI hodí. Přečtěte si více na [Sdílení energie](https://sdilenienergie.info) nebo o inovacích v energetice na [ElectricShare.cz](https://electricshare.cz).

Lokalita dat není jen bezpečnostní fráze. Když pracujete s obchodně citlivými informacemi, posílat je do cizího API znamená zbytečné riziko. Apple Silicon + Ollama + vlastní embedding model drží všechno u vás. A pokud někdy potřebujete větší výkon, model stejně uložený v HuggingFace repozitáři můžete nasadit i na serveru s NVIDIA.

Závěr: cloudový RAG pomalu zastarává

Nemusíte čekat, až vám někdo prodá hotové řešení. Základní multi-vector embedding model si natrénujete už na MacBooku Pro s 36 GB sjednocené paměti. Pokud chcete trénovat častěji a s většími modely, Mac Studio M4 Max se 96 GB je rozumný kompromis mezi cenou a výkonem. Granite 4.2 zvládne generování a nápovědy, sentence-transformers 6.0 se postará o retriever.

Největší chyba je začít shromažďováním dat. Začněte opačně: vezměte stovku nejčastějších otázek, které vaše firma řeší, a podívejte se, jak na ně odpovídá veřejný model. Tam, kde selže, si vytvořte vlastní dataset a natrénujte embeddingy. Za tři roky budou české energetické firmy, které tento postup zvládnou, schopné reagovat na trh rychleji a levněji než konkurence spoléhající na cloudová API. Ti, kdo zůstanou u generických embeddingů, budou platit předražené faktury za průměrné odpovědi.

Cena vstupu je nižší, než si většina lidí myslí. A výhoda vlastního modelu se projeví už při prvním úspěšném vyhledání dokumentu, který by cloudový embedding přehlédl.

Zdroje

Obchodujete s batteriovými úložišti nebo hledáte partnera pro flexibilitu a day trading elektřiny? SmartEnergyShare nabízí kompletní řešení pro BESS projekty od 50 do 250 kW — obchodování flexibility, SVR služby a IoT monitoring. Zjistěte víc →

Další články na toto téma najdete na: SmartEnergyShare.info vLLM V1: Tichá revoluce, která zachránila trénink AI mode... Vice o byd launches