?? ??? ?? ? ?? ??? ???(deep convolutional backbone network)? ???? ?? ???? ?? ??? ?????? ?? GPU ??? ?? ??? ?????. ??? ???? ??? ?? ?? ??? ?? ?? ???? ?? ???? ????? ???? ??? ????.
? ?????? NVIDIA? ??? ?? ??? ???? NIO ?? ?? ??? ?? ?????. ?? Tensor ?? ??? ???(CNN) ????? GPU ??? ?? ??? ??? ? ??? ??? ? ? ??? ?????. ?? NIO? ???? ???? ?? ?? ??? ???? ???? GPU ???? ??? ??? ?? ?????.
???? ???? ?? ?? ?? ??
???? ?? ??? ?? ??? ???? ????, CNN? ???? ???? ??? ?????. CNN? ??? ???? (N, C, H, W) ??? ?? ???, ??? N, C, H, W? ?? ??? ?, ?? ?, ??, ??? ?????. ???? ?? ??? ??? ???? ??? ?? ?????? ????? ??? ???? ?????.
?? ?? 720?? ???? 6? ??? RGB ??? ?? ?? ??? 1? ??? ?? ???? ?? ??? (6, 3, 720, 1280)???. RegNet ?? ConvNeXt? ?? ???? ?? ???? ??? ?? ??? ?? ??? ? ??? ??? ??? ????? ?? ?? GPU ??? ??? ??? ??? ? ????.
NIO ???? ?? ??? ??? ? ???? ??? ? ?? ??? ???? ???? ? ?? ???? ?? ??? ? ???, ?? ?? ?? ?? ??? ??? ? ?? ?????. 11?? 8???? HD ???? ???? NIO Aquila Super Sense ???? ?? 8GB? ??? ???? ?????.
GPU ??? ???? ?? ??
?? ??? ???? ???? ?? GPU ??? ???? ?? ??? ??????. ???? ??? GPU ??? ??? ???? ?? ?? ???? ??? ?? ?? ??? ??? ???? ???? ????? ?????(gradient checkpointing)? ?????. ?? ??? ?? ??? ?? ???? ?? ?????.
GPU ???? ????? ???? ??? ????? ???? ?? ???? ??? ?????. ?? ????? ?????? ????? ????? ???? ?? ??? ?? ???? ????? ??? ?? ????? ?? ??? ???.
NIO? ?? GPU ??? ????? ???? ???? ???? ???? ????? ?? ?? GPU? ???? ????? ?? ??? ??????. ? ?? ??? ???? ?? ??? ?? GPU? ???? ??????. ??? GPU ?? ??? ?? ???? ???? ?? GPU? ???? ???? ?? ??? ????.
PyTorch DTensor ?? Tensor ?? CNN ????
??? ??? ???? NVIDIA? NIO? ?? GPU?? ??? ?? ???? ?????? Tensor ?? CNN ????? ???? ???? ??????. ?? ???? ??? ??? ??? ?? ????? ????? ? GPU? ?????. ? ?? ???? ?? GPU? GPU ??? ?? ??? ???? ??? ??? ?????.
PyTorch 2.0? ??? DTensor? ?? ? ??? ?? Tensor ??? ???? ?? ?? ??? ?????. DTensor? ?? ??? ?? NCCL(NVIDIA Collective Communications Library)? ?? ?? ?????? ????? ??? ?? ?? ???? ????? ?? ???? ???? ??? ?? ???? ?? ??? ? ????.
DTensor? ???? ?? ???? Tensor ??, ?? ??? ?? ? ??? ??? ??? ??? ??? ??? ?? ???? ??? ?? ??? ? ????.
??
?? ??? ?? CNN ??? ConvNeXt-XL? ?? ?? Tensor ?? CNN ????? ??? ?????. DTensor? ??? ?? ?????.
- ?? ????:
Replicate
- ? GPU? ????? ?????. ?? ??? 3? 5,000? ?? ????? ???? FP32? ??? ? 1.4GB? GPU ???? ?????.
- ?? ??:
Shard(3)
- (N, C, H, W)? W ??? ???????. ?? ????? ? GPU? ?????. ?? ??, 4?? GPU?? ??(7, 3, 512, 2048)? ???? ??
Shard(3)
? 4?? ?? ????(7, 3, 512, 512)? ?????.
- (N, C, H, W)? W ??? ???????. ?? ????? ? GPU? ?????. ?? ??, 4?? GPU?? ??(7, 3, 512, 2048)? ???? ??
- ???:
Shard(3)
- (N, C, H, W)? W ??? ???????. ? GPU? ??? ????? ?????.
- ?? ????? ?????:
Replicate
- ? GPU? ????? ?????.
- ??? ??:
Replicate
- ? GPU? ????? ?????.
? ??? DTensor?? ???? API? ?? ??? ? ????. ???? ?? ???? ? ?? ??? ??? ????? ?? ?? Tensor? ??? ???? ?????.
Tensor ?? ????? ?????? ??? ??? aten.convolution
? aten.convolution_backward
? ?? ?? ??? ???? ???. ??? ?? DTensor? ??? ?? ?? DTensor? ??? ?????.
aten.convolution
- ?? ???
Shard(3)
, ??? ? ?? ???Replicate
, ?? ???Shard(3)
- ?? ???
aten.convolution_backward
grad_output
???Shard(3)
, ??? ? ?? ???Replicate
,grad_input
???Shard(3)
,grad_weight
?grad_bias
???_Partial
_Partial
??? ?? DTensor? ?? ?? ???? ?? ?? ???? ??? ?? ???? ?? ??? ?????.
??? Tensor ?? ??? ???? ??? ? ??? ?????. ???? ?? GPU? ?? ?????? ??? ??? GPU? ?? ???? GPU ? ??? ??? ?? GPU? ???? ?? ???? ??? ? ????. ConvNeXt-XL ????? ? ??? ????? ???? ????? ??? ??? Block? ??? ????? ???? ???.
??? ??? ???? ?? ?? ???? ???? ??? ? ??? ???? ?? ???? ?? Tensor? ??? ? ????. ?? ???? Tensor ?? ???? ???? ?? ?? ?? 1? 2? ??? ??? ??? ? ??? ????? ?????. ???? N ? C ??? ???? ??? ?? ??? 5×5, ??? 2, ?????? 1??? ?????.?

