1 |
1
각각 입력 벡터와 연산되는 다수의 하위 매트릭스를 포함하는 웨이트 매트릭스를 포맷하는 방법으로서,상기 다수의 하위 매트릭스 각각에서 제 1 열에 포함된 웨이트 정보를 행 순서로 포맷 데이터에 추가하는 단계; 및상기 다수의 하위 매트릭스 각각에서 상기 제 1 열 다음의 제 2 열에 포함된 웨이트 정보를 행 순서로 상기 포맷 데이터에 추가하는 단계를 포함하는 웨이트 매트릭스 포맷 방법
|
2 |
2
청구항 1에 있어서, 상기 다수의 하위 매트릭스 각각에서 상기 제 1 열에 포함된 웨이트에 대응하는 행 번호를 상기 포맷 데이터에 추가하는 단계를 더 포함하는 웨이트 매트릭스 포맷 방법
|
3 |
3
청구항 2에 있어서, 상기 다수의 하위 매트릭스 각각에서 상기 제 1 열에 포함된 0이 아닌 웨이트의 개수를 기준으로 산정되는 열 길이를 상기 포맷 데이터에 추가하는 단계를 더 포함하는 웨이트 매트릭스 포맷 방법
|
4 |
4
청구항 1에 있어서, 상기 다수의 하위 매트릭스를 행을 공유하도록 하면서 열 방향으로 나열하여 상기 웨이트 매트릭스를 생성하는 단계 및상기 웨이트 매트릭스에 포함된 다수의 행을 다수의 연산 회로에 분배하는 단계를 더 포함하는 웨이트 매트릭스 포맷 방법
|
5 |
5
청구항 4에 있어서,상기 다수의 행을 상기 다수의 연산 회로에 분배한 정보를 상기 포맷 데이터에 추가하는 단계를 더 포함하는 웨이트 매트릭스 포맷 방법
|
6 |
6
청구항 4에 있어서, 상기 분배하는 단계는0이 아닌 웨이트의 개수를 기준으로 상기 웨이트 매트릭스에 포함된 다수의 행의 길이를 산출하는 단계; 및상기 다수의 연산 회로 각각에 분배된 행들의 길이의 합의 차이가 최소가 되도록 상기 다수의 행을 상기 다수의 연산 회로에 분배하는 단계를 포함하는 웨이트 매트릭스 포맷 방법
|
7 |
7
입력 벡터를 저장하는 데이터 메모리;상기 입력 벡터의 전체 원소 또는 일부 원소를 저장하는 글로벌 버퍼;각각 로컬 버퍼를 포함하는 하나 또는 둘 이상의 연산 회로; 및웨이트 매트릭스의 정보를 포함하는 포맷 데이터에서 추출된 행 정보를 참조하여 선택된 연산 회로에 웨이트 정보를 제공하는 제어 회로;를 포함하되,상기 로컬 버퍼는 상기 글로벌 버퍼에 저장된 원소들 중 일부를 저장하고 상기 포맷 데이터에서 추출된 열 정보를 참조하여 상기 일부 중 하나를 선택하는 가속기
|
8 |
8
청구항 7에 있어서, 상기 열 정보는 0이 아닌 웨이트의 개수를 기준으로 산정된 열의 길이이고, 상기 열 정보를 디코딩하여 열 번호를 생성하여 상기 로컬 버퍼에 제공하는 디코더를 더 포함하는 가속기
|
9 |
9
청구항 7에 있어서, 상기 하나 또는 둘 이상의 연산 회로는 각각상기 웨이트 정보에 포함된 웨이트 값과 상기 로컬 버퍼에서 제공된 원소를 곱하는 곱셈기; 및상기 곱셈기의 출력을 누적하는 누적기를 포함하는 가속기
|
10 |
10
청구항 7에 있어서, 상기 하나 또는 둘 이상의 연산 회로에서 출력된 값들을 조합하여 출력 벡터를 생성하는 출력 연산 회로를 더 포함하는 가속기
|
11 |
11
청구항 7에 있어서, 상기 글로벌 버퍼는상기 입력 벡터의 전체 원소 또는 일부 원소를 다수의 그룹으로 나누어 저장하는 제 1 레지스터;상기 입력 벡터의 전체 원소 또는 일부 원소를 상기 다수의 그룹으로 분배하는 데이터 분배부; 및상기 다수의 그룹 중 하나를 선택하여 상기 로컬 버퍼에 출력하는 제 1 선택부를 포함하는 가속기
|
12 |
12
청구항 11에 있어서, 상기 로컬 버퍼는상기 다수의 그룹 중 일부를 저장하는 제 2 레지스터;상기 제 2 레지스터에 저장된 원소들의 번호를 상기 열 정보와 비교하는 비교기 어레이; 및상기 비교기 어레이의 출력에 대응하는 선택 신호에 따라 상기 제 2 레지스터에 저장된 다수의 원소 중 하나를 선택하여 출력하는 제 2 선택부를 포함하는 가속기
|
13 |
13
청구항 12에 있어서, 상기 선택 신호가 상기 제 2 레지스터에 저장된 다수의 원소 중 번호가 가장 큰 원소가 선택된 것을 나타내는 경우 상기 제 1 선택부는 상기 다수의 그룹 상기 제 2 레지스터에 저장되지 않은 새로운 그룹을 선택하여 상기 제 2 레지스터에 제공하는 가속기
|
14 |
14
청구항 13에 있어서, 상기 새로운 그룹이 상기 제 2 레지스터에 저장되기 전에 상기 제 2 레지스터는 상기 제 2 레지스터의 데이터를 쉬프트하는 가속기
|
15 |
15
웨이트 매트릭스의 웨이트와 입력 벡터의 원소의 곱셈 연산을 수행하는 연산 회로를 하나 또는 둘 이상 포함하는 가속기; 및상기 입력 벡터에 포함된 다수의 원소들이 순차적으로 접근되도록 상기 웨이트 매트릭스를 포맷하여 포맷 데이터를 생성하는 신경망 포맷 회로; 및상기 포맷 데이터와 상기 입력 벡터를 상기 가속기에 제공하여 추론 동작을 제어하는 신경망 응용 회로를 포함하는 시스템
|
16 |
16
청구항 15에 있어서, 상기 가속기는상기 입력 벡터를 저장하는 데이터 메모리;상기 입력 벡터의 전체 원소 또는 일부 원소를 저장하는 글로벌 버퍼;각각 로컬 버퍼를 포함하는 하나 또는 둘 이상의 연산 회로; 및웨이트 매트릭스의 포맷 데이터에서 추출된 행 정보로부터 선택된 연산 회로에 웨이트 정보를 제공하는 제어 회로;를 포함하되,상기 로컬 버퍼는 상기 글로벌 버퍼에 저장된 원소들 중 일부를 저장하고 상기 포맷 데이터에서 추출된 열 정보를 참조하여 상기 일부 중 하나를 선택하는 시스템
|
17 |
17
청구항 16에 있어서, 상기 글로벌 버퍼는상기 입력 벡터의 전체 원소 또는 일부 원소를 다수의 그룹으로 나누어 저장하는 제 1 레지스터;상기 입력 벡터의 전체 원소 또는 일부 원소를 상기 다수의 그룹으로 분배하는 데이터 분배부; 및상기 다수의 그룹 중 하나를 선택하여 상기 로컬 버퍼에 출력하는 제 1 선택부를 포함하는 시스템
|
18 |
18
청구항 17에 있어서, 상기 로컬 버퍼는상기 다수의 그룹 중 일부를 저장하는 제 2 레지스터;상기 제 2 레지스터에 저장된 원소들의 번호를 상기 열 정보와 비교하는 비교기 어레이; 및상기 비교기 어레이의 출력으로부터 생성된 선택 신호에 따라 상기 제 2 레지스터에 저장된 다수의 원소 중 하나를 선택하여 출력하는 제 2 선택부를 포함하는 시스템
|
19 |
19
청구항 18에 있어서, 상기 선택 신호가 상기 제 2 레지스터에 저장된 다수의 원소 중 번호가 가장 큰 원소가 선택된 것을 나타내는 경우 상기 제 1 선택부는 상기 다수의 그룹 상기 제 2 레지스터에 저장되지 않은 새로운 그룹을 선택하여 상기 제 2 레지스터에 제공하는 시스템
|
20 |
20
청구항 15에 있어서, 신경망을 트레이닝하여 도출된 웨이트 매트릭스를 프루닝하여 출력하는 신경망 생성 회로를 더 포함하는 시스템
|