1 |
1
컴퓨팅 장치에 의해 수행되는 메모리 할당 방법에 있어서,기계 학습 모델의 트레이닝 작업에 대한 GPU(Graphic Processing Unit) 메모리의 메모리 사용량을 지시하는 메모리 사용 프로필을 획득하는 단계;상기 기계 학습 모델에 대한 트레이닝 작업의 순전파(forward propagation) 동안 메모리 요청(memory request)에 응답하여, 상기 GPU 메모리로부터, 메모리 블록을 할당하는 단계;상기 순전파 이후 역전파(backpropagation)를 진행하는 동안, 상기 메모리 사용 프로필에 기초하여, 상기 할당됐던 메모리 블록의 적어도 일부를 해제하는 단계; 및다른 모델(different model)의 트레이닝 작업에서 메모리 요청에 응답하여, 상기 GPU 메모리 중 상기 역전파 동안 해제된 메모리 블록을 포함하는 잔여 메모리로부터, 메모리 블록을 할당하는 단계를 포함하는 기계 학습 모델의 트레이닝을 위한 메모리 할당 방법
|
2 |
2
제1항에 있어서,상기 해제하는 단계는,현재 반복(iteration)의 역전파에서 사용 종료된(deprecated) 대상 메모리 블록과 관련된 메모리 할당이 다음 반복의 순전파에서 요청되는 다음 요청 시점을 상기 메모리 사용 프로필에 기초하여 예측하는 단계; 및상기 대상 메모리 블록의 사용 종료 시점 및 상기 다음 요청 시점 간의 시간 차이에 기초하여 상기 대상 메모리 블록의 해제 여부를 결정하는 단계를 포함하는 기계 학습 모델의 트레이닝을 위한 메모리 할당 방법
|
3 |
3
제2항에 있어서,상기 예측하는 단계는,상기 대상 메모리 블록과 동일한 크기에 대한 메모리 할당이 상기 다음 반복의 순전파에서 요청되는 시점을 상기 다음 요청 시점으로서 예측하는 단계를 포함하는 기계 학습 모델의 트레이닝을 위한 메모리 할당 방법
|
4 |
4
제2항에 있어서,상기 예측하는 단계는,상기 기계 학습 모델에서 상기 대상 메모리 블록이 할당됐던 레이어와 동일한 레벨의 레이어에 대한 메모리 할당이 상기 다음 반복의 순전파에서 요청되는 시점을 상기 다음 요청 시점으로서 예측하는 단계를 포함하는 기계 학습 모델의 트레이닝을 위한 메모리 할당 방법
|
5 |
5
제2항에 있어서,상기 예측하는 단계는,상기 대상 메모리 블록에 대한 메모리 할당이 상기 다음 반복의 순전파에서 요청되는 시점을 상기 다음 요청 시점으로서 예측하는 단계를 포함하는 기계 학습 모델의 트레이닝을 위한 메모리 할당 방법
|
6 |
6
제2항에 있어서,상기 대상 메모리 블록의 해제 여부를 결정하는 단계는,상기 시간 차이가 미리 정한 임계 시간을 초과하는 경우에 응답하여 상기 대상 메모리 블록을 해제하는 단계를 포함하는 기계 학습 모델의 트레이닝을 위한 메모리 할당 방법
|
7 |
7
제2항에 있어서,상기 대상 메모리 블록의 해제 여부를 결정하는 단계는,상기 시간 차이가 미리 정한 임계 시간 이하인 경우에 응답하여 상기 대상 메모리 블록에 대한 해제를 스킵하는 단계를 포함하는 기계 학습 모델의 트레이닝을 위한 메모리 할당 방법
|
8 |
8
제1항에 있어서,상기 다른 모델의 트레이닝 작업에서 할당됐던 메모리 블록의 해제에 의해 가용한(available) 잔여 메모리의 크기가, 상기 메모리 사용 프로필에 따라 상기 기계 학습 모델에 대한 트레이닝 작업의 순전파에서 요구되는 크기를 초과할 때까지, 상기 기계 학습 모델에 대한 다음 트레이닝 반복(next training iteration)을 지연시키는 단계를 더 포함하는 기계 학습 모델의 트레이닝을 위한 메모리 할당 방법
|
9 |
9
제1항에 있어서,상기 잔여 메모리로부터, 메모리 블록을 할당하는 단계는,상기 기계 학습 모델의 트레이닝 작업에서 한 반복 및 다음 반복까지 하나 이상의 다른 트레이닝 작업을 수행하는 단계를 포함하는 기계 학습 모델의 트레이닝을 위한 메모리 할당 방법
|
10 |
10
제1항에 있어서,상기 메모리 사용 프로필을 획득하는 단계는,상기 기계 학습 모델의 트레이닝 작업에 대한 최초 반복(initial iteration) 동안 순전파에서 점유되는 메모리 사용량 및 역전파에서 점유되는 메모리 사용량을 모니터링함으로써 상기 메모리 사용 프로필을 생성하는 단계를 포함하는 기계 학습 모델의 트레이닝을 위한 메모리 할당 방법
|
11 |
11
제1항에 있어서,상기 잔여 메모리로부터, 메모리 블록을 할당하는 단계는,상기 기계 학습 모델의 트레이닝 작업에 할당된 메모리 크기 및 상기 다른 모델의 트레이닝 작업에 할당된 메모리 크기의 합산이 상기 GPU 메모리의 크기보다 작게, 상기 다른 모델의 트레이닝 작업을 위한 메모리 블록을 할당하는 단계를 포함하는 기계 학습 모델의 트레이닝을 위한 메모리 할당 방법
|
12 |
12
제1항에 있어서,상기 잔여 메모리로부터, 메모리 블록을 할당하는 단계는,상기 기계 학습 모델의 역전파가 완전히 완료되기 전에 상기 다른 모델에 대한 트레이닝 작업의 순전파를 위한 메모리 블록의 할당을 개시하는 단계를 포함하는 기계 학습 모델의 트레이닝을 위한 메모리 할당 방법
|
13 |
13
제1항 내지 제12항 중 어느 한 항의 방법을 컴퓨팅 장치에 의해 수행하기 위한 명령어를 포함하는 하나 이상의 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 기록 매체
|
14 |
14
컴퓨팅 장치에 있어서,기계 학습 모델 및 다른 모델을 저장하는 저장소;상기 기계 학습 모델 및 상기 다른 모델의 트레이닝에 할당되는 GPU 메모리를 포함하는 GPU(Graphic Processing Unit); 및상기 기계 학습 모델의 트레이닝 작업에 대한 GPU(Graphic Processing Unit) 메모리의 메모리 사용량을 지시하는 메모리 사용 프로필을 획득하고, 상기 기계 학습 모델에 대한 트레이닝 작업의 순전파 동안 메모리 요청에 응답하여, 상기 GPU 메모리로부터, 메모리 블록을 할당하며, 상기 순전파 이후 역전파를 진행하는 동안, 상기 메모리 사용 프로필에 기초하여, 상기 할당됐던 메모리 블록의 적어도 일부를 해제하고, 상기 다른 모델의 트레이닝 작업에서 메모리 요청에 응답하여, 상기 GPU 메모리 중 상기 역전파 동안 해제된 메모리 블록을 포함하는 잔여 메모리로부터, 메모리 블록을 할당하는 CPU(Central Processing Unit)을 포함하는 컴퓨팅 장치
|