?? 1?? ? ? ??? ??? ?? ??? 5×5, ??? 2, ?????? 1? ? ? GPU? ?? ??? ??? GPU?? ?? 2? ?? ??? ???? ??? ?? ???? ???? ???. ?, Tensor ?? ???? ???? ???? ???? GPU ? ??? ??? ?????. ? ??? ??? PyTorch? ???? NCCL ??? ?? ???? ???? ???? ? ????.?
???? ?? GPU?? ?????? ?? ??? ???? ?? ??? ???? ??? ?? ??? ??? ????. ?? 1? ??? ?? ???? ? ? ??? ?? ??? ??? ??? ??? ? ???? ?? ?? ???? ?? ??? ???? ?? ??? ??? ???.
?? 2? Tensor ?? ???? ?? ???? ?????? ?????. ?? ?? ??? ????? ??? ????, ?? ??? ?? ? ??? ?? ??? ??? ?????. ?? ??? ?? ???? ??, ?? ? ??? ??? ??? ?????.
?? ? GPU?? ??? ??? ???? ???? ??? ?????, ?? ????? ? ????? ??? ?? ? ????.

??? ????? ? ?? ?????? ??? _Partial
??? ?? ? ?? GPU?? ?? ?? ???? ?????. ????? ??? ??? Shard(3)
???.?
????? ?? 2? ??? ??? ??? ??? ?? ????? ??? ?? ??? ??? GPU? ???? ?? ??? ?????.
??? ??? ??? ConvNeXt-XL?? Tensor ?? ????? ???? ?? ???? ?? ?? ???? ????. ?? ?? ?? ??? DropPath
????? ???? aten.bernoulli ???? ?? ????? ???. ? ???? GPU ???? ???? ???? ?? ?? ?? ???? ?? ??? ????? ???.?
?? ??? PyTorch GitHub ?????? ?? ???? ??????? ???? DTensor? ?? ?? API? ?? ???? Tensor ?? CNN ????? ??? ? ????.
Tensor ?? ??? ??? ConvNeXt ????? ???? ??
??? ConvNeXt-XL ????? ??? GPU ??? ?? ??? ???? ?? NVIDIA DGX AI ???? ?? ????? ??????. ????? ?????? DTensor ??? ?? ???? ? ??? ???? GPU ??? ???? ? ?? ?? ? ????.
? ????? ??? ?? ??(7, 3, 512, 1024)? ?? ??? NVIDIA GPU?? PyTorch ?? Tensor? ???? ????. ????? ?????? ?? ?? GPU ??? ?? ??? 43.28GiB?? ?? ???? ???? 723ms? ?????. ????? ?????? ???? ?? 11.89GiB? 934ms???.
?? ??? ?? 3? 4? ?? ????. ?? ?? ??? (7, 3, 512, W)??, ??? W? 1024?? 8192?? ?????. ??? ????? ?????? ???? ?? ???? ??? ????? ?????? ??? ?????.?


?? 3?? ? ? ??? DTensor? ???? ???? ?????? ConvNeXt-XL ????? GPU ??? ?? ??? ????? ?? ? ??? DTensor? ????? ?????? ?? ???? ?? ?? ???? ?? ? ????. ?? 4?? ? ? ??? Tensor ?? ?? ??? ?? ???? ???? ?? ??? ??? ? ?? ??? ???? ?????. ??? ????? ?????? ???? ?? ??? ?????.
- 2?? GPU?? ??(7, 3, 512, 2048)? ?? ??? ?? ?? ???? 937ms? ?????.
- 4?? GPU?? ??(7, 3, 512, 4096)? ?? ??? ?? ?? ???? 952ms? ?????.
- 8?? GPU?? ??(7, 3, 512, 4096)? ?? ??? ?? ?? ???? 647ms? ?????.
??
DTensor? ???? Tensor ?? CNN ????? ???? NIO? ?? ???? ??? ?? R&D ???? NADP(NIO Autonomous Driving Development Platform)?? ???? ???? ????? ???? ???? ?????. NADP? ?? ??? ?? ?? ? ???? ??? ??? ? ?? ??? ??? ? ??? ??? ???? ??? ???? ? ??? ?? ??? ???? ??? ?????.
? ?? ?? ??? ?? NADP? 10,000-GPU ???? ?? ???? ??? ? ????. ?? ?? GPU ???? ???? ?? ???? ??? ???? ?? ??? ?? ??? ?????. ????? ??? ? ?? ??? NIO? ???? ?????? ??? ??? ???? ?? ?? ??? ?????? ??? ????? ?????.
PyTorch DTensor ??? CNN? ?? Tensor ?? ?? ????? ??? ?? ??? ?? ??? ??? ???? ??? ? ????. ? ?? ???? ??? ??? ?? GPU? ?? ??? ??? ???? ?? ?? ????? ?? ??? ???? ? ?? ??? ?????.
??? ??? PyTorch GitHub ?????? ?????.