Advertisement
Guest User

Untitled

a guest
Oct 28th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.49 KB | None | 0 0
  1. 안녕하세요 F조입니다.
  2. 저희 조의 주제는 DSSTNE의 딥러닝 클라우드 이미지 만들기입니다.
  3.  
  4. 먼저, 간단히 Overview를 한 뒤, 문제점과 목표를 짚고 나서 어떻게 접근할 것인지,
  5. 어떤 환경에서 개발할 것인지 보고 이 프로젝트의 구조와 스펙을 말씀드리겠습니다.
  6. 그 뒤 현재 작업 상황과 남은 작업들, 일의 분배와 스케쥴에 대해서 말씀드리겠습니다.
  7.  
  8. DSSTNE는 아마존 웹서비스에서 개발한 딥러닝 라이브러리입니다.
  9. 다른 딥러닝 라이브러리와 다르게 1개 이상의 GPU를 사용한다는 장점이 있습니다.
  10. 아래는, 구글에서 개발한 딥러닝 라이브러리인 Tensorflow와의 비교 그래프입니다.
  11. 첫번째 항목은 Tensorflow의 한 epoch에 소요되는 시간을 보여주고 있습니다.
  12. 두번째 항목부터는 DSSTNE에서 single GPU, double GPU, quad GPU, 8 GPU에서의 수행시간입니다.
  13. Single gpu에서도 Tensorflow보다 두 배 가량 빠르며, GPU의 수가 늘 수록 더 빨라지는 모습을 확인할 수 있습니다.
  14.  
  15. 그러나 우수한 수행능력에도 불구하고, DSSTNE의 인지도 및 실 사용자 수는 Tensorflow에 비하여 한참 부족합니다.
  16. 이는 낮은 사용성 및 부족한 예시에 기인합니다.
  17. 따라서 이 프로젝트에서는 부족한 사용성을 개선하고, 예시 프로젝트를 추가하는 것을 주요한 목표로 삼고 있습니다.
  18. 더불어 챌린징한 부분으로 DSSTNE 프로젝트의 성능을 개선하고, 이에 대한 벤치마크 테스트를 수행할 예정입니다.
  19.  
  20. 성능 개선에 대해서는 세 가지로 접근해보고자 합니다.
  21. 우선, 비동기적으로 코드를 복사하는 것을 구현할 예정입니다.
  22. 현재 DSSTNE는 GPU를 통하여 행렬 곱셈을 수행하는데, 이를 위하여 CPU에서 GPU로 값을 복사합니다.
  23. 그러나 복사한 값을 즉시 사용하는 것이 아니라면 비동기적으로 값을 복사할 수 있습니다.
  24. 따라서 오른쪽과 같이 비동기적으로 복사해오도록 개선하여 수행 시간을 단축시킬 예정입니다.
  25.  
  26. 두번째로, 병렬화를 구현하고자 합니다.
  27. 한 epoch은 이 그림과 같이 forward propagation과 backward propagation으로 구성됩니다.
  28. 레이어간의 계산에 디펜던시가 있기 때문에 현재 DSSTNE에서는 순차적으로 계산하고 있는데
  29. 이를 부분적으로 병렬화할 수 있을 것 같습니다.
  30.  
  31. 세번째로, 멀티스트림을 구현할 예정입니다.
  32. CUDA 7.0에는 멀티 스트림 기능이 구현되어 있습니다.
  33. 그러나 현재 DSSTNE는 순차적으로 계산을 수행하고 있기 때문에 멀티 스트림 기능을 사용하고 있지 않습니다.
  34. 하지만 앞서 말한 것처럼 병렬화를 구현한다면, 각 GPU에 task를 분배하여 시간 단축을 도모할 수 있을 것 같습니다.
  35.  
  36. 현재 개발 환경은 다음과 같습니다.
  37.  
  38. 저희 프로젝트의 아키텍쳐는 이 다이어그램과 같습니다.
  39. 기본적으로 EC2의 instance에서 계산을 수행하고 이 인스턴스들은 AMI로 구성합니다.
  40. 예시 프로젝트의 데이터는 S3에 저장하고, 이것들을 Cloud Formation Template로 묶어 편하게 이용할 수 있도록 제공합니다.
  41.  
  42. 한편 DSSTNE의 아키텍쳐는 다음과 같습니다.
  43. NNNetwork는 Neural Network를, NNLayer에서는 뉴런의 출력 값을, NNWeight는 레이어 간 시냅스의 weigh을 관리합니다.
  44. 현재 아키텍쳐는 흰색 글씨로 표현된 부분인데요,
  45. 개선이 이루어진 후에는 주황색으로 표현된 것과 같이 병렬화 가능한 부분과 불가능한 부분으로 세분하고, Backpropagation 함수도 Delta와 Gradient를 계산하는 부분으로 세분하여 최적화를 진행할 예정입니다.
  46.  
  47.  
  48. 현재 진행된 부분은 다음과 같습니다.
  49. DSSTNE와 그 prerequisite로 구성된 AMI, 거기에 추가로 Tensorflow를 이용할 수 있는 AMI를 구성하였습니다.
  50. iris flower 및 mnist dataset을 이용한 예시 프로젝트를 구성하였고요,
  51. 앞서 설명드린 바와 같이 코드를 분석하고 이에 따라 성능을 개선할 계획을 수립했습니다.
  52.  
  53. 따라서 남은 기간 동안에는 사용성 개선을 위해서 S3, Cloud Formation을 이용할 계획이구요,
  54. 성능을 개선하고 이에 따른 성능을 테스트할 예정입니다.
  55.  
  56. 저희 업무 분배는 이와 같고요,
  57. 스케줄은 이와 같습니다.
  58.  
  59. 감사합니다.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement