Mixture-of-Experts (MoE) (CS)
Mixture-of-Experts (MoE) (z angl. — „Směs expertů") — je architektura neuronových sítí založená na principu podmíněných výpočtů a paradigmatu „Rozděl a panuj". Namísto použití jediného monolitického („hustého") modelu, ve kterém jsou všechny parametry zapojeny do zpracování každého vstupního signálu, architektura MoE dekomponuje úlohu a deleguje ji na podmnožinu specializovaných podsítí nazývaných „experti". Speciální komponenta, směrovací síť (gating network neboli router), dynamicky určuje, kteří experti budou zpracovávat každý konkrétní vstupní token[1][2].
Tento přístup umožňuje vytvářet modely s obrovským počtem parametrů (stovky miliard nebo dokonce biliony), přičemž výpočetní náklady (FLOPs) ve fázi inference zůstávají na úrovni výrazně menších hustých modelů[3]. Díky tomu se MoE stala klíčovou technologií pro škálování moderních velkých jazykových modelů (LLM) a je využívána v předních systémech, jako jsou Mixtral 8x7B, Grok-1 a podle široce rozšířeného názoru také GPT-4[1].
Klíčový princip: podmíněné výpočty a řídkost
Fundamentálním mechanismem MoE jsou podmíněné výpočty (conditional computation). Na rozdíl od hustých modelů, kde jsou při zpracování každého tokenu aktivní všechny parametry, aktivují MoE modely pouze malou část svých parametrů v závislosti na vstupních datech. Tento proces vede k řídkosti aktivací (sparsity in activation), což je hlavní odlišností od tradičních architektur[4].
Tento přístup umožňuje:
- Škálovat kapacitu modelu: Celkový počet parametrů (a tedy i „znalostí" modelu) lze výrazně zvýšit bez proporcionálního nárůstu výpočetní zátěže.
- Zvýšit efektivitu: Model provádí méně výpočtů na každý token, což vede k rychlejší inferenci a snížení nákladů na trénování při pevně stanoveném výpočetním rozpočtu[5].
MoE tak přesouvá úzké hrdlo z výpočetního výkonu směrem k požadavkům na paměť (VRAM), protože všechny parametry všech expertů musí být načteny do paměti, i když v každém okamžiku je využívána jen jejich malá část[6].
Komponenty architektury MoE
1. Expertní podsítě (Experts)
Experti jsou zpravidla nezávislé neuronové sítě. V kontextu architektury transformer vrstvy MoE obvykle nahrazují husté plně propojené bloky (Feed-Forward Networks, FFN) a každý expert je sám o sobě FFN[1]. Během trénování může každý expert rozvíjet „kompetenci" v určitých oblastech — například jeden se může specializovat na syntax, jiný na fakta z konkrétní znalostní oblasti a další na určitý jazyk nebo styl[7].
2. Řídící síť (Gating Network / Router)
Směrovací síť je malá, ale kriticky důležitá komponenta, která provádí inteligentní rozdělování úloh. Pro každý vstupní token router vypočítá skóre (váhy) a určí, kteří experti jsou pro jeho zpracování nejrelevantnější. Rozhodnutí o směrování je dynamické a závislé na kontextu[8].
Nejrozšířenější strategií je směrování Top-K, při němž jsou pro zpracování tokenu vybráni K experti s nejvyššími skóre. Hodnota K bývá malá (například 1 nebo 2), což zajišťuje řídkost.
3. Sloučení výstupních dat
Poté, co vybraných K expertů zpracovalo token, jsou jejich individuální výstupy sloučeny za účelem vytvoření konečného výsledku vrstvy MoE. Obvykle se to provádí váženým součtem, kde váhy jsou normalizovaná skóre vygenerovaná routerem[1].
Evoluce MoE
Koncept MoE byl poprvé navržen v roce 1991 v práci Roberta Jacobse, Geoffreyho Hintona a Michaela Jordana nazvané „Adaptivní směs lokálních expertů"[3]. Kvůli výpočetním omezením a složitosti trénování se však myšlenka nerozšířila až do éry hlubokého učení.
Průlom nastal s příchodem architektury Transformer. Výzkumy z let 2010–2015 věnované podmíněným výpočtům (Yoshua Bengio a další) položily teoretický základ a práce Shazira a kol. (2017) demonstrovala možnost škálování MoE na 137miliardový LSTM model[8].
Soudobé oživení MoE je spojeno s modelem Switch Transformer od společnosti Google (2021), který byl škálován až na 1,6 bilionu parametrů s využitím jednoduchého, ale efektivního směrování Top-1[9]. Úspěch otevřeného modelu Mixtral 8x7B od Mistral AI v roce 2023 definitivně ustanovil MoE jako jednu z předních architektur pro tvorbu vysoce výkonných LLM[1].
Problémy a metody optimalizace
Vyvažování zátěže
Jedním z klíčových problémů MoE je nerovnoměrná zátěž, kdy router neustále vybírá stejné „oblíbené" experty, zatímco jiní zůstávají nevyužiti. To vede k neefektivnímu trénování a „kolapsu expertů".
- Pomocné ztrátové funkce (Auxiliary Loss): Tradiční metoda, která přidává do hlavní ztrátové funkce „penalizaci" za nerovnoměrné rozdělení tokenů. Ačkoli to pomáhá s vyvažováním, tento přístup může vnášet „rušivé gradienty", které zhoršují celkový výkon[10].
- Vyvažování bez ztrát (Loss-Free Balancing): Novější přístup, který dynamicky aplikuje odchylku (bias) na skóre routeru, čímž jej posouvá k vyváženějším rozhodnutím bez zásahu do hlavní tréninkové úlohy[11].
- Směrování na základě výběru experty (Expert Choice Routing): Alternativní přístup, kde tokeny nevybírají experty, ale každý expert si ze šarže vybírá `top-k` tokenů. To zaručuje dokonalé vyvažování, ale může být složitější na implementaci[1].
Fine-tuning a kvantizace
- Fine-tuning: Historicky byly MoE modely náchylné k přetrénování kvůli velkému počtu parametrů. K zmírnění tohoto problému se používají metody jako „expertní dropout"[12].
- Kvantizace (Quantization): Snížení číselné přesnosti vah za účelem zmenšení velikosti modelu a zrychlení inference. Pro MoE je to náročný úkol kvůli meziekpertní nerovnováze. Metody jako MoEQuant nabízejí řešení založená na vyvážené kalibraci pro každého experta[13].
Systémová optimalizace
Efektivní nasazení MoE vyžaduje ucelený systémový přístup zahrnující:
- Strategie paralelismu: Expertní paralelismus (rozdělení expertů na různé GPU), modelový paralelismus a datový paralelismus[14].
- Specializovaná jádra (Kernels): Například Megablocks pro Mixtral, která optimalizují maticové násobení pro řídké operace[15].
- Společný návrh hardwaru (Hardware Co-design): Vývoj hardwarových řešení speciálně optimalizovaných pro pracovní zátěže MoE.
Významné modely MoE
| Model | Vývojář | Celkový počet parametrů |
Aktivní parametry |
Počet expertů |
Vybíraní experti (k) |
|---|---|---|---|---|---|
| Switch Transformer C-2048 | 1,6 bilionu | Závisí na velikosti experta | 2048 | 1 | |
| Mixtral 8x7B | Mistral AI | ~47 mld | ~13 mld | 8 | 2 |
| Grok-1 | xAI | 314 mld | 86 mld | 8 | 2 |
| GPT-4 (předpokládaně) | OpenAI | >1 bilion | - | 16 (předp.) | 2 (předp.) |
| Qwen 2 MoE | Alibaba | 57–90 mld | 14 mld | 64 | 4 nebo 8 |
| DeepSeekMoE 16B | DeepSeek-AI | 16,4 mld | ~2,8 mld | 64 (2 aktivní) | 2 (ze 6)[16] |
Využití v různých oblastech
Ačkoli jsou MoE nejznámější v kontextu LLM, jejich využití se neomezuje pouze na zpracování přirozeného jazyka:
- Předpověď časových řad: Model Time-MoE představuje škálovatelnou architekturu pro předtrénování predikcních modelů[17].
- Detekce zranitelností: MoEVD využívá MoE k rozkladu úlohy detekce zranitelností na klasifikaci podle typů CWE, přičemž každý expert se specializuje na svůj typ[18].
- Integrace s blockchain technologiemi: MoE nachází uplatnění v optimalizaci chytrých kontraktů a detekci podvodů, kde experti analyzují různé vzory transakcí[19].
- Multimodální modely: MoE se využívá ke kombinování expertů specializovaných na různé modality (text, obraz, zvuk), čímž vznikají univerzálnější systémy[20].
Poznámky
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 «Applying Mixture of Experts in LLM Architectures». NVIDIA Technical Blog. [1]
- ↑ «Mixture of Experts (MoE): A Big Data Perspective». arXiv. [2]
- ↑ 3.0 3.1 «Mixture-of-Experts (MoE): что это такое и как работает». LLM Studio. [3]
- ↑ «Serving Mixtral MoE Model». Friendli.ai Blog. [4]
- ↑ «What is Mixture of Experts (MoE)? How it Works and Use Cases». Zilliz Learn. [5]
- ↑ «Mixture of Experts (MoE) vs Dense LLMs». Maximilian Schwarzmüller's Blog. [6]
- ↑ «Understanding Mixture of Experts in Deep Learning». VE3. [7]
- ↑ 8.0 8.1 «Mixture of Experts Explained». Hugging Face Blog. [8]
- ↑ «Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity». arXiv. [9]
- ↑ «Auxiliary-Loss-Free Load Balancing Strategy for Mixture-of-Experts». OpenReview. [10]
- ↑ «DeepSeek-V3 Explained: 3. Auxiliary-Loss-Free Load-Balancing». gopubby.com. [11]
- ↑ «Switch Transformers: Scaling to Trillion Parameter Models with...». cse.ust.hk. [12]
- ↑ «MoEQuant: Enhancing Quantization for Mixture-of-Experts...». arXiv. [13]
- ↑ «A Survey of Mixture of Experts Models: Architectures and Applications in Business and Finance». Preprints.org. [14]
- ↑ «Mixtral of Experts». arXiv. [15]
- ↑ «A Survey on Inference Optimization Techniques for Mixture of Experts Models». arXiv. [16]
- ↑ «Time-MoE: A Scalable and Unified Framework for Pre-training Time Series Foundation Models». arXiv. [17]
- ↑ «MoEVD: A Mixture of Experts-based Framework for Vulnerability Detection». Semantic Scholar. [18]
- ↑ «What a Decentralized Mixture-of-Experts (MoE) Is and How It Works». Gate.io Learn. [19]
- ↑ «LLaMA-MoE: Building Mixture-of-Experts from Open-source LLMs». arXiv. [20]