후지쯔 연구소는 Deep Learning 학습 과정에서 GPU의 병렬 처리에 의한 학습속도소프트웨어 기술을 개발했다고 발표했습니다.
1대의 컴퓨터에 탑재 할 수 있는 GPU개수는 제한되어 있기 때문에 처리 성능을 높이기 위해 다수의 GPU를 이용하려면 고속 네트워크에서 여러 컴퓨터를 서로 연결하고 데이터를 공유하고 학습 과정을 추진할 필요가 있습니다.
그러나 딥 러닝의 병렬 처리에서는 공유가 필요한 작업 단위에서 공유가 필요한 데이터 량과 연산 시간에 편차가 있으며, 이외에 이전의 연산 결과를 이용하면서 순서대로 연산을 하기 때문에 병렬 처리의 데이터 공유가 복잡합니다. 따라서 컴퓨터의 대수를 늘려 고속화의 효과를 얻는 게 어렵다는 문제가 있었습니다.
후지쯔 연구소에서는 통신과 연산을 동시에 병렬로 실행하는 슈퍼 컴퓨터의 기술과 딥러닝의 처리 순서와 공유하는 데이터 크기의 특징에 맞게 처리 방법을 바꾼 다음의 두 가지 기술을 개발하고 크고 작은 공유 데이터 크기가 포함 된 경우에도 처리와 처리 사이의 대기 시간의 증가를 억제하여 학습 처리의 고속화를 실현했습니다.
데이터 공유 스케줄링 기술은 연속적으로 계속 여러 연산에서 다음 학습 과정의 시작에 필요한 데이터가 먼저 각각의 컴퓨터에서 공유되도록 전송의 우선 순위를 자동으로 제어하는 것으로 종래 기술에서는 다음 학습 초기 처리에 필요한 1계층의 데이터 공유 처리가 마지막으로 행해지기 때문에 데이터 공유 처리 지연이 길어지는 반면 새로 개발 한 기술은 2계층 째의 데이터 공유가 중간에 1계층 째의 데이터 공유 처리를 행하는 것으로, 다음의 학습 처리의 개시까지의 대기 시간을 단축하는 동작을 실현했다고 합니다.
데이터 공유 스케줄링 기술
데이터 크기에 따라 연산 최적화 처리 기술은 연산 결과를 전체 컴퓨터에서 공유하는 과정에서 바탕이 되는 데이터의 양이 적을 때는 각 컴퓨터에서 데이터를 공유하고 동일한 연산을 실행 해 버리는 것을 막아 결과를 전송하는 시간을 줄일 수 있습니다. 데이터 량이 많을 때는 처리를 분할하여 다른 컴퓨터와 산출 한 결과를 공유하여 이후의 연산에 이용합니다. 데이터의 양에 따라 최적의 연산 방법을 수행하도록 자동으로 배분하여 처리 시간을 단축하고 전체 연산 시간을 최소화한다고 합니다.
공유 데이터 크기가 작은 경우 (상단)과 큰 경우 (하단)에 의한 처리의 차이
이번에 개발한 기술은 심층 학습 프레임 워크 “Caffe”에 구현하고 GPU를 각각 탑재 한 64 대의 컴퓨터를 사용하여 이미지 인식을 위한 다층 신경망"AlexNet"의 학습 시간을 측정한 결과, GPU를 하나만 사용하는 경우에 비해 27 배의 속도를 달성했습니다. 컴퓨터 1대에 약 1개월 소요 학습 처리를 GPU 64개의 병렬 동작은 하루면 처리하는 것이 가능하다고 합니다.
개발한 기술을 적용하지 않는 경우와 비교하면 GPU 16대 46%, 64대에서 71%의 학습 속도의 향상을 실현했다고 합니다.
후지쯔 연구소는 이번에 개발 한 기술을 Fujitsu Limited의 AI 기술 "Human Centric AI Zinrai"의 하나로서 2016년도의 실용화를 목표로 학습 속도의 향상을 목표로 기술의 개선을 해나갈것이라고 합니다.