1 |
1
하이브리드 니어 메모리 프로세싱 시스템에 있어서, GPU, PIM-HBM, CPU 및 메인 메모리를 포함하고, 상기 GPU, PIM-HBM 를 통해 임베딩 벡터를 불러오고, 추천 시스템의 추론을 위한 훈련 과정에서 임베딩 테이블을 상기 메인 메모리와 상기 HBM에 나누어 저장하고, 상기 추천 시스템의 추론 과정에서 필요한 임베딩 벡터의 위치에 따라 상기 메인 메모리 또는 상기 HBM에서 임베딩 룩업 작업이 각각 수행되며, 임베딩 룩업 작업이 완료된 임베딩 벡터에 대하여 상기 CPU와 상기 PIM에서 추가적인 임베딩 매니퓰레이션(embedding manipulation) 작업이 수행되고, 임베딩 매니퓰레이션을 통해 처리된 임베딩 벡터들은 상기 PIM 에서 최종적으로 병합(concatenation)되어 임베딩 결과를 생성하고, 상기 임베딩 결과는 상기 GPU로 전달되어 상위 MLP(top Multilayer Perceptron) 과정을 통해 최종 추론 결과를 도출하며, 메모리 대역폭을 증가시키고, 메모리 용량 부족 문제를 해결하기 위해 상기 임베딩 테이블의 접근 횟수에 따라 핫 임베딩 벡터는 상기 HBM에 저장하고, 콜드 임베딩 벡터는 메인 메모리에 저장하는 데이터 오프로딩(data offloading) 저장 방식을 이용하는 하이브리드 니어 메모리 프로세싱 시스템
|
2 |
2
제1항에 있어서,상기 데이터 오프로딩(data offloading) 저장 방식을 이용하기 위해 컴포셔널 임베딩(compositional embeddings)을 통해 사전 학습(post training)을 수행하고, 상기 사전 학습은 해시 충돌에 따른 최적의 임베딩 벡터의 데이터 수를 설정하여 메인 메모리와 HBM에 저장될 임베딩 벡터의 데이터 수를 구분하는 과정 및 불필요한 해시 함수의 계산 과정을 줄이기 위해 원본 임베딩 테이블과 같은 형태로 메인 메모리에 저장될 임베딩 테이블을 통합하는 과정을 포함하는 하이브리드 니어 메모리 프로세싱 시스템
|
3 |
3
하이브리드 니어 메모리 프로세싱 시스템에 있어서, GPU, PIM-HBM, CPU 및 메인 메모리를 포함하고, 상기 GPU, PIM-HBM 를 통해 임베딩 벡터를 불러오고, 추천 시스템의 추론을 위한 훈련 과정에서 임베딩 테이블을 상기 메인 메모리와 상기 HBM에 나누어 저장하고, 상기 추천 시스템의 추론 과정에서 필요한 임베딩 벡터의 위치에 따라 상기 메인 메모리 또는 상기 HBM에서 임베딩 룩업 작업이 각각 수행되며, 임베딩 룩업 작업이 완료된 임베딩 벡터에 대하여 상기 CPU와 상기 PIM에서 추가적인 임베딩 매니퓰레이션(embedding manipulation) 작업이 수행되고, 임베딩 매니퓰레이션을 통해 처리된 임베딩 벡터들은 상기 PIM 에서 최종적으로 병합(concatenation)되어 임베딩 결과를 생성하고, 상기 임베딩 결과는 상기 GPU로 전달되어 상위 MLP(top Multilayer Perceptron) 과정을 통해 최종 추론 결과를 도출하며, 상기 PIM을 이용한 해시 계산을 통해 임베딩 룩업을 처리하는 태스크 오프로딩(task offloading) 방식을 수행하고, 상기 태스크 오프로딩은 입력 인덱스가 입력되면 상기 PIM에서 해시 계산을 통해 Q 테이블과 R 테이블 각각에 대한 인덱스를 구하고, 상기 인덱스를 이용하여 Q 테이블과 R 테이블 각각에서 임베딩 벡터를 불러오고, 상기 불러온 임베딩 벡터에 대한 임베딩 매니퓰레이션 과정을 거쳐 최종 임베딩 벡터를 생성하는 하이브리드 니어 메모리 프로세싱 시스템
|
4 |
4
제3항에 있어서,상기 임베딩 매니퓰레이션은 임베딩 데이터셋에 따라 원 핫 임베딩(one hot embedding)의 경우 불러온 임베딩 벡터를 병합(concatenate)하여 처리하고, 다중 핫 임베딩(multi hot embedding)의 경우 벡터 간의 연산을 통해 최종 임베딩 벡터를 생성하는 하이브리드 니어 메모리 프로세싱 시스템
|
5 |
5
GPU, PIM-HBM, CPU 및 메인 메모리를 포함하는 하이브리드 니어 메모리 프로세싱 시스템의 동작 방법에 있어서, 상기 GPU, PIM-HBM 를 통해 임베딩 벡터를 불러오고, 추천 시스템의 추론을 위한 훈련 과정에서 임베딩 테이블을 데이터 특성에 따라 상기 메인 메모리와 상기 HBM에 나누어 저장하는 사전 학습 단계; 상기 추천 시스템의 추론 과정에서 필요한 임베딩 벡터의 위치에 따라 상기 메인 메모리 또는 상기 HBM에서 임베딩 룩업 작업이 각각 수행되는 단계; 상기 임베딩 룩업 작업이 완료된 임베딩 벡터에 대하여 상기 CPU와 상기 PIM에서 추가적인 임베딩 매니퓰레이션(embedding manipulation) 작업이 수행되는 단계; 및 상기 임베딩 매니퓰레이션을 통해 처리된 임베딩 벡터들이 상기 PIM 에서 최종적으로 병합(concatenation)되어 임베딩 결과를 생성하고, 상기 임베딩 결과는 상기 GPU로 전달되어 상위 MLP(top Multilayer Perceptron) 과정을 통해 최종 추론 결과를 도출하는 단계를 포함하고, 상기 GPU, PIM-HBM 를 통해 임베딩 벡터를 불러오고, 추천 시스템의 추론을 위한 훈련 과정에서 임베딩 테이블을 데이터 특성에 따라 상기 메인 메모리와 상기 HBM에 나누어 저장하는 사전 학습 단계는, 메모리 대역폭을 증가시키고, 메모리 용량 부족 문제를 해결하기 위해 상기 임베딩 테이블의 접근 횟수에 따라 핫 임베딩 벡터는 상기 HBM에 저장하고, 콜드 임베딩 벡터는 메인 메모리에 저장하는 데이터 오프로딩(data offloading) 저장 방식을 이용하는 하이브리드 니어 메모리 프로세싱 방법
|
6 |
6
제5항에 있어서,상기 데이터 오프로딩(data offloading) 저장 방식을 이용하기 위해 컴포셔널 임베딩(compositional embeddings)을 통해 사전 학습(post training)을 수행하고, 상기 사전 학습은 해시 충돌에 따른 최적의 임베딩 벡터의 데이터 수를 설정하여 메인 메모리와 HBM에 저장될 임베딩 벡터의 데이터 수를 구분하는 과정 및 불필요한 해시 함수의 계산 과정을 줄이기 위해 원본 임베딩 테이블과 같은 형태로 메인 메모리에 저장될 임베딩 테이블을 통합하는 과정을 포함하는 하이브리드 니어 메모리 프로세싱 방법
|
7 |
7
GPU, PIM-HBM, CPU 및 메인 메모리를 포함하는 하이브리드 니어 메모리 프로세싱 시스템의 동작 방법에 있어서, 상기 GPU, PIM-HBM 를 통해 임베딩 벡터를 불러오고, 추천 시스템의 추론을 위한 훈련 과정에서 임베딩 테이블을 데이터 특성에 따라 상기 메인 메모리와 상기 HBM에 나누어 저장하는 사전 학습 단계; 상기 추천 시스템의 추론 과정에서 필요한 임베딩 벡터의 위치에 따라 상기 메인 메모리 또는 상기 HBM에서 임베딩 룩업 작업이 각각 수행되는 단계; 상기 임베딩 룩업 작업이 완료된 임베딩 벡터에 대하여 상기 CPU와 상기 PIM에서 추가적인 임베딩 매니퓰레이션(embedding manipulation) 작업이 수행되는 단계; 및 상기 임베딩 매니퓰레이션을 통해 처리된 임베딩 벡터들이 상기 PIM 에서 최종적으로 병합(concatenation)되어 임베딩 결과를 생성하고, 상기 임베딩 결과는 상기 GPU로 전달되어 상위 MLP(top Multilayer Perceptron) 과정을 통해 최종 추론 결과를 도출하는 단계를 포함하고, 상기 임베딩 룩업 작업이 완료된 임베딩 벡터에 대하여 상기 CPU와 상기 PIM에서 추가적인 임베딩 매니퓰레이션(embedding manipulation) 작업이 수행되는 단계는, 상기 PIM을 이용한 해시 계산을 통해 임베딩 룩업을 처리하는 태스크 오프로딩(task offloading) 방식을 수행하고, 상기 태스크 오프로딩은 입력 인덱스가 입력되면 상기 PIM에서 해시 계산을 통해 Q 테이블과 R 테이블 각각에 대한 인덱스를 구하고, 상기 인덱스를 이용하여 Q 테이블과 R 테이블 각각에서 임베딩 벡터를 불러오고, 상기 불러온 임베딩 벡터에 대한 임베딩 매니퓰레이션 과정을 거쳐 최종 임베딩 벡터를 생성하는하이브리드 니어 메모리 프로세싱 방법
|
8 |
8
제7항에 있어서,상기 임베딩 매니퓰레이션은 임베딩 데이터셋에 따라 원 핫 임베딩(one hot embedding)의 경우 불러온 임베딩 벡터를 병합(concatenate)하여 처리하고, 다중 핫 임베딩(multi hot embedding)의 경우 벡터 간의 연산을 통해 최종 임베딩 벡터를 생성하는 하이브리드 니어 메모리 프로세싱 방법
|
9 |
9
삭제
|
10 |
10
삭제
|