Deepspeed NVMe baseline 분석

- 1 min

Deepspeed nvme offload 사용시 flow 정리

파일명 규칙 정리

Gradient의 흐름

backward 계산 후 allreduce_gradients에서 fp32형태의 gradient가 ssd로 swap_out된다. 이 중 주의할 것은 swap_out이 될때 모두 swap out 될 수 있는 것은 아니다. unswapped가 남아있다. optimizer step전에 gradient 가 optimizer state와 함께 swap_int된다.

가장 중요한 _swap_out_gradients() -> zero/stage3.py

DeepSpeedZeRoOffload 클래스 초기화

self._pre_step();

deepspeed/runtime/zero/stage3.py

deepspeed/runtime/zero/parameter_offload.py

deepspeed/runtime/zero/partitioned_param_coordinator.py

self._partition_all_parameter()

의문점들

  1. param_coordinator.hierarchy?

  2. param_coordinator.__inflight_param_registry

comments powered by Disqus