AI System Semiconductor 38

8.4. 주요 동작 특성 트레이닝

특성 변화 원인시변(Time Variant)특성 변화스위칭 노이즈에 의한 공급전압, 바이어스 전압 변화온도 변화시불변(Time Invariant) 특성 변화공정(process) 산포에 의한 W, L, Vth등의 변화공급전압 및 바이어스 전압 오차문제점아날로그 회로의 경우 전압 이득, 대역폭 등을 변화시킴디지털 회로의 경우 타이밍에 변화를 주어 셋업 홀드 마진에 악영향 메모리인터페이스의 트레이닝전압 및 타이밍 마진 확보를 위한 다양한 트레이닝을 지원함Command/Address 트레이닝Command Bus TraningWrite Margin 트레이닝WCK2CK levelingWrite Data TrainingWCK Duty Cycle TrainingRead Margin 트레이닝Read Gate Traini..

8.3. 송신회로와 수신회로

송신회로메모리의 읽기 동작에서 사용되는 회로메모리 셀로부터 데이터를 읽어 순차적으로 직렬화시켜 출력함제품에 따라 CK를 사용하여 출력 DQS를 만들거나 WCK를 사용하여 출력 DQS를 만듦수신회로메모리의 쓰기 동작에서 사용되는 회로DQS(WCK)와 이에 동기화된 DQ를 수신하여 역직렬화 과정을 통해 데이터를 비트 단위로 분리하여 메모리 셀에 저장DQS 동기화 데이터를 CK 동기화 회로로 전달 저전력 메모리 인터페이스의 수신회로DQ 수신부와 DQS(또는 WCK) 신호를 DQ 신호를 정렬하는데 사용할 수 있도록 증폭 및 분배하는 DQS 수신부로 구성(샘플링 구조-1, ~LPDDR3) DQS의 상승 엣지와 하강 엣지(0도와 180도)를 사용하여 1:2 역직렬화를 수행함으로써 수신된 데이터의 홀수, 짝수번째 데..

8.2. 메모리 인터페이스

메모리 인터페이스 통신 방식데이터 신호 형태Non-return-to-zero(NRZ)  (DDR, LPDDR, GDDR, HBM 등의 다수의 메모리에서 사용) 최신 그래픽용 메모리에서는 PAM 사용 데이터 신호 전송 방식Single-ended signaling차동 신호 방식은 입출력 핀이 많은 병렬 통신 구조에서 적합하지 않음 클록 신호 전송 방식Source synchronous signaling각 입출력 핀마다 클록 복원회로를 배치 및 구동하기에는 면적 및 전력소모가 매우 큼 메모리 인터페이스의 구조 CA (Command Address): DRAM에 명령과 주소를 전달하는 신호이다. 프로세서나 메모리 컨트롤러가 데이터를 읽거나 쓸 위치를 지정할 때 사용된다.VREF (Voltage Reference):..

7.4. AI를 위한 저전력 메모리기법(AI를 위한 압축 기법)

모바일 기기에서 AI모델 적용에 한계가 있음(On-device AI)메모리 병목 현상을 완화하고 모델을 경량화하는 효과적인 기법으로 연구 진행 캐시 압축 기법대규모의 파라미터를 가지는 AI 모델을 캐시 압축을 통해 메모리 계층에서 데이터를 더욱 효율적으로 저장AI모델에서는 연속적이거나 유사한 데이터가 많기에 캐시 압축기법을 통해 loss-less하게 압축 가능효율적인 메모리 사용으로 캐시 히트율을 높이고 메모리 접근 지연시간을 감소  BDI(Base-delta-Immediate)연속적인 값 또는 값 차이가 작은 데이터를 효율적으로 압축하는 대표적인 캐시 압축 방법 첫번째 값을 Base로 설정하고 나머지 데이터는 그 차이(Dellta)를 저장하여 압축을 수행간단한 방식으로 연산 속도에 큰 영향을 미치지 않..

7.3. AI를 위한 저전력 메모리 기법(차세대 비휘발성 메모리 및 Hybrid 메모리 시스템)

차세대 비휘발성 메모리(NVM, Nonvolatile memory)DRAM 및 낸드플래시 메모리의 한계를 극복하기 위한 메모리비휘발성 특성에 의해 데이터 유지에 높은 전력 효율성을 가지며 낸드플래시 대비 매우 빠른 읽기/쓰기 속도 특성1) STT-MRAM(Spin-Transfer Torque Magnetic RAM)스핀 전송 토크 현상을 이용하여 데이터를 저장매우 높은 쓰기 내구성, 낮은 에너지 소모2) ReRAM(Resistvie RAM)저항 변화현상을 활용하여 데이터 저장셀크기가 가장 작아 고밀도 저장장치로의 장점3) PCM(Phase-change Memory)물질의 상변화를 이용하여 데이터 저장다양한 온도조건에서 안정적인 데이터 보존NVM-DRAM 기반 hybrid 메모리AI 시스템은 방대한 양의 ..

