1 |
1
파라미터 서버에 의해 수행되는 분산 딥러닝 파라미터 공유 방법에 있어서, 마스터 프로세스 및 워커 프로세스 중 적어도 어느 하나의 요청에 상응하도록, 공유 메모리를 생성 및 할당하는 단계, 상기 마스터 프로세스의 초기화 요청에 상응하도록, 상기 공유 메모리의 마스터 가중치 파라미터 영역을 초기화하는 단계, 상기 공유 메모리의 워커 로컬 가중치 파라미터 영역을 상기 마스터 가중치 파라미터의 값으로 업데이트하는 단계, 동기 방식으로 분산 딥러닝 트레이닝을 수행한 상기 워커 프로세스로부터, 학습된 워커 로컬 그래디언트 파라미터를 입력받아 그래디언트 파라미터 누적을 연산하는 단계, 상기 하나 이상의 워커 프로세스의 상기 그래디언트 파라미터 누적을 이용하여 마스터 가중치 파라미터를 계산한 상기 마스터 프로세스로부터, 상기 마스터 가중치 파라미터를 입력받아 상기 마스터 가중치 파라미터 영역을 업데이트하는 단계, 그리고 상기 분산 딥러닝 트레이닝의 수행이 완료된 후, 사용이 완료된 상기 공유 메모리를 해제 및 삭제하는 단계를 포함하는 것을 특징으로 하는 분산 딥러닝 파라미터 공유 방법
|
2 |
2
제1항에 있어서, 상기 공유 메모리를 생성 및 할당하는 단계는, 상기 마스터 프로세스로부터 파라미터용 원격 공유 메모리 생성 요청을 수신하는 단계, 상기 파라미터용 원격 공유 메모리 생성 요청에 상응하도록 상기 공유 메모리를 생성하는 단계, 생성된 상기 공유 메모리에 상응하는 공유 메모리 생성키 및 접근 정보를 상기 마스터 프로세스로 전송하는 단계, 상기 마스터 프로세스로부터 이벤트 설정 요청을 수신하여, 상기 공유 메모리의 이벤트를 설정하는 단계, 상기 마스터 프로세스로부터 상기 공유 메모리 생성키를 전달받은 상기 워커 프로세스로부터, 공유 메모리 할당 요청을 수신하는 단계, 그리고 상기 공유 메모리를 할당하고, 할당된 상기 공유 메모리의 접근 정보를 상기 워커 프로세스로 전송하는 단계를 포함하는 것을 특징으로 하는 분산 딥러닝 파라미터 공유 방법
|
3 |
3
제1항에 있어서, 상기 공유 메모리를 해제 및 삭제하는 단계는, 상기 워커 프로세스로부터 공유 메모리 해제 요청을 수신하여, 상기 공유 메모리를 해제하는 단계, 상기 공유 메모리의 해제 완료 시 상기 마스터 프로세스로부터, 공유 메모리 삭제 요청을 수신하는 단계, 그리고 상기 공유 메모리 삭제 요청에 상응하도록 상기 공유 메모리를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 분산 딥러닝 파라미터 공유 방법
|
4 |
4
제1항에 있어서, 상기 마스터 가중치 파라미터 영역의 업데이트를 적어도 어느 하나의 상기 워커 프로세스로 알리는 단계, 그리고상기 그래디언트 파라미터 누적의 연산의 완료를 상기 마스터 프로세스로 알리는 단계를 더 포함하는 것을 특징으로 하는 분산 딥러닝 파라미터 공유 방법
|
5 |
5
제1항에 있어서, 상기 그래디언트 파라미터 누적을 연산하는 단계는, 상기 분산 딥러닝 트레이닝을 수행한 상기 워커 프로세스로부터, 학습된 워커 로컬 그래디언트 파라미터를 입력받아 상기 공유 메모리에 저장하는 단계, 상기 워커 프로세스로부터 그래디언트 파라미터 누적 연산을 요청받는 단계, 요청에 상응하는 상기 워커 로컬 그래디언트 파라미터를 마스터 그래디언트 파라미터로 누적 연산하는 단계, 그리고 상기 누적 연산의 완료를 상기 마스터 프로세스로 알리는 단계를 포함하는 것을 특징으로 하는 분산 딥러닝 파라미터 공유 방법
|
6 |
6
파라미터 서버에 의해 수행되는 분산 딥러닝 파라미터 공유 방법에 있어서, 마스터 프로세스 및 워커 프로세스 중 적어도 어느 하나의 요청에 상응하도록, 공유 메모리를 생성 및 할당하는 단계, 상기 마스터 프로세스의 초기화 요청에 상응하도록, 상기 공유 메모리의 마스터 가중치 파라미터 영역을 초기화하는 단계, 하나 이상의 상기 워커 프로세스에 상응하는 상기 공유 메모리의 워커 로컬 가중치 파라미터 영역을 업데이트 하는 단계, 분산 딥러닝 트레이닝을 수행한 상기 하나 이상의 워커 프로세스로부터, 워커 그래디언트 파라미터를 수신하는 단계, 상기 하나 이상의 워커 프로세스로부터 수신한 마스터 가중치 파라미터의 업데이트 요청에 상응하도록, 상기 마스터 가중치 파라미터 영역을 업데이트하는 단계, 그리고 상기 분산 딥러닝 트레이닝의 수행이 완료된 후, 사용이 완료된 상기 공유 메모리를 해제 및 삭제하는 단계를 포함하는 것을 특징으로 하는 분산 딥러닝 파라미터 공유 방법
|
7 |
7
제6항에 있어서, 상기 공유 메모리의 워커 로컬 가중치 파라미터 영역을 업데이트 하는 단계는, 초기화 또는 업데이트된 상기 마스터 가중치 파라미터 영역에 저장된 값을 읽어와, 상기 워커 로컬 가중치 파라미터 영역에 업데이트 하는 것을 특징으로 하는 분산 딥러닝 파라미터 공유 방법
|
8 |
8
마스터 프로세스 및 워커 프로세스 중 적어도 어느 하나와 메시지를 송수신하고, 원격 직접 메모리 접근(RDMA) 방식의 읽기 및 쓰기를 지원하는 통신 처리부, 공유 메모리의 할당 및 해제를 관리하는 공유 메모리 관리부, 분산 딥러닝 파라미터를 계산하는 파라미터 연산부, 그리고 상기 공유 메모리에 대한 이벤트 발생 시, 상기 공유 메모리에 상응하는 상기 마스터 프로세스 및 하나 이상의 상기 워커 프로세스 중 적어도 어느 하나로 상기 이벤트의 발생을 알리는 이벤트 처리부를 포함하는 것을 특징으로 하는 파라미터 서버
|
9 |
9
제8항에 있어서, 상기 파라미터 연산부는, 두 개의 공유 메모리 영역에 대한 벡터 연산을 수행하는 것을 특징으로 하는 파라미터 서버
|
10 |
10
제9항에 있어서, 상기 파라미터 연산부는, 제1 벡터에 제1 상수를 곱하는 연산, 상기 제1 상수를 곱한 제1 벡터와 제2 벡터를 합하는 연산 및 상기 제1 상수를 곱한 상기 제1 벡터와 제2 상수를 곱한 상기 제2 벡터를 합하는 연산 중 적어도 어느 하나의 상기 벡터 연산을 수행하는 것을 특징으로 하는 파라미터 서버
|
11 |
11
제8항에 있어서, 상기 파라미터 연산부는, 가중치 파라미터 및 그래디언트 파라미터 중 적어도 어느 하나를 포함하는 상기 분산 딥러닝 파라미터를 연산하는 것을 특징으로 하는 파라미터 서버
|
12 |
12
제11항에 있어서, 상기 마스터 프로세스는, 상기 마스터 프로세스가 할당한 모든 상기 공유 메모리의 영역에 접근 가능하고, 상기 워커 프로세스는, 마스터 파라미터 영역 및 상기 워커 프로세스가 딥러닝 트레이닝을 수행한 결과를 저장하는 워커 파라미터 영역만 접근 가능한 것을 특징으로 하는 파라미터 서버
|
13 |
13
제12항에 있어서, 상기 파라미터 연산부는, 동기식으로 상기 분산 딥러닝 파라미터를 공유하는 경우, 상기 그래디언트 파라미터 누적을 연산하는 것을 특징으로 하는 파라미터 서버
|
14 |
14
제12항에 있어서, 상기 파라미터 연산부는, 비동기식으로 상기 분산 딥러닝 파라미터를 공유하는 경우, 상기 워커 프로세스로부터 수신한 워커 그래디언트 파라미터를 마스터 가중치 파라미터 영역에 업데이트하는 것을 특징으로 하는 파라미터 서버
|
15 |
15
제8항에 있어서, 상기 공유 메모리 관리부는, 상기 마스터 프로세스로부터 수신한 파라미터용 원격 공유 메모리 생성 요청에 상응하도록 공유 메모리를 생성하고, 상기 공유 메모리의 공유 메모리 생성키 및 접근 정보를 상기 마스터 프로세스로 전송하는 것을 특징으로 하는 파라미터 서버
|
16 |
16
제15항에 있어서, 상기 공유 메모리 관리부는, 상기 마스터 프로세스로부터 상기 공유 메모리 생성키를 전달받은 상기 워커 프로세스로부터 공유 메모리 할당 요청을 수신하고, 상기 공유 메모리 할당 요청에 상응하도록 상기 공유 메모리를 할당하며, 할당된 상기 공유 메모리의 접근 정보를 상기 워커 프로세스로 전송하는 것을 특징으로 하는 파라미터 서버
|
17 |
17
제16항에 있어서, 상기 공유 메모리 관리부는, 상기 워커 프로세스로부터 수신한 공유 메모리 해제 요청에 상응하도록 상기 공유 메모리를 해제하고, 상기 마스터 프로세스로부터 수신한 공유 메모리 삭제 요청에 상응하도록 상기 공유 메모리를 삭제하는 것을 특징으로 하는 파라미터 서버
|
18 |
18
제8항에 있어서, 상기 마스터 프로세스 및 워커 프로세스는, 상기 원격 직접 메모리 접근(RDMA)을 지원하는 고속 네트워크를 통하여, 상기 파라미터 서버에 저장한 상기 분산 딥러닝 파라미터를 직접 읽어오거나 쓰는 방식으로 상기 분산 딥러닝 파라미터를 공유하는 것을 특징으로 하는 파라미터 서버
|