컨볼루션 필터를 이용한 트랜스포머 모델의 어텐션 연산 희소화 방법 및 장치
Method and device for sparse attention in transformer model using a convolution filter
특허 요약
본 발명은 컨볼루션 필터를 이용한 트랜스포머 모델의 어텐션 연산 희소화 방법에 관한 것이다. 상기 트랜스포머 모델의 어텐션 연산 희소화 방법은 (a) 트랜스포머 모델의 학습 단계에서, 초기의 사전 설정된 횟수의 스텝 동안 어텐션 연산을 수행하여 초기 어텐션 스코어를 계산하는 단계; (b) 상기 초기 어텐션 스코어에 대한 컨볼루션 패턴을 생성하는 단계; (c) 상기 컨볼루션 패턴을 이용하여, 상기 초기 어텐션 스코어의 대각 패턴 및 수직 패턴들을 검출하는 단계; (d) 상기 초기 어텐션 스코어에서 상기 대각 및 수직 패턴들에 대한 실제 위치 정보들을 추출하여 희소 패턴(P)을 생성하는 단계; 및 (e) 다음 스텝부터 상기 초기 어덴션 스코어의 희소 패턴(P)을 적용하여 희소화된 어텐션 연산을 수행하여 어텐션 스코어를 계산하는 단계;를 구비하여, 어텐션 연산량을 감소시킨다.
청구항
번호청구항
1

(a) 트랜스포머 모델의 학습 단계에서, 초기의 사전 설정된 횟수의 스텝 동안 어텐션 연산을 수행하여 초기 어텐션 스코어를 계산하는 단계;(b) 상기 초기 어텐션 스코어에 대하여 컨볼루션 연산을 하여 컨볼루션 패턴을 생성하는 단계;(c) 상기 컨볼루션 패턴을 이용하여, 상기 초기 어텐션 스코어에 대한 대각 패턴 및 수직 패턴들을 검출하는 단계;(d) 상기 초기 어텐션 스코어에서 상기 대각 및 수직 패턴들에 대한 실제 위치 정보들을 추출하고, 상기 추출된 실제 위치 정보들을 이용하여 초기 어텐션 스코어의 희소 패턴(P)을 생성하는 단계; 및(e) 다음 스텝부터 상기 희소 패턴(P)을 적용하여 희소화된 어텐션 연산을 수행하여 어텐션 스코어를 계산하는 단계; 를 구비하여, 어텐션 연산량을 감소시키는 것을 특징으로 하는 트랜스포머 모델의 어텐션 연산 희소화 방법.

2

제1항에 있어서, 상기 (b) 단계는, (b1) 대각 원소들만 1의 값을 갖는 컨볼루션 필터를 설정하는 단계; 및(b2) 상기 컨볼루션 필터를 이용하여 상기 초기 어텐션 스코어에 대한 컨볼루션 연산을 수행하여 컨볼루션 패턴을 생성하는 단계;를 구비하고, 상기 컨볼루션 패턴은 상기 초기 어텐션 스코어에 포함된 0값이 아닌 원소들에 대해 블록 단위로 추상화된 어텐션 스코어 패턴인 것을 특징으로 하는 트랜스포머 모델의 어텐션 연산 희소화 방법.

3

제1항에 있어서, 상기 (c) 단계는, (c1) 모델의 각 층별로 상기 컨볼루션 패턴의 임계값을 설정하는 단계;(c2) 컨볼루션 패턴에서 행별로 상기 임계값보다 큰 값을 갖는 원소의 개수를 세어서 row_count에 저장하는 단계;(c3) 컨볼루션 패턴에서 열별로 임계값보다 큰 값을 갖는 원소의 개수를 세어서 column_count에 저장하는 단계;(c4) 상기 column_count 및 row_count를 이용하여, 상기 컨볼루션 패턴에서 수직 및 대각 패턴들을 검출하는 단계;를 구비하는 것을 특징으로 하는 트랜스포머 모델의 어텐션 연산 희소화 방법.

