일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Compression
- deep_learning
- stl
- kubernetes
- dnn
- 반도체기초
- jhVM
- 양자역학의공준
- convolution
- 클라우드
- 쿠버네티스
- FPGA
- Qubit
- 반도체
- sycl
- quantum_computing
- 딥러닝
- CuDNN
- HA
- Semiconductor
- CUDA
- GPU
- flash_memory
- jhDNN
- DRAM
- cloud
- nvidia
- POD
- C++
- SpMM
- Today
- Total
목록Deep Learning (25)
Computing

이전글 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은 딥러닝 네트워크의..

Convolution primitive 분석 및 최적화 방법 Convolution primitive는 딥러닝, 특히 computer vision 분야에서 중요한 연산 중 하나이다. 전통적인 computer vision 및 signal processing 영역에서 convolution(or correlation)은 pattern matching에 좋은 연산자이다. 이런 특성이 딥러닝을 이용한 computer vision 분야에서도 활용되는데, convolution layer는 pattern recognition을 통해 이미지 특징(feature)을 추출한다. (locality) Spatially 이웃한 데이터들간의 상관관계를 파악하여 특징을 추출하며, pooling layer와 함께 사용되어 점점 큰 영역..
이전 글 2022.04.21 - [Deep Learning/Optimization (Hardware)] - PyTorch AMP - 1 : Mixed Precision Training 논문 리뷰 이전 글에서 mixed precision learning의 기본 개념에 대하여 정리하였다. Mixed precision learning은 필요에 따라 FP16 연산 혹은 FP32 연산을 혼합하여 모델 학습을 진행하는 것으로 단순히 FP32 연산만을 사용하여 모델 학습하는 것에 비해 메모리 사용 감소, 에너지 사용 감소, 계산 속도 향상의 장점이 있다. 특히 이전 글에서 소개한 논문 "Mixed Precision Learning[4]"에서는 mixed precision learning시에도 FP32 연산만 사용한 ..

PyTorch AMP 최근 발표되는 Tensor core(https://computing-jhson.tistory.com/10)와 같은 딥러닝 하드웨어에서는 기존의 single precision floating point(FP32) data type이 아닌, half precision floating point(FP16) data type과 같은 좀 더 적은 개수의 bits를 사용하는 데이터 타입을 이용해 layer weights, tensor 등의 데이터를 표현하고 있다. 이를 통해 메모리 사용량 및 데이터 전송량을 줄이면서, 회로를 최적화하여 딥러닝 학습 및 추론 속도를 향상을 달성하고 있다. 많은 딥러닝 프레임워크에서 이러한 low precision 연산을 딥러닝 학습에 지원하고 있는데, PyTor..

NeurIPS 2019에서 소개된 자료 [1]은 딥러닝 가속기에 대하여 잘 정리해 놓았는데 특히 어떤 기준으로 딥러닝 가속기가 효율적인지를 평가할 수 있는 지, 그 척도에 대하여 잘 정리하여 제안한다. 성능 평가 척도는 그것의 주사용 목적, 앞으로의 챌린지, 설계 방향성을 가르쳐준다고 생각하여, 자료 [1]을 바탕으로 딥러닝 가속기의 평가 척도 및 설계 시 고려사항을 정리해보고자 한다. Efficient Processing of DNNs 이 튜토리얼 [1]은 DNN의 효율적인 processing에 대하여 논의하고자 한다. 단순히 빠르게 계산하는 것이 아닌, 좀 더 실사용에 효율적인 계산을 목표로 무엇이 고려되어야 하는 지에 대하여 정리하였다. 빠른 계산은 매우 중요한 processing의 평가 척도이다...
앞선 포스터에서 cuDNN에 대한 개략적인 설명 및 설치 방법에 대하여 소개하였다. jhDNN - 1 : cuDNN 소개 및 설치 (Ubuntu 18.04) cuDNN cuDNN은 NVIDIA CUDA® Deep Neural Network (cuDNN) library로, 딥러닝 네트워크에서 자주 사용되는 primitives(ex, CNN, RNN, pooling, softmax, etc.)를 NVIDIA GPU를 이용해 가속화하여 제공하는 librar.. computing-jhson.tistory.com 오늘 포스터에서는 간단한 cuDNN convolution forward 예제를 바탕으로 cuDNN 프로그래밍 모델에 대해서 정리하고자 한다. [1], [2], [3]을 참고하여 정리하였다. cuDNN P..

cuDNN cuDNN은 NVIDIA CUDA® Deep Neural Network (cuDNN) library로, 딥러닝 네트워크에서 자주 사용되는 primitives(ex, CNN, RNN, pooling, softmax, etc.)를 NVIDIA GPU를 이용해 가속화하여 제공하는 library이다. Forward routines 뿐만 아니라 backward functions도 제공하기에 많은 딥러닝 프레임워크에서 NVIDIA GPU + cuDNN library 조합을 사용하여 딥러닝 학습 및 추론 가속을 지원한다. Caffe2, Chainer, Keras, MATLAB, MxNet, PyTorch, Tensorflow 등 메인 딥러닝 프레임워크는 모두, NVIDIA GPU를 사용할 경우 cuDNN을..

Deep Learning Challenge 딥러닝 기술이 점점 더 어려운 문제를 해결하기 위해 사용하면서 딥러닝 네트워크의 크기가 매우 커지고 있다. 이번 포스터는 딥러닝 네트워크가 커지면서 발생하는 문제점들과 그 문제를 해결하기 위한 방법을 [1], [2], [3] 자료를 바탕으로 정리하고자 한다. 딥러닝 네트워크는 방대한 양의 parameters을 사용하면서 parameter들이 데이터의 특징을 학습하도록 한다. 딥러닝 기술을 더 복잡한 데이터의 특징을 학습하도록 하기 위해서 점점 더 많은 parameters가 사용되는 딥러닝 네트워크 구조가 제안되고 있다. 이때 어떤 문제를 충분히 잘 해결하는 최적의 딥러닝 네트워크를 찾는 것은 매우 힘들다(애초에 불가능할 수도 있다). 어떤 네트워크가 많은 수의 ..