Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

NCCL (NVIDIA Collective Communications Library) เป็น library การสื่อสารแบบกลุ่มที่พัฒนาโดย NVIDIA สำหรับการทำ Parallel processing บน GPU โดยเฉพาะอย่างยิ่งในการ train deep learning model ที่ใช้ GPU หลายใบ NCCL ถูกออกแบบมาเพื่อเพิ่มประสิทธิภาพการสื่อสารระหว่าง GPU ในระบบที่มี GPU หลายใบ ทั้งภายใน single node และ multinode

...

Panel
panelIconIdatlassian-warning
panelIcon:warning:
bgColor#FFFAE6

However, the product of NCCL_SOCKET_NTHREADS and NCCL_NSOCKS_PERTHREAD cannot exceed 64.

โดย parameter 2 ตัวนี้ จะใช้ทรัพยากรส่วนหนึ่งของ CPU ในการสื่อสารกันระหว่าง GPU/node ซึ่งในการประมวลผล main task จะต้องใช้ทรัพยากรของ CPU เช่นกันจึงต้อง balance เพื่อหาค่า parameter ที่เหมาะสม

...

สำหรับการทดสอบของเรา เราได้ทดลองการ train mode Llama2-13b ทดสอบโดยใช้ dataset alpaca(52k) ที่ 1 epoch และจำนวน 32 node และใช้ Deepspeed (- ZeRO stage 3 ) ได้ผลลัพธ์ดังนี้

NCCL_SOCKET_NTHREADS

NCCL_NSOCKS_PERTHREAD

Testing Rounds

Average time (sec)

Standard Deviation

8

2

4

307.91

3.21

16

2

4

309.88

7.19

8

4

4

311.61

2.29

16

4

4

313.36

0.98

4

4

4

316.64

3.39

8

8

4

321.70

3.98

4

8

1

321.78

N/A

2

2

4

323.78

2.90

2

8

1

326.43

N/A

2

16

1

348.85

N/A

...