4

제3항에 있어서, 상기 (c1) 단계의 임계값은, 컨볼루션 패턴의 모든 원소들을 내림차순으로 정렬하였을 때, 총 원소 개수의 사전 설정된 α% 번째 값으로 설정하는 것을 특징으로 하는 트랜스포머 모델의 어텐션 연산 희소화 방법.

5

제3항에 있어서, 상기 (c4) 단계는, 상기 컨볼루션 패턴에서 각 열별로 column_count가 사전 설정된 기준값보다 많은 열은 수직 패턴으로 분류하고,상기 row_count와 상기 column_count의 첫번째 값들과 마지막 값들을 각각 비교하고, 비교 결과에 따라 대각 패턴을 검출하는 것을 특징으로 하는 트랜스포머 모델의 어텐션 연산 희소화 방법.

6

제1항에 있어서, 상기 희소 패턴은, 어텐션 스코어 행렬과 동일한 크기로 이루어지며, 상기 대각 및 수직 패턴들의 위치에 대응되는 원소들이 '1'의 값을 갖도록 구성된 것을 특징으로 하는 P 트랜스포머 모델의 어텐션 연산 희소화 방법.

7

제1항에 있어서, 상기 (a) 단계의 상기 어텐션 연산은, 입력 시퀀스 데이터 (X)에 대하여 각각 선형 변환을 통해 얻은 값들인 Query (Q), Key (K), Value (V)를 이용하여, 아래의 소프트맥스 함수에 의해 계산되어 초기 어텐션 스코어를 구하고, 여기서, D는 입력 시퀀스의 각 데이터 포인트에 대한 임베딩 표현 벡터의 크기, H는 선형 변환 과정에서 D차원을 멀티-헤드로 나누는 값으로 헤드의 개수인 것을 특징으로 하는 트랜스포머 모델의 어텐션 연산 희소화 방법.

8

제1항에 있어서, 상기 (e) 단계의 상기 희소화된 어텐션 연산은, 입력 시퀀스 데이터 (X)에 대하여 각각 선형 변환을 통해 얻은 값들인 Query (Q), Key (K), Value (V) 및 상기 초기 어덴션 스코어의 희소 패턴(P)을 이용하여, 아래의 소프트맥스 함수에 의해 계산되어 어텐션 스코어를 구하고, 여기서, D는 입력 시퀀스의 각 데이터 포인트에 대한 임베딩 표현 벡터의 크기, H는 선형 변환 과정에서 D차원을 멀티-헤드로 나누는 값으로 헤드의 개수인 것을 특징으로 하는 트랜스포머 모델의 어텐션 연산 희소화 방법.

9

트랜스포머 모델을 학습하도록 구성된 컴퓨팅 장치에 있어서, 입력 시퀀스에 대하여 어텐션 연산을 수행하도록 구성된 어텐션 연산 모듈;트랜스포머 모델의 학습 단계에서, 초기의 사전 설정된 횟수의 스텝 동안 상기 어텐션 연산 모듈을 이용하여, 어텐션 연산을 수행하여 초기 어텐션 스코어를 계산하는 초기 어텐션 스코어 계산 모듈; 상기 초기 어텐션 스코어에 대하여 컨볼루션 연산을 수행하여 컨볼루션 패턴을 생성하는 컨볼루션 패턴 생성 모듈;상기 컨볼루션 패턴을 이용하여, 상기 초기 어텐션 스코어의 대각 패턴 및 수직 패턴을 검출하는 패턴 검출 모듈;상기 초기 어텐션 스코어에서 상기 대각 및 수직 패턴들에 대한 실제 위치 정보들을 추출하여 희소 패턴(P)을 생성하는 희소 패턴 생성 모듈; 및초기 어텐션 스코어를 계산한 후의 다음 스텝부터, 상기 초기 어덴션 스코어의 희소 패턴(P)을 적용하여 희소화된 어텐션 연산을 수행하여 어텐션 스코어를 계산하는 희소화된 어텐션 연산 모듈; 을 구비하여, 트랜스포머 모델이 희소화된 어텐션 연산을 수행하도록 구성된 것을 특징으로 하는 컴퓨팅 장치.

