DTensor este primitiva unificată introdusă în PyTorch 2 pentru a simplifica tehnicile avansate de paralelizare a modelelor masive. Un DTensor reprezintă un tensor global distribuit peste o grilă de plăci grafice definită printr-un DeviceMesh.
import torch
from torch.distributed.device_mesh import init_device_mesh
from torch.distributed._tensor import distribute_tensor, Shard, Replicate
# Creare grilă 2D de 4 GPU-uri (2 noduri x 2 GPU-uri per nod)
mesh = init_device_mesh("cuda", (2, 2), mesh_dim_names=("data", "model"))
global_tensor = torch.randn(8, 8, device="cuda")
# Fragmentare pe axa 0 (data parallel) și replicare pe axa 1
dtensor = distribute_tensor(global_tensor, mesh, [Shard(0), Replicate()])
print("Tensor distribuit cu succes pe DeviceMesh.")
DTensor gestionează automat comunicațiile collective (All-Reduce, All-Gather, Reduce-Scatter) necesare atunci când tensorii distribuiți interacționează în operații matematice.
Întrebări & Exemple practice:
Tehnologia DTensor (Distributed Tensor) pentru ParalelizareAi o întrebare despre Tehnologia DTensor (Distributed Tensor) pentru Paralelizare 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.