Când un model de limbaj (ex: Llama-70B) este prea mare pentru a încăpea în memoria unui singur GPU chiar și în faza de inferență, Tensor Parallelism (TP) împarte fiecare matrice de ponderi pe mai multe acceleratoare interconectate prin NVLink.
În conformitate cu abordarea Megatron-LM:
- Primul strat liniar este partiționat pe coloane (Column Parallel).
- Al doilea strat liniar este partiționat pe rânduri (Row Parallel), urmat de o operație
All-Reducepentru a însuma rezultatele.
from torch.distributed.tensor.parallel import parallelize_module, ColwiseParallel, RowwiseParallel
# Exemplu de paralelizare a unui strat Multi-Layer Perceptron (MLP)
parallel_plan = {
"w1": ColwiseParallel(), # Proiecție pe coloane
"w2": RowwiseParallel() # Proiecție pe rânduri cu All-Reduce
}
parallelize_module(transformer_block.mlp, mesh, parallel_plan)
Tensor Parallelism atinge scalabilitate aproape liniară datorită lățimii uriașe de bandă a magistralelor NVLink (până la 900 GB/s per GPU).
Întrebări & Exemple practice:
Paralelizarea Tensorilor (Tensor Parallelism – TP) în LLM-uriAi o întrebare despre Paralelizarea Tensorilor (Tensor Parallelism – TP) în LLM-uri sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!
Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.