10

제9항에 있어서, 상기 컨볼루션 패턴 생성 모듈은, 대각 원소들만 1의 값을 갖는 컨볼루션 필터를 설정하고, 상기 컨볼루션 필터를 이용하여 상기 초기 어텐션 스코어에 대하여 컨볼루션 연산을 수행하여 컨볼루션 패턴을 생성하는 것을 특징으로 하며, 상기 컨볼루션 패턴은 상기 초기 어텐션 스코어에 포함된 0값이 아닌 원소들에 대해 블록 단위로 추상화된 어텐션 스코어 패턴인 것을 특징으로 하는 컴퓨팅 장치.

11

제9항에 있어서, 상기 패턴 검출 모듈은, 트랜스포머 모델의 각 층별로 상기 컨볼루션 패턴의 임계값을 설정하고,상기 컨볼루션 패턴에서 행별로 상기 임계값보다 큰 값을 갖는 원소의 개수를 세어서 row_count에 저장하고, 컨볼루션 패턴에서 열별로 임계값보다 큰 값을 갖는 원소의 개수를 세어서 column_count에 저장하고,상기 row_count, 상기 column_count을 이용하여, 상기 컨볼루션 패턴에서 수직 패턴 및 대각 패턴을 검출하는 것을 특징으로 하는 컴퓨팅 장치.

12

제11항에 있어서, 상기 패턴 검출 모듈의 임계값은, 컨볼루션 패턴의 모든 원소들을 내림차순으로 정렬하였을 때, 총 원소 개수의 사전 설정된 α% 번째 값으로 설정하는 것을 특징으로 하는 컴퓨팅 장치.

13

제11항에 있어서, 상기 패턴 검출 모듈은, 상기 컨볼루션 패턴에서 각 열별로 column_count가 사전 설정된 기준값보다 많은 열은 수직 패턴으로 분류하고,상기 row_count와 상기 column_count의 첫번째 값들을 비교하고, 마지막 값들을 비교하고, 비교 결과에 따라 대각 패턴을 검출하는 것을 특징으로 하는 컴퓨팅 장치.

14

제9항에 있어서, 상기 어텐션 연산 모듈은, 입력 시퀀스 데이터 (X)에 대하여 각각 선형 변환을 통해 얻은 값들인 Query (Q), Key (K), Value (V)를 이용하여, 아래의 소프트맥스 함수에 의해 계산되어 어텐션 스코어를 구하고, 여기서, D는 입력 시퀀스의 각 데이터 포인트에 대한 임베딩 표현 벡터의 크기, H는 선형 변환 과정에서 D차원을 멀티-헤드로 나누는 값으로 헤드의 개수인 것을 특징으로 하는 컴퓨팅 장치.

15

제9항에 있어서, 상기 희소화된 어텐션 연산 모듈은, 입력 시퀀스 데이터 (X)에 대하여 각각 선형 변환을 통해 얻은 값들인 Query (Q), Key (K), Value (V) 및 상기 초기 어덴션 스코어의 희소 패턴(P)을 이용하여, 아래의 소프트맥스 함수에 의해 계산하여 어텐션 스코어를 구하고, 여기서, D는 입력 시퀀스의 각 데이터 포인트에 대한 임베딩 표현 벡터의 크기, H는 선형 변환 과정에서 D차원을 멀티-헤드로 나누는 값으로 헤드의 개수인 것을 특징으로 하는 컴퓨팅 장치.

16

제9항에 있어서, 상기 희소 패턴은, 어텐션 스코어 행렬과 동일한 크기로 이루어지며, 상기 대각 및 수직 패턴들의 위치에 대응되는 원소들이 '1'의 값을 갖도록 구성된 것을 특징으로 하는 컴퓨팅 장치.