training neural training neural networks on the networks
play

TRAINING NEURAL TRAINING NEURAL NETWORKS ON THE NETWORKS ON THE - PowerPoint PPT Presentation

TRAINING NEURAL TRAINING NEURAL NETWORKS ON THE NETWORKS ON THE EDGE EDGE Navjot Kukreja, Alena Shilova Also: Olivier Beaumont Jan Huckelheim Nicola Ferrier Paul Hovland Gerard Gorman BACKGROUND BACKGROUND Typical data ow pattern


  1. TRAINING NEURAL TRAINING NEURAL NETWORKS ON THE NETWORKS ON THE EDGE EDGE Navjot Kukreja, Alena Shilova

  2. Also: Olivier Beaumont Jan Huckelheim Nicola Ferrier Paul Hovland Gerard Gorman

  3. BACKGROUND BACKGROUND

  4. Typical data �ow pattern for adjoint problems

  5. Memory consumption during an adjoint problem

  6. Checkpointing (Revolve)

  7. S e tup Forward step Executing forward step Saved forward step Reverse step Executing reverse step Reverse step completed

  8. Where else do we see the same data-access pattern? VGGNet

  9. ARRAY OF THINGS ARRAY OF THINGS

  10. WAGGLE PAYLOAD COMPUTER WAGGLE PAYLOAD COMPUTER ODROID XU4 based on the Samsung Exynos5422 CPU four A15 cores, four A7 cores Mali-T628 MP6 GPU that supports OpenCL, 2GB LPDDR3 RAM attached �ash storage

  11. VIEWPOINT PROBLEM VIEWPOINT PROBLEM

  12. STUDENT-TEACHER MODEL STUDENT-TEACHER MODEL

  13. CHALLENGES CHALLENGES Network (not a challenge) Storage (not a challenge) Computation (not necessarily a challenge) Memory!

  14. MEMORY REQUIRED TO TRAIN RESNET MEMORY REQUIRED TO TRAIN RESNET

  15. Memory required (MB) for image size $224 \times 224$

  16. Memory required (MB) for batch size 1

  17. Memory required (GB) for batch size 8

  18. CHECKPOINTING CHECKPOINTING

  19. PyTorch fast-evolving Python package widely applied in deep learning uses Tensors as a basic class Tensors are similar to NumPy arrays which also allow to work with them on GPU dynamically de�nes the computational graph of the model designed to be memory ef�cient: there is checkpointing strategy

  20. Checkpoint sequential: number of segments = 2

  21. Checkpoint sequential: number of segments = 2

  22. Checkpoint sequential: number of segments = 2

  23. Checkpoint sequential: number of segments = 2

  24. Checkpoint sequential: number of segments = 2 $$ \mbox{Memory} = s - 1 + \bigl(l - \left\l�oor l/s \right\r�oor (s -1) \bigr). $$

  25. Revolve: dynamic programming $$ \small{\mbox{Opt}[\ell,1] = \frac{\ell (\ell +1)}{2} u_f + (\ell+1 ) u_b}$$ $$\small{\mbox{Opt}[1, c] = u_f +2 u_b}$$ $$\small{\mbox{Opt}[\ell, c] = \min_{1 \leq i \leq \ell-1} ( i u_f +\mbox{Opt}[\ell - i, c -1] + \mbox{Opt}[i-1, c]) }$$

  26. Comparison of Checkpoint sequential and Revolve Batch Size: $1$, Image Size: $224 \times 224$

  27. Batch Size: $8$, Image Size: $224 \times 224$

  28. Batch Size: $1$, Image Size: $500 \times 500$

  29. Batch Size: $8$, Image Size: $500 \times 500$

  30. PRACTICAL IMPLEMENTATION AND PRACTICAL IMPLEMENTATION AND CONCLUDING REMARKS CONCLUDING REMARKS

  31. THANK YOU THANK YOU

Recommend


More recommend