[go: up one dir, main page]

KR102815186B1 - 이력 현상을 이용한 파라미터 양자화 기반 인공 신경망 연산 방법 및 장치 - Google Patents

이력 현상을 이용한 파라미터 양자화 기반 인공 신경망 연산 방법 및 장치 Download PDF

Info

Publication number
KR102815186B1
KR102815186B1 KR1020220032933A KR20220032933A KR102815186B1 KR 102815186 B1 KR102815186 B1 KR 102815186B1 KR 1020220032933 A KR1020220032933 A KR 1020220032933A KR 20220032933 A KR20220032933 A KR 20220032933A KR 102815186 B1 KR102815186 B1 KR 102815186B1
Authority
KR
South Korea
Prior art keywords
parameter value
neural network
artificial neural
parameter
quantization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020220032933A
Other languages
English (en)
Other versions
KR20230135435A (ko
Inventor
전동석
이순우
Original Assignee
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울대학교산학협력단 filed Critical 서울대학교산학협력단
Priority to KR1020220032933A priority Critical patent/KR102815186B1/ko
Priority to PCT/KR2022/010829 priority patent/WO2023177025A1/ko
Priority to EP22932392.8A priority patent/EP4462311A4/en
Publication of KR20230135435A publication Critical patent/KR20230135435A/ko
Priority to US18/795,315 priority patent/US20240394534A1/en
Application granted granted Critical
Publication of KR102815186B1 publication Critical patent/KR102815186B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

인공 신경망 경량화를 위해 이력 현상(hysteresis)을 이용한 파라미터 양자화에 기반하여 인공 신경망을 연산하는 방법 및 장치가 제공된다. 파라미터 양자화에 이력 현상을 적용함으로써 변동성을 줄이고 각 파라미터가 더 안정적으로 학습될 수 있으며, 양자화 모델의 성능이 제고된다.

Description

이력 현상을 이용한 파라미터 양자화 기반 인공 신경망 연산 방법 및 장치{METHOD AND APPARATUS FOR ARTIFICIAL NEURAL NETWORK COMPUTATION BASED ON PARAMETER QUANTIZATION USING HYSTERESIS}
본 발명은 파라미터 양자화 기반 인공 신경망 연산 방법 및 장치에 관한 것으로, 인공 신경망 경량화를 위해 이력 현상을 이용한 파라미터 양자화에 기반하여 인공 신경망을 연산하는 방법 및 장치에 관한 것이다.
이하에서 기술되는 내용은 본 발명의 실시예와 관련되는 배경 정보를 제공할 목적으로 기재된 것일 뿐이고, 기술되는 내용들이 당연하게 종래기술을 구성하는 것은 아니다.
다양한 분야에 인공 신경망이 적용되면서 좋은 성능을 보이고 있다. 더 높은 성능을 위해서 신경망의 크기는 계속하여 증가하고 있으며 이에 따라 학습과 추론에 소모되는 전력은 매우 커지고 있다.
최근 스마트폰과 같은 다양한 모바일 플랫폼에서 딥러닝 기반 어플리케이션을 구동하고 있으며, 고성능 서버에서도 훈련(training)에서 소모 전력 및 하드웨어 구현 비용을 낮추기 위해 모델 양자화가 적용되고 있다. 모델 양자화(model quantization) 기법은 딥러닝 모델(Deep Learning Model)의 경량화 기술 중 하나이다.
모델 양자화는 인공 신경망 연산에 필요한 메모리 크기를 더 작게 하고, 곱셈, 덧셈 등에 필요한 연산기 또한 단순화 가능하여 전력 소모를 크게 감소할 수 있으나, 정밀도(precision)을 낮출 때마다 점점 성능 하락 폭이 커진다는 단점이 있다.
한편, 기존 모델 양자화 기법에서는 인공 신경망의 각 파라미터를 양자화할 때, 반올림(round to nearest) 방식을 통해 오차를 최소화하는 것에 초점을 맞추었다.
하지만, 종래 기법은 파라미터 값이 라운딩 경계를 기준으로 크면 올림, 작으면 내림이 수행되는데, 이로 인해 파라미터 값의 아주 작은 변화에 의해 라운딩 경계를 넘나들게 되어 양자화(quantization) 결과는 크게 흔들리게 된다. 이와 같은 한계는 반올림 기반 양자화 모델(quantized model)에서 발생하는 성능 하락의 주요 요인 중 하나이다.
따라서, 파라미터 값의 변화에 잘 부합할 수 있는 안정적인 파라미터 양자화 기술이 필요하다.
한편, 전술한 선행기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
전술한 한계점을 극복하기 위하여, 본 발명의 일 과제는 이력 현상(hysteresis)을 이용한 파라미터 양자화 기반 인공 신경망 연산 방법 및 장치를 제공하는 것이다.
본 발명의 일 과제는 파라미터 값의 변화에 효과적으로 부합할 수 있는 안정적인 파라미터 양자화 기법과 이를 이용한 인공 신경망 경량화 방법을 제공하는 것이다.
본 발명의 목적은 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
본 발명의 일 실시예에 따른 파라미터 양자화에 기반한 인공 신경망 연산 방법은, 프로세서를 포함한 인공 신경망 연산 장치에 의해 실행되는 파라미터 양자화에 기반한 인공 신경망 연산 방법으로서,인공 신경망의 파라미터의 제 1 양자화 파라미터 값에 기반하여 상기 파라미터의 파라미터 기울기를 결정하는 제 1 단계, 상기 파라미터 기울기 및 상기 제 1 양자화 파라미터 값과 연계된 제 1 원본 파라미터 값에 기반하여 상기 파라미터의 제 2 원본 파라미터 값을 결정하는 제 2 단계 및 상기 제 1 양자화 파라미터 값과 상기 제 2 원본 파라미터 값의 비교 결과에 기반하여 상기 제 2 원본 파라미터 값과 연계된 제 2 양자화 파라미터 값을 결정하는 제 3 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 파라미터 양자화에 기반한 인공 신경망 연산 장치는, 파라미터 양자화에 기반한 인공 신경망 연산 장치로서, 적어도 하나의 명령어를 저장하는 메모리 및 프로세서를 포함하고, 상기 적어도 하나의 명령어는 상기 프로세서에 의해 실행되어 상기 프로세서로 하여금, 인공 신경망의 파라미터의 제 1 양자화 파라미터 값에 기반하여 상기 파라미터의 파라미터 기울기를 결정하는 제 1 동작, 상기 파라미터 기울기 및 상기 제 1 양자화 파라미터 값과 연계된 제 1 원본 파라미터 값에 기반하여 상기 파라미터의 제 2 원본 파라미터 값을 결정하는 제 2 동작 및 상기 제 1 양자화 파라미터 값과 상기 제 2 원본 파라미터 값의 비교 결과에 기반하여 상기 제 2 원본 파라미터 값과 연계된 제 2 양자화 파라미터 값을 결정하는 제 3 동작을 실행하도록 구성될 수 있다.
전술한 것 외의 다른 측면, 특징, 및 이점이 이하의 도면, 청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
실시예에 의하면, 파라미터 양자화에 이력 현상(hysteresis)을 적용하여 변동성을 줄이고 각 파라미터가 더 안정적으로 학습될 수 있다.
실시예에 의하면, 양자화 모델의 성능을 향상시켜 더 낮은 전력 소모와 더 소형의 하드웨어로도 고-정밀도 파라미터에 기반한 원래의 모델과 동등한 수준의 딥러닝 기술을 구현할 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 반올림에 의한 파라미터 양자화를 예시적으로 도시한다.
도 2는 실시예에 따른 인공 신경망 연산에서의 이력 현상을 이용한 양자화를 설명하기 위한 도면이다.
도 3은 실시예에 따른 인공 신경망 연산 장치의 블록도이다.
도 4는 실시예에 따른 인공 신경망 연산 방법의 흐름도이다.
도 5는 실시예에 따른 인공 신경망 연산 방법에 의한 학습 과정의 예시적인 흐름도이다.
도 6은 실시예에 따른 이력 현상을 이용한 파라미터 양자화 결과를 예시적으로 도시한다.
도 7은 실시예에 따른 인공 신경망 연산 방법에 의한 추론 과정의 예시적인 흐름도이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명하는 실시 예들에 한정되지 않는다. 이하 실시 예에서는 본 발명을 명확하게 설명하기 위해서 설명과 직접적인 관계가 없는 부분을 생략하지만, 본 발명의 사상이 적용된 장치 또는 시스템을 구현함에 있어서, 이와 같이 생략된 구성이 불필요함을 의미하는 것은 아니다. 아울러, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조번호를 사용한다.
이하의 설명에서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 되며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 또한, 이하의 설명에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하의 설명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 반올림(round to nearest)에 의한 파라미터 양자화를 예시적으로 도시한다.
도 1에서 인공 신경망의 파라미터(parameter)가 W이고, 양자화 결과가 QW라고 할 때, 파라미터(W)가 살짝 변하거나 크게 변하거나 상관없이 양자화 결과(QW)는 모두 곧바로 흔들린다. 이는 곧 파라미터(W)의 변화량(ΔW) 크기가 양자화 결과(QW)의 변화(ΔQW)와 무관함을 의미하며, 이에 따라 학습이 불안정하여 저-정밀도(low-precision) 파라미터에서 학습이 실패하거나 상당히 큰 폭의 성능 저하를 보이는 결과를 초래한다.
도 2는 실시예에 따른 인공 신경망 연산에서의 이력 현상을 이용한 양자화를 설명하기 위한 도면이다.
실시예에 따른 파라미터 양자화에 기반한 인공 신경망 연산은 이력 현상(hysteresis)를 이용한다.이력 현상은 주어진 시스템의 현재 상태가 시스템의 과거 상태 변화 이력(history)에 의존하는(dependent) 현상을 의미한다. 실시예에서 이력 현상을 이용한 파라미터 양자화는 인공 신경망의 파라미터의 현재 값(예를 들어 원본 정밀도 값 O_Pi+1 및 양자화된 값 Q_Pi+1)을 해당 파라미터의 과거 값(예를 들어 및 원본 정밀도 값 O_Pi 및 양자화된 값 Q_Pi)의 경과 과정에 의존하여 결정하는 것을 의미한다.
실시예에 따른 파라미터 양자화에 기반한 인공 신경망 연산은 i번째 학습 주기의 파라미터의 원본 정밀도 값(O_Pi) 및 원본 정밀도 값(O_Pi)와 연계된 양자화된 값(Q_Pi)를 입력으로 하여, i+1번째 학습 주기에서 해당 파라미터의 기울기(P_Wi+1), 원본 정밀도 값(O_Pi+1) 및 원본 정밀도 값(O_Pi+1)와 연계된 양자화된 값(Q_Pi+1)을 출력한다.
여기서 양자화된 값(Q_Pi 및 Q_Pi+1)은 저-정밀도 값이고 원본 정밀도 값(O_Pi 및 O_Pi+1)은 양자화된 값보다 더 높은 정밀도의 고-정밀도 값이다.
저-정밀도(low-precision)는 예를 들어 INT4, INT8, FP130 (Logarithmic format), FP134, FP143, FP152 등을 의미한다. 여기서 FP1xy 에서 x는 floating point format의 exponent bit 수, y는 floating point format의 mantissa bit 수를 의미한다.
고-정밀도(high-precision)은 예를 들어 Single Precision Floating Point (FP32), Double Precision Floating point (FP64), Half Precision Floating point (FP16), Brain Floating Point (bfloat16) 등을 의미한다.
한편, 인공 신경망은 다층 퍼셉트론(Multi-Layer Perceptron; MLP), 합성곱 신경망(Convolutional Neural Network; CNN), 순환 신경망(Recurrent Neural Network; RNN), 장단기 기억 신경망(Long Short Term Memory; LSTM), 오토 인코더(Auto Encoder), 생산적 적대 신경망(Generative Adversarial Network; GAN), 그래프 신경망(Graph Neural Network; GNN) 등 다양한 구조의 인공 신경망을 포함하며, 이에 제한되지 않고 실시예에 따른 파라미터 양자화에 기반한 인공 신경망 연산 장치(100)는 특정 인공 신경망에 제한되지 않고 다양한 구조의 인공 신경망 연산에 적용가능하다.
본 발명이 제안하는 이력 현상 효과(hysteresis effect)를 적용한 양자화 기법은 파라미터의 변화량에 비례하여 양자화 결과를 변화시킬 수 있다. 이로써 실시예에 따른 파라미터 양자화에 기반한 인공 신경망 연산은 양자화 결과값의 변화 횟수를 크게 줄이고 안정적인 학습과 높은 성능을 보인다.
실시예에 따른 파라미터 양자화에 기반한 인공 신경망 연산에 대한 실험에서 예를 들어 정수 포맷(integer format)과 로그 포맷(logarithmic format)을 적용한 저-정밀도 인공 신경망 학습을 진행하여 전술한 효과를 확인하였다.
도 3은 실시예에 따른 인공 신경망 연산 장치의 블록도이다.
실시예에 따른 인공 신경망 연산 장치(100)는 적어도 하나의 명령어를 저장하는 메모리(120) 및 프로세서(110)를 포함한다. 이와 같은 구성은 예시적인 것이고, 인공 신경망 연산 장치(100)는 도 3에 도시된 구성 중 일부를 포함하거나, 도 3에 도시되지 않았으나 장치의 작동을 위해 필요한 구성을 추가로 포함할 수 있다.
프로세서(110)는 일종의 중앙처리장치로서, 메모리(120)에 저장된 하나 이상의 명령어를 실행하여 인공 신경망 연산 장치(100)의 동작을 제어할 수 있다.
프로세서(110)는 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 프로세서(110)는 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다.
이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로서, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 이에 한정되는 것은 아니다. 프로세서(110)는 하나 이상의 프로세서를 포함할 수 있다.
프로세서(110)는 메모리(120)에 저장된 프로그램, 명령어들에 기반하여 실시예에 따른 인공 신경망 연산 방법을 실행할 수 있다.
메모리(120)는 인공 신경망과 더불어 입력 데이터, 파라미터 양자화 과정 및 인공 신경망 연산 과정에서 발생하는 중간 데이터 및 연산 결과 등을 저장할 수 있다.
메모리(120)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있으며, DRAM, SRAM, 또는 SDRAM 등과 같은 휘발성 메모리, OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, NAND 플래시 메모리, 또는 NOR 플래시 메모리 등과 같은 비휘발성 메모리, SSD, CF(compact flash) 카드, SD 카드, Micro-SD 카드, Mini-SD 카드, Xd 카드, 또는 메모리 스틱(memory stick) 등과 같은 플래시 드라이브, 또는 HDD와 같은 저장 장치를 포함할 수 있다. 메모리(120)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 이에 한정되는 것은 아니다.
실시예에 따른 파라미터 양자화에 기반한 인공 신경망 연산 장치(100)는, 적어도 하나의 명령어를 저장하는 메모리(120) 및 프로세서(110)를 포함하고, 메모리(120)에 저장된 적어도 하나의 명령어는 프로세서(110)에 의해 실행되어 프로세서(110)로 하여금, 인공 신경망의 파라미터의 제 1 양자화 파라미터 값에 기반하여 파라미터의 파라미터 기울기를 결정하는 제 1 동작, 제 1 동작에서 결정된 파라미터 기울기 및 제 1 양자화 파라미터 값과 연계된 제 1 원본 파라미터 값에 기반하여 파라미터의 제 2 원본 파라미터 값을 결정하는 제 2 동작 및 제 1 양자화 파라미터 값과 제 2 원본 파라미터 값의 비교 결과에 기반하여 제 2 원본 파라미터 값과 연계된 제 2 양자화 파라미터 값을 결정하는 제 3 동작을 실행하도록 구성될 수 있다.
일 예에서, 제 1 양자화 파라미터 값 및 제 2 양자화 파라미터 값은 저-정밀도(low-precision) 값이고, 제 1 원본 파라미터 값 및 제 2 원본 파라미터 값은 고-정밀도(high-precision) 값일 수 있다.
일 예에서, 전술한 제 3 동작은, 제 2 원본 파라미터 값이 제 1 양자화 파라미터 값보다 큰 경우 제 2 원본 파라미터를 내림연산한 값을 제 2 양자화 파라미터 값으로 결정하고, 제 2 원본 파라미터 값이 제 1 양자화 파라미터 값보다 작거나 같은 경우 제 2 원본 파라미터를 올림연산한 값을 제 2 양자화 파라미터 값으로 결정하는 동작을 포함할 수 있다.
일 예에서, 메모리(120)에 저장된 적어도 하나의 명령어는 프로세서(110)에 의해 실행되어 프로세서(110)로 하여금, 인공 신경망의 순방향 경로 또는 역방향 경로상의 적어도 하나의 연결과 연계된 적어도 하나의 파라미터에 대하여 전술한 제 1 동작, 제 2 동작 및 제 3 동작을 실행하도록 구성될 수 있다.
일 예에서, 메모리(120)에 저장된 적어도 하나의 명령어는 프로세서(110)에 의해 실행되어 프로세서(110)로 하여금, 인공 신경망의 적어도 하나의 계층의 적어도 일부의 연결과 연계된 적어도 하나의 파라미터에 대하여 전술한 제 1 동작, 제 2 동작 및 제 3 동작을 실행하도록 구성될 수 있다.
여기서 연결은 인공 신경망의 시냅틱 가중치(synaptic weight), 필터링 가중치(filter weight) 또는 연결 가중치(connection weight)를 의미한다.
일 예에서, 메모리(120)에 저장된 적어도 하나의 명령어는 프로세서(110)에 의해 실행되어 프로세서(110)로 하여금, 입력 데이터에 대하여 제 2 양자화 파라미터 값을 이용하여 인공 신경망의 출력 값을 연산하도록 구성될 수 있다.
이하에서 실시예에 따른 인공 신경망 연산 장치(100)에 의한 인공 신경망 연산 방법의 과정에 대하여 구체적으로 살펴본다.
도 4는 실시예에 따른 인공 신경망 연산 방법의 흐름도이다.
실시예에 따른 파라미터 양자화에 기반한 인공 신경망 연산 방법은 프로세서(110)를 포함한 인공 신경망 연산 장치(100)에 의해 실행될 수 있다.
실시예에 따른 파라미터 양자화는 파라미터를 양자화한다. 예를 들어, 실시예에 따른 인공 신경망 연산 방법은 인공 신경망의 적어도 일부의 파라미터를 양자화한다. 예를 들어, 실시예에 따른 인공 신경망 연산 방법은 인공 신경망의 파라미터 전체를 양자화한다.
여기서 파라미터는 인공 신경망의 가중치(weight)를 포함한다. 예를 들어 파라미터는 인공 신경망의 시냅틱 가중치(synaptic weight), 필터링 가중치(filter weight) 및 연결 가중치(connection weight)를 포함한다.
실시예에 따른 파라미터 양자화에 기반한 인공 신경망 연산 방법은 인공 신경망의 파라미터의 제 1 양자화 파라미터 값에 기반하여 파라미터의 파라미터 기울기를 결정하는 제 1 단계(S1), 파라미터 기울기 및 제 1 양자화 파라미터 값과 연계된 제 1 원본 파라미터 값에 기반하여 파라미터의 제 2 원본 파라미터 값을 결정하는 제 2 단계(S2) 및 제 1 양자화 파라미터 값과 제 2 원본 파라미터 값의 비교 결과에 기반하여 제 2 원본 파라미터 값과 연계된 제 2 양자화 파라미터 값을 결정하는 제 3 단계(S3)를 포함한다.
제 1 단계(S1)에서, 프로세서(110)에 의해, 인공 신경망의 파라미터의 제 1 양자화 파라미터 값에 기반하여 파라미터의 파라미터 기울기를 결정할 수 있다.
메모리(120)는 파라미터의 제 1 양자화 파라미터 값을 저장할 수 있다. 제 1 단계(S1)에서 프로세서(110)는 파라미터의 기 저장된 제 1 양자화 파라미터 값에 기반하여 파라미터의 파라미터 기울기를 결정할 수 있다.
예를 들어 제 1 양자화 파라미터 값은 저-정밀도 값(예를 들어 8-bit floating point value, FP8)이고, 제 1 단계(S1)에서 프로세서(110)는 일 세트의 입력 데이터에 대하여 저-정밀도의 제 1 양자화 파라미터를 이용하여 오차 역전파(backpropagation)를 통해 파라미터 기울기(parameter gradient)를 결정한다.
제 2 단계(S2)에서, 프로세서(110)에 의해, 제 1 단계(S1)에서 결정된 파라미터 기울기 및 제 1 양자화 파라미터 값과 연계된 제 1 원본 파라미터 값에 기반하여 파라미터의 제 2 원본 파라미터 값을 결정할 수 있다.
메모리(120)는 제 1 양자화 파라미터 값과 연계된 제 1 원본 파라미터 값을 저장할 수 있다. 여기서 제 1 양자화 파라미터 값과 연계된 제 1 원본 파라미터 값 및 제 2 원본 파라미터 값은 고-정밀도(high-precision)(예를 들어 32-bit floating point value, FP32) 값이다.
제 3 단계(S3)에서, 프로세서(110)에 의해, 제 1 양자화 파라미터 값과 제 2 단계(S2)에서 결정된 제 2 원본 파라미터 값의 비교 결과에 기반하여 제 2 원본 파라미터 값과 연계된 제 2 양자화 파라미터 값을 결정할 수 있다. 여기서 제 2 양자화 파라미터는 저-정밀도(예를 들어 8-bit floating point value, FP8) 값이다. 이에 대하여는 도 5를 참조하여 보다 상세히 살펴본다.
실시예에 따른 인공 신경망 연산 방법은 프로세서(110)에 의해 전술한 제 1 단계(S1), 제 2 단계(S2) 및 제 3 단계(S3)는 복수 회 반복하는 단계를 더 포함할 수 있다. 예를 들어 제 1 입력 데이터에 대하여 제 1 단계(S1), 제 2 단계(S2) 및 제 3 단계(S3)를 실행하고, 제 2 입력 데이터에 대하여 제 1 단계(S1), 제 2 단계(S2) 및 제 3 단계(S3)를 실행할 수 있다. 예를 들어, 제 1 입력 데이터에 대하여 제 3 단계(S3)에서 결정된 제 2 양자화 데이터는 제 2 입력 데이터에 대한 제 1 단계(S1)에서의 제 1 양자화 데이터로 설정된다. 예를 들어, 제 1 입력 데이터에 대하여 제 2 단계(S2)에서 결정된 제 2 원본 데이터는 제 2 입력 데이터에 대하여 제 2 단계(S2)에서 사용되는 제 1 원본 데이터로 설정된다.
도 5는 실시예에 따른 인공 신경망 연산 방법에 의한 학습 과정의 예시적인 흐름도이다.
실시예에 따른 인공 신경망 연산 방법은 도 5에 도시된 단계(L0) 내지 단계(L10)을 포함할 수 있다. 도 4를 참조하여 단계(L2)는 제 1 단계(S1)에 대응하고, 단계(L3)는 제 2 단계(S2)에 대응하고, 단계(L4) 내지 단계(L7)은 제 3 단계(S3)에 대응한다.
실시예에 따른 파라미터 양자화에 기반한 인공 신경망 연산 방법은 프로세서(110)에 의해 학습 데이터를 복수의 미니 배치(mini-batch) 데이터로 분할하는 단계(L1) 및 복수의 미니 배치 데이터의 각각에 대하여 도 4를 참조하여 제 1 단계(S1)(즉, 단계(L2)), 제 2 단계(S2)(즉, 단계(L3)) 및 제 3 단계(S3)(즉, 단계(L4) 내지 단계(L7))를 실행하는 단계를 더 포함할 수 있다.
단계(L0)에서 프로세서는 실시예에 따른 인공 신경망 연산 방법에 의한 인공 신경망 학습 과정의 실행을 시작한다.
단계(L1)에서 프로세서(110)는 전체 학습 데이터를 복수의 미니 배치(mini-batch) 데이터로 분할한다.
단계(L2)에서 프로세서(110)는 하나의 미니 배치 데이터에 대하여 파라미터의 제 1 양자화 파라미터 값(예를 들어 저-정밀도 파라미터 값)를 이용하여 파라미터의 파라미터 기울기를 계산한다.
단계(L3)에서 프로세서(110)는 단계(L2)에서 계산한 파라미터 기울기를 이용하여 파라미터의 제 2 원본 파라미터 값(예를 들어 고-정밀도 파라미터 값)을 갱신한다.
단계(L4)에서 프로세서(110)는 단계(L3)에서 갱신된 파라미터의 제 2 원본 파라미터 값(예를 들어 고-정밀도 파라미터 값)과 해당 파라미터의 제 1 양자화 파라미터 값(예를 들어 저-정밀도 파라미터 값)을 비교한다.
단계(L5)에서 프로세서(110)는 제 2 원본 파라미터 값이 제 1 양자화 파라미터 값보다 큰 경우 제 2 원본 파라미터 값을 내림연산한 값을 단계(L7)에서 제 2 양자화 파라미터 값으로 결정한다.
단계(L6)에서 프로세서(110)는 제 2 원본 파라미터 값이 제 1 양자화 파라미터 값보다 작거나 같은 경우 제 2 원본 파라미터 값을 올림연산한 값을 단계(L7)에서 제 2 양자화 파라미터 값으로 결정한다.
실시예에서는 양자화 과정에서 이력 현상(hysteresis)을 적용하여 변동성을 줄이고 각 파라미터가 더 안정적으로 학습될 수 있도록 하였다. 이는 단계(L4) 내지 단계(L7)과 연계되는 다음의 식으로 표현될 수 있다.
여기서 QW는 제 2 양자화 파라미터이고, W는 제 2 원본 파라미터이고, QW'는 제 1 양자화 파라미터를 의미한다.
즉, 고-정밀도의 파라미터(W)를 저-정밀도 파라미터(QW)로 양자화하는 경우, 이전 양자화 값(QW')보다 고-정밀도 파라미터(W)가 작다면 올림을, 이전 양자화 값(QW‘)보다 고-정밀도 파라미터(W)가 크다면 내림을 수행한다.
단계(L8)에서 프로세서(110)는 단계(L1)에서 분할된 모든 미니 배치에 대하여 학습을 수행(즉, 단계(L2) 내지 단계(L7) 실행)할 때까지 단계(L2) 내지 단계(L7)을 반복한다.
단계(L9)에서 정해진 에포크(epoch)만큼 학습을 수행(즉, 단계(L1) 내지 단계(L8) 실행)할 때까지 단계(L1) 내지 단계(L8)을 반복한다.
단계(L10)에서 학습을 종료한다.
일 예에서 단계(L1)에서 복수의 미니 배치 데이터는 제 1 미니 배치 데이터 및 제 1 미니 배치 데이터에 후속한 제 2 미니 배치 데이터를 포함하고, 도 4를 참조하여 제 3 단계(S3)는, 제 1 미니 배치 데이터에 대하여 제 1 단계(S1), 제 2 단계(S2) 및 제 3 단계(S3)를 실행함으로써 획득한 제 2 양자화 파라미터를 제 2 미니 배치 데이터에 대한 제 1 양자화 파라미터로 설정하는 단계를 더 포함할 수 있다.
일 예에서 단계(L1)에서 복수의 미니 배치 데이터는 제 1 미니 배치 데이터 및 제 1 미니 배치 데이터에 후속한 제 2 미니 배치 데이터를 포함하고, 도 4를 참조하여 제 3 단계(S3)는, 제 1 미니 배치 데이터에 대하여 제 1 단계(S1) 및 제 2 단계(S2)를 실행함으로써 획득한 제 2 원본 파라미터 값을 제 2 미니 배치 데이터에 대한 제 1 원본 파라미터 값으로 설정하는 단계를 더 포함할 수 있다.
도 6은 실시예에 따른 이력 현상을 이용한 파라미터 양자화 결과를 예시적으로 도시한다.
도 6에 도시된 양자화 결과는 도 1과 달리 파라미터(W)가 작게 변하면 양자화 결과(QW)가 느리게 흔들리고, 파라미터(W)가 크게 변하면 양자화 결과(QW)가 빠르게 흔들린다.
이를 통해 파라미터(W)의 변화량(ΔW)과 양자화 결과(QW)의 변화량(ΔQW)이 비례하게 되고, 오차 역전파를 이용한 학습에서 연쇄 법칙(chain rule)을 통해 손실(loss)에 큰 영향을 미치는 파라미터(W)를 많이 변화시켜 인공 신경망을 이용하여 학습하고자 하는 목적을 달성하게 할 수 있다.
도 8은 실시예에 따른 인공 신경망 연산 방법에 의한 추론 과정의 예시적인 흐름도이다.
실시예에 따른 인공 신경망 연산 방법에 의한 추론 과정은 단계(I0) 내지 단계(I3)을 포함한다.
단계(I0)에서 프로세서(110)에 의해 추론 과정이 시작된다.
단계(I1)에서, 프로세서(110)에 의해, 추론에 사용할 입력 데이터를 획득한다.
예를 들어 인공 신경망 연산 장치(100)는 메모리(120)에 기 저장되거나 인공 신경망 연산 장치(100)의 통신 인터페이스를 통해 외부 장치로부터 입력 데이터를 수신할 수 있다. 예를 들어 사용자는 인공 신경망 연산 장치(100)의 입력 인터페이스를 통해 입력 데이터를 인공 신경망 연산 장치(100)에 제공할 수 있다. 여기서 입력 인터페이스는 텍스트, 음성 데이터 및/또는 영상 데이터 등을 입력 받을 수 있는 다양한 멀티-모달 인터페이스 장치를 포함할 수 있다.
단계(I2)에서, 프로세서(110)에 의해, 단계(I1)에서 획득된 입력 데이터에 대하여 제 2 양자화 파라미터 값을 이용하여 인공 신경망의 출력 값을 연산할 수 있다. 여기서 제 2 양자화 파라미터 값은 인공 신경망 학습 과정에 의해 결정된 파라미터의 저-정밀도 파라미터 값이다.
단계(I3)에서, 프로세서(110)에 의해, 입력 데이터에 대한 추론 과정이 종료된다. 예를 들어, 단계(I2)에서 계산된 출력 값이 단계(I3)에서 인공 신경망 연산 장치(100)의 출력 인터페이스를 통해 출력된다. 예를 들어, 단계(I3)에서 출력 값은 메모리(120)에 중간 데이터 또는 최종 데이터로 저장된다. 예를 들어, 단계(I3)에서 출력 값은 인공 신경망 연산 장치(100)의 통신부를 통해 외부 장치로 전송된다.
실시예에 따른 인공 신경망 연산 방법 및 장치는 모든 신경망 구조와 태스크에 대해 저-정밀도(low-precision) 학습을 수행하는 경우 적용 가능하다.
실시예에 의하면, 인공 신경망의 파라미터 양자화 과정에서 최대-정밀도(full-precision) 대비 성능 하락이 거의 발생하지 않도록 하는 새로운 파라미터 양자화 방식이 제공된다.
실시예에 따른 인공 신경망 연산 방법은 다양한 태스크에 적합한 고성능의 양자화된 모델(quantized model) 개발 및 저전력 딥러닝 프로세서 설계에 적용 가능하다.
한편 실시예에 따른 양자화 과정은 이미지 분류(image classification), 객체 검출(object detection), 번역(translation) 태스크에서 합성곱(convolution), 완전-연결 계층(fully-connected layer), LSTM, transformer 구조에 대해 검증하였고, 실험 결과 대부분의 경우 반올림에 의한 양자화 대비 현저한 성능 향상을 보였다.
실시예에 따른 인공 신경망 연산 방법 및 장치는 기존 인공 신경망의 구조를 그대로 유지하면서 파라미터 갱신(parameter update) 방식에만 변화를 주었고, 추가적으로 필요한 연산이 크기 비교와 올림, 내림 뿐이므로 인공 신경망을 이용한 학습을 지원하는 인공 신경망 연산 장치(100)(예를 들어, 모바일, IoT 기기 및 NPU 등)에 바로 적용가능하다.
또한 실시예에 의하면 매우 낮은 파라미터 정밀도로도 높은 성능을 얻을 수 있으므로, 인공 신경망을 이용한 서비스 제공에 활용가능하여 실용성이 제고된다.
나아가 실시예에 따른 인공 신경망 연산 기술은 인공 신경망의 구조나 태스크에 상관 없이 모두 적용이 가능하다는 장점이 있다.
전술한 본 발명의 실시예에 따른 방법은 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 비 일시적 기록 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 비 일시적 기록 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.
이상 설명된 본 발명의 실시 예에 대한 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 청구범위에 의하여 나타내어지며, 청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 인공 신경망 연산 장치
110: 프로세서
120: 메모리

Claims (15)

  1. 프로세서를 포함한 인공 신경망 연산 장치에 의해 실행되는 파라미터 양자화에 기반한 인공 신경망 연산 방법으로서,
    인공 신경망의 파라미터의 제 1 양자화 파라미터 값에 기반하여 상기 파라미터의 파라미터 기울기를 결정하는 제 1 단계;
    상기 파라미터 기울기 및 상기 제 1 양자화 파라미터 값과 연계된 제 1 원본 파라미터 값에 기반하여 상기 파라미터의 제 2 원본 파라미터 값을 결정하는 제 2 단계; 및
    상기 제 1 양자화 파라미터 값과 상기 제 2 원본 파라미터 값의 비교 결과에 기반하여 상기 제 2 원본 파라미터 값과 연계된 제 2 양자화 파라미터 값을 결정하는 제 3 단계를 포함하되,
    상기 제 1 양자화 파라미터 값 및 상기 제 2 양자화 파라미터 값은 저-정밀도(low-precision) 값이고, 상기 제 1 원본 파라미터 값 및 상기 제 2 원본 파라미터 값은 고-정밀도(high-precision) 값인, 인공 신경망 연산 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 파라미터는 상기 인공 신경망의 가중치(weight)를 포함하는,
    인공 신경망 연산 방법.
  4. 제 1 항에 있어서,
    학습 데이터를 복수의 미니 배치(mini-batch) 데이터로 분할하는 단계; 및
    상기 복수의 미니 배치 데이터의 각각에 대하여 상기 제 1 단계, 상기 제 2 단계 및 상기 제 3 단계를 실행하는 단계를 더 포함하는,
    인공 신경망 연산 방법.
  5. 제 4 항에 있어서,
    상기 복수의 미니 배치 데이터는 제 1 미니 배치 데이터 및 상기 제 1 미니 배치 데이터에 후속한 제 2 미니 배치 데이터를 포함하고,
    상기 제 3 단계는,
    상기 제 1 미니 배치 데이터에 대하여 상기 제 1 단계, 상기 제 2 단계 및 상기 제 3 단계를 실행함으로써 획득한 제 2 양자화 파라미터를 제 2 미니 배치 데이터에 대한 제 1 양자화 파라미터로 설정하는 단계를 더 포함하는,
    인공 신경망 연산 방법.
  6. 제 4 항에 있어서,
    상기 복수의 미니 배치 데이터는 제 1 미니 배치 데이터 및 상기 제 1 미니 배치 데이터에 후속한 제 2 미니 배치 데이터를 포함하고,
    상기 제 3 단계는,
    상기 제 1 미니 배치 데이터에 대하여 상기 제 1 단계 및 상기 제 2 단계를 실행함으로써 획득한 제 2 원본 파라미터 값을 제 2 미니 배치 데이터에 대한 제 1 원본 파라미터 값으로 설정하는 단계를 더 포함하는,
    인공 신경망 연산 방법.
  7. 제 1 항에 있어서,
    상기 제 3 단계는,
    상기 제 2 원본 파라미터 값이 상기 제 1 양자화 파라미터 값보다 큰 경우 상기 제 2 원본 파라미터 값을 내림연산한 값을 상기 제 2 양자화 파라미터 값으로 결정하고, 상기 제 2 원본 파라미터 값이 상기 제 1 양자화 파라미터 값보다 작거나 같은 경우 상기 제 2 원본 파라미터 값을 올림연산한 값을 상기 제 2 양자화 파라미터 값으로 결정하는 단계를 포함하는,
    인공 신경망 연산 방법.
  8. 제 1 항에 있어서,
    입력 데이터에 대하여 상기 제 2 양자화 파라미터 값을 이용하여 상기 인공 신경망의 출력 값을 연산하는 단계를 더 포함하는,
    인공 신경망 연산 방법.
  9. 파라미터 양자화에 기반한 인공 신경망 연산 장치로서,
    적어도 하나의 명령어를 저장하는 메모리; 및
    프로세서를 포함하고, 상기 적어도 하나의 명령어는 상기 프로세서에 의해 실행되어 상기 프로세서로 하여금,
    인공 신경망의 파라미터의 제 1 양자화 파라미터 값에 기반하여 상기 파라미터의 파라미터 기울기를 결정하는 제 1 동작;
    상기 파라미터 기울기 및 상기 제 1 양자화 파라미터 값과 연계된 제 1 원본 파라미터 값에 기반하여 상기 파라미터의 제 2 원본 파라미터 값을 결정하는 제 2 동작; 및
    상기 제 1 양자화 파라미터 값과 상기 제 2 원본 파라미터 값의 비교 결과에 기반하여 상기 제 2 원본 파라미터 값과 연계된 제 2 양자화 파라미터 값을 결정하는 제 3 동작을 실행하도록 구성되되,
    상기 제 1 양자화 파라미터 값 및 상기 제 2 양자화 파라미터 값은 저-정밀도 값이고, 상기 제 1 원본 파라미터 값 및 상기 제 2 원본 파라미터 값은 고-정밀도 값인, 인공 신경망 연산 장치.
  10. 삭제
  11. 제 9 항에 있어서,
    상기 제 3 동작은,
    상기 제 2 원본 파라미터 값이 상기 제 1 양자화 파라미터 값보다 큰 경우 상기 제 2 원본 파라미터를 내림연산한 값을 상기 제 2 양자화 파라미터 값으로 결정하고, 상기 제 2 원본 파라미터 값이 상기 제 1 양자화 파라미터 값보다 작거나 같은 경우 상기 제 2 원본 파라미터를 올림연산한 값을 상기 제 2 양자화 파라미터 값으로 결정하는 동작을 포함하는
    인공 신경망 연산 장치.
  12. 제 9 항에 있어서,
    상기 적어도 하나의 명령어는 상기 프로세서에 의해 실행되어 상기 프로세서로 하여금,
    상기 인공 신경망의 순방향 경로상의 적어도 하나의 연결과 연계된 적어도 하나의 파라미터에 대하여 상기 제 1 동작, 상기 제 2 동작 및 상기 제 3 동작을 실행하도록 구성되는,
    인공 신경망 연산 장치.
  13. 제 9 항에 있어서,
    상기 적어도 하나의 명령어는 상기 프로세서에 의해 실행되어 상기 프로세서로 하여금,
    상기 인공 신경망의 적어도 하나의 계층의 적어도 일부의 연결과 연계된 적어도 하나의 파라미터에 대하여 상기 제 1 동작, 상기 제 2 동작 및 상기 제 3 동작을 실행하도록 구성되는,
    인공 신경망 연산 장치.
  14. 제 9 항에 있어서,
    상기 적어도 하나의 명령어는 상기 프로세서에 의해 실행되어 상기 프로세서로 하여금,
    입력 데이터에 대하여 상기 제 2 양자화 파라미터 값을 이용하여 상기 인공 신경망의 출력 값을 연산하도록 구성되는,
    인공 신경망 연산 장치.
  15. 프로세서를 포함한 인공 신경망 연산 장치에 의해 제 1 항 및 제 3 항 내지 제 8 항 중 어느 한 항에 따른 인공 신경망 연산 방법을 실행하도록 구성된 적어도 하나의 명령어를 저장한 컴퓨터 판독가능한 비 일시적 기록 매체.

KR1020220032933A 2022-03-16 2022-03-16 이력 현상을 이용한 파라미터 양자화 기반 인공 신경망 연산 방법 및 장치 Active KR102815186B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020220032933A KR102815186B1 (ko) 2022-03-16 2022-03-16 이력 현상을 이용한 파라미터 양자화 기반 인공 신경망 연산 방법 및 장치
PCT/KR2022/010829 WO2023177025A1 (ko) 2022-03-16 2022-07-22 이력 현상을 이용한 파라미터 양자화 기반 인공 신경망 연산 방법 및 장치
EP22932392.8A EP4462311A4 (en) 2022-03-16 2022-07-22 METHOD AND APPARATUS FOR CALCULATING AN ARTIFICIAL NEURAL NETWORK BASED ON PARAMETER QUANTIFICATION USING HYSTERESIS
US18/795,315 US20240394534A1 (en) 2022-03-16 2024-08-06 Artificial neural network calculation method and device based on parameter quantization using hysteresis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220032933A KR102815186B1 (ko) 2022-03-16 2022-03-16 이력 현상을 이용한 파라미터 양자화 기반 인공 신경망 연산 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20230135435A KR20230135435A (ko) 2023-09-25
KR102815186B1 true KR102815186B1 (ko) 2025-05-30

Family

ID=88023590

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220032933A Active KR102815186B1 (ko) 2022-03-16 2022-03-16 이력 현상을 이용한 파라미터 양자화 기반 인공 신경망 연산 방법 및 장치

Country Status (4)

Country Link
US (1) US20240394534A1 (ko)
EP (1) EP4462311A4 (ko)
KR (1) KR102815186B1 (ko)
WO (1) WO2023177025A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120181158A (zh) * 2023-12-19 2025-06-20 深圳云天励飞技术股份有限公司 一种模型量化方法、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150220336A1 (en) 2010-09-23 2015-08-06 International Business Machines Corporation Systems and methods for identifying software performance influencers

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11321609B2 (en) * 2016-10-19 2022-05-03 Samsung Electronics Co., Ltd Method and apparatus for neural network quantization
JP6227813B1 (ja) * 2017-01-25 2017-11-08 株式会社Preferred Networks 分散深層学習装置及び分散深層学習システム
KR102152374B1 (ko) * 2019-02-25 2020-09-07 주식회사 딥엑스 인공신경망의 비트 양자화 방법 및 시스템
US11676028B2 (en) * 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
KR102505946B1 (ko) * 2020-09-02 2023-03-08 네이버 주식회사 인공신경망 모델 학습 방법 및 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150220336A1 (en) 2010-09-23 2015-08-06 International Business Machines Corporation Systems and methods for identifying software performance influencers

Also Published As

Publication number Publication date
EP4462311A4 (en) 2026-01-28
EP4462311A1 (en) 2024-11-13
US20240394534A1 (en) 2024-11-28
WO2023177025A1 (ko) 2023-09-21
KR20230135435A (ko) 2023-09-25

Similar Documents

Publication Publication Date Title
KR102788531B1 (ko) 고정 소수점 뉴럴 네트워크를 생성하는 방법 및 장치
TWI791610B (zh) 對人工神經網路及浮點神經網路進行量化的方法及裝置
KR102505946B1 (ko) 인공신경망 모델 학습 방법 및 시스템
CN112085186A (zh) 一种神经网络的量化参数确定方法及相关产品
KR20210032140A (ko) 뉴럴 네트워크에 대한 프루닝을 수행하는 방법 및 장치
KR102891571B1 (ko) 중첩된 비트 표현 기반의 뉴럴 네트워크 처리 방법 및 장치
CN111105017A (zh) 神经网络量化方法、装置及电子设备
JP2019139338A (ja) 情報処理装置、情報処理方法、およびプログラム
WO2019223250A1 (zh) 一种确定剪枝阈值的方法及装置、模型剪枝方法及装置
CN111542838B (zh) 一种卷积神经网络的量化方法、装置及电子设备
CN118886508A (zh) 一种模型推理方法、装置、设备及介质
CN119272234A (zh) 算子融合方法、系统、设备及介质
CN118839774A (zh) 模型推理方法、装置、电子设备及存储介质
KR102815186B1 (ko) 이력 현상을 이용한 파라미터 양자화 기반 인공 신경망 연산 방법 및 장치
CN115481562B (zh) 多并行度优化方法、装置、识别方法和电子设备
KR20230123309A (ko) 프루닝 방법 및 장치
CN118114735A (zh) 神经网络模型的量化方法及装置、设备和介质
KR102885931B1 (ko) 인공 신경망의 양자화 방법 및 인공 신경망을 이용한 연산 방법
KR20220166176A (ko) 딥 뉴럴 네트워크를 양자화하는 방법 및 장치
CN113408704A (zh) 数据处理方法、装置、设备及计算机可读存储介质
JPWO2018135516A1 (ja) ニューラルネットワーク学習装置、ニューラルネットワーク学習方法、及び、ニューラルネットワーク学習プログラム
KR20200135059A (ko) 데이터를 처리하는 방법 및 장치
CN120218259A (zh) 量子计算方法、装置、设备、存储介质及程序产品
KR20200139071A (ko) 뉴럴 네트워크에서 파라미터를 양자화하는 방법 및 장치
CN115293330A (zh) 神经网络权重的量化方法、装置、系统及可读存储介质

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18 Changes to party contact information recorded

Free format text: ST27 STATUS EVENT CODE: A-5-5-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000