일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- CUDA
- dnn
- convolution
- SpMM
- Compression
- jhDNN
- jhVM
- 양자역학의공준
- POD
- cloud
- sycl
- C++
- 쿠버네티스
- DRAM
- deep_learning
- 클라우드
- 반도체기초
- Qubit
- GPU
- Semiconductor
- flash_memory
- 딥러닝
- stl
- quantum_computing
- nvidia
- kubernetes
- CuDNN
- FPGA
- HA
- 반도체
- Today
- Total
목록Deep Learning/Optimization (Algorithm) (8)
Computing
딥러닝 학습 과정과 Stochastic Gradient Descent (SGD) Stochasic Gradient Descent(SGD)는 한국어로 확률적 경사 하강법이라고 하는데, 딥러닝 네트워크를 학습하는 가장 기본적이고 많이 사용되는 방법 중 하나이다. (너무 유명한 개념이라) 간략히 정리하자면, 데이터셋 내 모든 데이터의 gradients를 계산하여 한번에 trainable parameters를 업데이트하는 것이 아닌, 임의로 뽑힌 데이터셋의 subset(= mini-batch)을 이용하여 parameters를 업데이트하겠다는 것이다. Fig 1.은 하나의 시스템에서 딥러닝 학습 과정을 계산하는 것을 시각적으로 나타낸 그림이다. Database에 input 데이터가 있으며, input 데이터셋에서..
이전 글 2022.06.14 - [Deep Learning/Optimization (Algorithm)] - TensorRT (1) 개념, 최적화 방법, Workflow (Layer Fusion, Quantization 등) 2022.07.08 - [Deep Learning/Optimization (Algorithm)] - TensorRT (2) 설치 및 샘플 테스트 (Ubuntu 18.04 기준) 이전 글들에서 TensorRT의 기본 개념 및 설치 방법에 대하여 알아보았다. 이번 포스터에서는 TensorFlow 딥러닝 네트워크를 TensorRT로 최적화하는 방법에 대하여 정리하고자 한다. TensorFlow의 TensorRT integration 문서[1]를 참고하여 정리하고자 한다. TF-TRT Te..
이전 글 2022.06.14 - [Deep Learning/Optimization (Algorithm)] - TensorRT (1) 개념, 최적화 방법, Workflow (Layer Fusion, Quantization 등) 이전 글에서 TensorRT의 기본 개념에 대하여 소개하였다. 오늘 포스터에서는 TensorRT의 설치 방법을 정리하고자 한다. TensorRT의 설치 방법은 공식문서, wikidocs를 참고하였다. 설치 방법 (0) TensorRT는 C++ library이다. 따라서 C++ API를 제공하는데, 추가적으로 Python API도 제공한다. (1) 준비물 CUDA toolkit, PyCUDA 설치 필요 pip install numpy cupy Kepler architecture 이상의..
이전글 2022.03.29 - [Deep Learning/Optimization (Algorithm)] - Compression - 1 : Overview 2022.04.29 - [Deep Learning/Optimization (Algorithm)] - Compression - 2 : PyTorch Pruning Tutorial 및 계산 속도가 빨라지지 않는 이유 2022.06.15 - [Deep Learning/Optimization (Algorithm)] - Compression - 3 : Quantization 개념 (1) 지금까지 딥러닝 네트워크의 효율적인 배포를 위한 네트워크 압축(compression) 기술들 및 그 중 quantization 기법에 대하여 정리하였다. 오늘 포스터에서는 qu..
이전글 2022.03.29 - [Deep Learning/Optimization (Algorithm)] - Compression - 1 : Overview 2022.04.29 - [Deep Learning/Optimization (Algorithm)] - Compression - 2 : PyTorch Pruning Tutorial 및 계산 속도가 빨라지지 않는 이유 이전 포스터에서 딥러닝 네트워크 compression에 대한 개념 및 Pruning에 대하여 정리하였다. 이번 포스터에서는 network compression 방법 중 하나인 quantization에 대하여 정리하고자 한다. Quantization의 개념 및 필요성 Quantization(양자화)이라는 단어는 컴퓨터공학 입문 정도의 강의에서 ..
NVIDIA TensorRT는 "A high-performance deep learning inference SDK for production environments" 이다. 즉 실제 딥러닝이 배포되는 환경에서 NVIDIA GPU를 이용해 딥러닝 추론을 가속 & 최적화 할 수 있는 SDK이다. 이번 포스터에서는 빠르고 효율적인 추론만을 위해 설계된 TensorRT에 대해서 정리해보고자 한다. TensorRT가 도입된 배경 및 간략한 소개 딥러닝 네트워크의 정확도 향상을 위해 딥러닝 네트워크가 깊어지고 더 많은 parameters를 가지면서, 네트워크 추론을 위한 연산량은 계속 증가하고 있다. 연산량의 증가는 곧 긴 추론 시간, 많은 메모리 사용, 많은 전력 사용을 의미할 것이다. 음성 인식, 번역, 자율..
이전글 2022.03.29 - [Deep Learning/Optimization (Algorithm)] - Compression - 1 : Overview Pruning 기법 소개 이전글에서 소개한 Pruning 기법에 대하여 PyTorch framework를 통해 구현해 보고, 성능에 대하여 분석해보고자 한다. 많은 컴퓨터공학 전공자들은 Pruning(가지치기)이라는 개념을 tree 자료구조에서 탐색할 노드의 개수를 줄이는 방법에 대해 배울 때 배웠을 것이다. 딥러닝에서도 비슷한 개념으로 Fig 1.과 같이 딥러닝 layer(=graph)의 node(=feature)사이의 edge(=weights)를 제거하여 총 계산할 node(feature)의 개수를 줄이고자 한다. Pruning은 딥러닝 네트워크의..
Deep Learning Challenge 딥러닝 기술이 점점 더 어려운 문제를 해결하기 위해 사용하면서 딥러닝 네트워크의 크기가 매우 커지고 있다. 이번 포스터는 딥러닝 네트워크가 커지면서 발생하는 문제점들과 그 문제를 해결하기 위한 방법을 [1], [2], [3] 자료를 바탕으로 정리하고자 한다. 딥러닝 네트워크는 방대한 양의 parameters을 사용하면서 parameter들이 데이터의 특징을 학습하도록 한다. 딥러닝 기술을 더 복잡한 데이터의 특징을 학습하도록 하기 위해서 점점 더 많은 parameters가 사용되는 딥러닝 네트워크 구조가 제안되고 있다. 이때 어떤 문제를 충분히 잘 해결하는 최적의 딥러닝 네트워크를 찾는 것은 매우 힘들다(애초에 불가능할 수도 있다). 어떤 네트워크가 많은 수의 ..