이번 ICLR 2023에 있었던 논문에 대해서 리뷰를 진행한다. (https://arxiv.org/abs/2303.10512) 이 논문은 최근에 많이 다뤄지는 LLMs(Large Language Models)을 Computational Efficient하게 Fine-tuning하는 방법에 대해서 기존에 있던 LoRA(Low Rank Adaptation)의 기법을 보완한 AdaLoRA를 제안하는 논문이다. 이 포스팅에서는 AdaLoRA에 대해서 살펴본다. (추후, 이것의 Reference가 되는 LoRA에 대해서도 다룰 예정이다.) Abstract 기존의 LoRA는 좋은 성능을 보였으나, parameter budget을 incremental update에 균등하게 분배했다. 하지만, 쓸모 없는 것에 inc..
데이터 사이언스 사용 설명서 검색 결과
이번 ICLR 2023에 있었던 논문에 대해서 리뷰를 진행한다. (https://arxiv.org/abs/2210.09461) 이 논문은 Transformer의 정확도를 유지하면서도, 연산량을 줄여 모델이 한번에 처리할 수 있는 정보의 양을 늘리기 위해서 ToMe(Token Merging)이라는 기법을 제안한 논문이라고 볼 수 있다. 이 포스팅에서는 ToMe라는 기법에 대해서 살펴보고, 주요한 실험 결과를 정리해 볼 예정이다(모든 실험 결과를 다루지는 않는다!). Introduction Transformer가 등장한 이후, NLP, Computer Vision 등 다양한 분야에서 Transformer를 기반으로 한 모델들이 쏟아져 나오고 있다. 특히나, Vision Transformer가 등장한 이후에는..
Python 언어를 활용하다 보면 Jupyter Lab 혹은 Jupyter Notebook을 많이 사용한다. 하지만, 가끔 아나콘다에서 가상 환경을 생성하여 이를 Kernel로 활용하는 것이 제대로 동작하지 않는 경우가 있다. 다시 말해서, 분명히 해당 가상 환경에서 어떤 패키지를 설치했음에도 불구하고, Import Error가 뜨는 경우이다. 일단 첫번째로, 아나콘다 프롬프트에서 conda activate [가상환경] 으로 사용하고자 하는 가상 환경에 진입한다. 그 이후에, 해당 가상 환경에 설치된 패키지들에 대한 정보를 확인할 수 있는 conda list 를 통해서 확인해본다. 이제, Jupyter Lab 혹은 Jupyter Notebook에서 설치하였지만, 제대로 설치가 되어 있지 않은 패키지를 i..
이번에 소개할 모델은 Transformer로, 이 논문을 처음 제안한 "Attention Is All You Need"의 논문과 여러 자료를 참고하여 알게 된 내용들을 포스팅하겠습니다. Sequence Modeling Sequence Modeling이란, 시계열 데이터, 텍스트, 음성, 비디오 등의 연속적이고, 순차적인 데이터에서 패턴과 관계를 학습하여 해당 시점(Time point) 이후에 다음으로 나올 값을 예측하는 것을 의미합니다. Transformer가 등장하기 전에는 RNN, LSTM이 Sequence Modeling에서 가장 좋은 성능을 보이고 있었습니다. 하지만, 이런 모델들은 본인들이 예측한 결과가 다음 Time Step에서 입력으로 들어가야 하는 학습 구조에서 오는 문제가 발생하였습니다...
실험 DataSets 정리 1) ImageNet-1k 2) ImageNet-21k 3) JFT-3B 4) YFCC100M 5) IG-1B-Targeted Pretrained model 정리 AlexNet(2012) : ImageNet Classification with Deep Convilutional Neural Networks dataset(imageNet) preprocessing 1) 이미지 크기를 256x256으로 고정. (width와 height 중 더 짧은 쪽은 256으로 고정, 중앙 부분 256x256 crop) 2) 각 이미지의 pixel에 training set의 평균을 추출해서 normalize Architecture - 구조 : Max-pooling layer가 적용된 5개의 con..
2차원 Convolution의 문제점 - contextual information을 확보하기 위해 넓은 Receptive field를 고려할 필요가 있음. - CNN에서는 이를 확장하기 위해 커널 크기를 키우거나 layer를 쌓는데, 이는 연산량을 매우 크게 증가시킴. -> 해당 문제점인 연산량을 경량화, 정보 손실이 일어나지 않게 유의미한 정보만을 추출하기 위해 다양한 기법이 나타남. 1. Dilated Convolutions (= astrous Conv) - 기존 Conv filter가 수용하는 pixel 사이에 간격을 둔 형태 (간격을 조절하면서 다양한 scale 대응 가능) - 입력 pixel 수는 동일하지만, 더 넓은 범위에 대한 입력 수용 - dilation rate 파라미터 : 커널 사이 간..
이 블로그는 CS231n 강의를 기반으로 정리한 내용입니다. - ConvNet의 구조엔 width * height * depth의 이미지 형태가 input으로 들어옴. - filter로 연산 진행 -> activation map 생성. 이 때 filter 개수 = activation map개수 - 연산 진행 시 (이미지 depth = filter depth) 맞춰줘야 함. - update하는 파라미터는 filter의 값들 Filter란? - Filter란 input의 정보들을 output으로 압축해주는, 혹은 정보를 전달해주는 역할. - output size 공식 : (N-F) / stride + 1 Padding의 기능 - 이미지 보존의 역할. filter를 거치면서 size가 줄어드는데, Paddin..
GPT-2 : Language Models are Unsupervised Multitask Learners - GPT와 구조는 똑같으나 훨씬 더 대용량 데이터를 학습(40GB, WebText) - GPT Medium(345M Parameters = BERT Larget) -> Large -> Extra Large model 확장 GPT-2 vs BERT - BERT는 Bidirectional 학습, GPT-2는 auto-regressive * auto-regressive : 각 token이 생성이 되면, 생성된 token이 그 다음 token을 생성하기 위한 input으로 사용. - GPT2는 1024개의 token을 처리할 수 있음. trained GPT-2 - unconditional samples를..
GPT: Generative Pre-Training of a Language Model - unlabeled dataset이 labeled dataset보다 훨씬 많기에 이를 잘 활용하면 지도학습 task에 좋은 성능을 낼 수 있다. - unlabeled text를 사전에 미리 활용하고, 그 뒤에 labeled text를 활용하자. - unlabel 단어로부터 word-level 이상의 정보를 활용하는 것은 매우 chellenge(1- 목적 함수가 효과적인지 모르기에, 2-transfer learning을 하기 위한 효과적인 방법의 수렴이 없다.) ELMo vs GPT - ELMo는 forward와 backward의 양방향 학습을 거치고 output을 선형결합하여 사용 - GPT는 Backward를 쓰지..
최근댓글