일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- VSCode
- 가능도
- Python
- 표집분포
- pivot table
- namedtuple
- seaborn
- linalg
- boolean & fancy index
- Comparisons
- subplot
- BOXPLOT
- groupby
- ndarray
- python 문법
- Numpy data I/O
- Python 특징
- 카테고리분포 MLE
- scatter
- dtype
- Python 유래
- type hints
- 정규분포 MLE
- Numpy
- 최대가능도 추정법
- 부스트캠프 AI테크
- unstack
- Array operations
- Operation function
- 딥러닝
- Today
- Total
목록부스트캠프 AI 테크 U stage (112)
또르르's 개발 Story
보호되어 있는 글입니다.
보호되어 있는 글입니다.

1️⃣ Kernel 1) Linear transformation Linear transformation은 변환 후에 덧셈과 scalar를 보존하는 변환입니다. 2) Kernel Kernel은 알맹이, 핵심이란 의미입니다. 남기고 싶은 부분 또는 핵심을 저장할 때 사용합니다. 3) Kernel Method Kernel Method는 Kernel 하고 약간 다릅니다. 예를 들어, 아래 그림에서 빨간 점과 초록 점을 classification하고 싶을 때 저차원 -> 고차원으로 보내면 확실히 구분되는 경우가 있습니다. 따라서 $$ 부분에서 $z_{x}$부분에 $x^{2}_{1} + x^{2}_{2}$, $z_{y}$부분에 $y^{2}_{1} + y^{2}_{2}$로 만들어서 사용하면 ..

Knowledge Distillation의 대표격인 Teacher-Student network를 만들어봅니다. ref) github.com/kmsravindra/ML-AI-experiments/blob/master/AI/knowledge_distillation/Knowledge%20distillation.ipynb 1️⃣ 설정 필요한 모듈을 import합니다. # import import torch import torch.nn as nn import torch.optim as optim import torch.nn.functional as F from torch.optim import lr_scheduler from torchsummary import summary import torchvision im..

1️⃣ 설정 모델은 ResNet18, 데이터는 Mnist를 사용합니다. ResNet18에 대한 model의 PERFORMANCE는 다음과 같습니다. 2️⃣ Dynamic Quantization Dynamic Quantization은 모델의 weight를 quantize 하고, inference 때 레이어의 출력 activation을 더 dynamically quantize (int8) 하게 됩니다. Dynamic Quantization은 int8 연산 수행(이때 해당 결과는 float32의 형태로 나오는 것을 허용) -> 결과물을 int8로 변환 -> 다시 연산 수행의 과정을 거치게 됩니다. 학습된 모델의 Linear 레이어를 quantize_dynamic로 활용하여 quantizing 해보겠습니다. (..

1️⃣ 양자화 (Quantization) 양자화는 아날로그 데이터, 즉 연속적인 값을 디지털 데이터, 즉 띄엄띄엄한 값으로 바꾸어 근사하는 과정을 뜻합니다. 양자화를 하면 다음과 같은 특징이 있습니다. model size가 줄어듦 memory bandwidth requirements가 줄어듦 inference의 speed up을 위해 가장 중요한 기술 하지만 양자화를 하면 정보 손실이 일어나게 됩니다. 아래 그림과 같이 float32는 크기에 비해 적은 범위를 사용하고 있고, 이 것을 int8에 mapping 시키면 모든 공간 사용이 가능하지만 정보 손실이 일어납니다. 1) Affine quantization Affine transform은 어떤 linear map에서 형태는 똑같지만(닮음은 유지하면서)..

Pruning을 수행하기 위한 간단한 모델을 생성하고 훈련합니다. 모델은 LeNet5, 데이터는 Mnist를 사용합니다. 자세한 내용은 Pytorch pruning tutorial를 참고해주세요. Pruning Tutorial — PyTorch Tutorials 1.8.0 documentation Note Click here to download the full example code Pruning Tutorial Author: Michela Paganini State-of-the-art deep learning techniques rely on over-parametrized models that are hard to deploy. On the contrary, biological neural netw..

Python에서 어떤 task를 병렬 처리로 실행하기 위해서는 Ray module을 사용합니다. Ray module은 remote function을 사용해서 task들을 비동기적으로 처리할 수 있습니다. 1️⃣ 설정 Ray module을 설치해줍니다. # install ray !pip install ray ray module을 init 해줍니다. import ray import time # Check node ray.init() 2021-03-17 06:26:32,365INFO services.py:1174 -- View the Ray dashboard at http://127.0.0.1:8265 {'metrics_export_port': 59846, 'node_id': '5557bc90a7c69d388..

1️⃣ Pruning 1) Weighted sum Weighted sum은 가중해서 sum을 한다는 의미입니다. 결정 이론에서 "중요도가 있는 것"은 "높은 가중(weight)"을 곱하고, "중요도가 낮은 것"은 "낮은 가중(weight)"을 곱해서 어떤 부분에 중점을 두어야 하는지를 알려줍니다. $$S = \sum_{i}^{N} w_{i}x_{i}$$ 2) Pruning "자주 사용하는 node" 또는 "중요한 node"는 놔두고, "자주 사용하지 않는 node"나 "중요하지 않는 node"는 pruning(가지치기)를 통해 없애주는 기법입니다. Prunning을 하면 얻는 점과 잃는 점이 존재합니다. 얻는 점 - Inference speed (속도) - Regularization (lessen mod..

1️⃣ Graph lowering High-level IR로 만든 Software (model)가 Hardware에서 동작하기 위해서는 DL compiler을 통해 Hardware가 이해할 수 있는 형태로 변환해야 합니다. 이 과정을 Graph lowering이라고 합니다. 2️⃣ Acceleration 관련 용어 Bandwidth : 데이터가 한 번에 이동할 수 있는지 용량 Latency : 정보가 매질 자체를 통과할 때 걸리는 시간 Throughput : 실제로 전송되는 양 (성능) 3️⃣ 머신러닝에서 Acceleration 머신러닝에서 계산량이 많은 layer일수록 병목현상이 일어납니다. 따라서 머신러닝에서는 계산량이 많은 layer의 Bandwidth와 Latency들을 개선하는 것이 목표입니다...