7.2. AI를 위한 저전력 메모리 기법(휘발성 메모리)

1) 스크래치 패드 메모리(SPM, Scratchpad memory)프로그래머나 컴파일러가 직접 관리하는 소용량의 고속 메모리캐시 메모리와 달리 직접적인 제어를 통해 데이터의 위치와 이동을 결정SRAM 기반 구조이고 캐시와 비슷한 기능이지만 원하는 데이터를 예측가능하게 사용할 수 있음.2) 데이터 재사용 및 메모리 최적화 기법루프 타일링(Loop Tiling)전체 데이터를 작은 블록으로 나누어 각 블록 단위 연산DiaNao에서 합성곱 모델(CNN) 기반 AI모델에 루프 타일링 기법을 적용하여 117배의 가속 효과와 21배의 에너지 절감효과 달성버퍼메모리 최적화SRAM 기반으로 프로세서와 메모리 사이의 일시적인 buffer를 두어 데이터 재사용을 극대화함목적에 맞게 입력, 출력, 가중치 등의 버퍼를 두어 ..

7.1. DRAM 기반 메모리 유형 및 저전력 설계

DRAM 기반 메모리 종류 및 특성DDR(Double Data Rate) DRAM 메모리 클럭의 상승/하강 엣지 모두에서 데이터를 전송높은 안정성, 확장성 높은 대역폭 LPDDR(Low Power Double Data Rate) DRAMDDR DRAM의 저전력 버전모바일 기기나 배터리 기반 시스템에서 전력 소모를 줄임GDDR(Graphics Double Data Rate) DRAMGPU에서 고성능 그래픽 및 계산 작업을 처리하기 위해 설계고속 데이터 전송 및 높은 대역폭 HBM여러개의 DRAM Die를 수직으로 쌓아 3D 적층 구조로 연결 메모리 프로세서 간 고대역폭 데이터 전송TSV를 통한 고대역폭 전송 DRAM의 소모 전력 계산P(total) = P(dynamic) + P(static)정전용량(C),..

6.4. AI 하드웨어 설계 기법

병렬 처리 기법Loop UnrollingAI 모델 내의 합성곱 연산은 여러 개의 반복문(Loop)을 통해 연산루프 언롤링을 통해 여러 루프를 병렬 처리합성곱 연산의 경우 네단계의 합성곱 루프 언롤링이 가능(커널 루프, 채널 내 루프, 입력 채널 내 루프, 출력 채널 내 루프)Pipelining복잡한 작업을 여러 단계로 나누고 동시에 처리여러 합겅곱 연산을 파이프라이닝해 각 연산기의 비동작 시간을 대폭 줄임서로 다른 연산 유닛이 다른 이미지를 처리하여 전체 AI 하드웨어의 처리량 향상 AI 하드웨어 연산기 구조시스톨릭 어레이(Systolic Array)욘산 처리의 모듈이 2차원 배열의 형태의 구조각 연산 모듈은 전달받은 데이터들을 연산한 값을 누적 + 다음 인접한 연산 모듈로 데이터를 전송하며 이를 반복효..

6.3. AI 모델 경량화 : Knowledge Distillation, Tensor Decomposition 등

지식 증류(Knowledge Distillation, KD)고성능 거대 모델(Teacher)의 지식을 작은 모델(Student)로 증류Teacher 모델의 어떠한 정보를 증류하는지에 따라 방법이 달라짐응답 기반 지식 증류(logit-based KD):Teacher 모델의 최종 output을 Student 모델이 학습특정 기반 지식 증류(representation-based KD) :Teacher 모델에서 특징을 추출하는 backbone network의 정보를 student 모델이 학습Teacher 모델의 활성화 맵 분포를 학습일반적으로 logit-based KD보다 높은 정확도행렬 분해(Tensor Decomposition)특정 행렬을 저차원의 행렬로 분해하는 법저계수 행렬 근사(Low-Rank Appr..

6.2. AI 모델 경량화 : 양자화(Quatization)

Neural network에서 Floating point 32-bit 데이터를 하드웨어 친화적인 데이터 포맷과 함께 적은 bit로 바꿔주는 경량화 방법 Floating point는 소수점을 유동적으로 이동할 수 있기 때문에 표현할 수 있는 수의 범위가 굉장히 넓다.Floating point는 Fixed point보다 표현할 수 있는 범위가 넓음양자화/역양자화 과정양자화 과정양자화를 위한 스케일 팩터 계산8-bit 양자화: 스케일팩터 S = 2^(b-1)/max  (b는 bit수)양자화 간격을 설정데이터를 양자화시키기 위해 반올림(올림,내림) 연산 수행-> Q = R(w*S)  (w는 데이터)최종 양자화된 데이터 선택 역양자화 과정양자화로 변환된 데이터를 행렬연산 이후 원래의 데이터로 복원하기 위한 과정D..