본문 바로가기

Upstage AI Lab 2기

Upstage AI Lab 2기 [Day057] PyTorch

Upstage AI Lab 2기

2024년 3월 5일 (화) Day_057

온라인강의

 

PyTorch

: 딥러닝 프레임워크 중 하나

 

모델의 학습 과정을 처음부터 다 구현하려면 필요한 것들

1. 모든 레이어 직접 구현

2. loss function 구현

3. 모든 레이어에 대한 weight, bias에 대해 gradient 계산

4. 최적화 알고리즘 구현

-> 이 과정을 딥러닝 프레임워크가 단순화 시켜줌

 

why PyTorch?

NLP - 가장 대중적인 NLP 커뮤니티인 HuggingFace에 공개된 대부분의 모델이 PyTorch를 사용

CV - 사전학습된 모델들을 외부라이브러리에서 불러올 수 있도록 PyTorch 생태계가 잘 구축되어 있음

LLM


Tensor Manipulation

1D tensor - vector

2D tensor - matrix

etc.

 

가능한 연산 : elementwise 사칙연산 / 내적(1D tensor 끼리만) / 행렬곱(3차원 이상의 텐서에서도 가능함!)

 

broadcasting

 

sparse tensor / dense tensor

 

dense tensor : Out of memory (OOM) 문제 발생

 

sparse tensor : 0 이 아닌 원소와 그 위치를 저장하는 텐서

만드는 방식 - COO,  CSR/CSC 등

 

COO(row_idx, col_idx, val)

단점 - 반복해서 저장되는 값 발생 -> 비효율적인 메모리 사용

 

CSR (row_pointer, col_idx, val) /CSC (col_pointer, row_idx, val)

CSR 기준으로 설명

col_idx : 행 원소 순서대로 열 인덱스를 정렬

row_pointer : col_idx 와 val의 몇번째부터 몇번째까지가 행에 속하는지를 담은 정보?

원소를 순회하는 방식으로 접근 가능하여 효율적임

 

 

 

 

 

 

 

 

멘토님의 추천 공부거리

https://www.content.upstage.ai/blog/insight/ai-trends-2023?format=amp

https://www.samsungsds.com/kr/insights/generative-ai-trends.html

https://www.youtube.com/watch?si=yh69dPsZVvHaQ038&v=6W6PVWByhc0&feature=youtu.be