Attention Is All You Need(2017) : Transformer 등장
Insights/Language Model2024. 9. 27. 17:28Attention Is All You Need(2017) : Transformer 등장

이 논문은 트랜스포머 모델을 제안한 논문으로, 자연어 처리에서 RNN이나 CNN 없이도 주목 메커니즘(Attention)을 활용해 더 효율적이고 병렬 처리 가능한 방식으로 시퀀스를 처리한다는 내용을 담고 있다. 현대 대형 언어 모델(LLM)의 핵심적인 구조로, GPT나 BERT 같은 모델들의 근간이 되었다.   저자 TMIAshish Vaswani : 인도출신 구글 브레인 연구팀 소속이였다. 이후 3저자 Niki Parmar와 함께 Adept AI 창업후 새로운 스타트업 창업한 상태이다. 최근 Adept AI에서 80억개의 파라미터를 갖는 LLM인 Persimmon 8B모델을 오픈소스로 공개했다.Łukasz Kaiser : 현재 OpenAI로 이직Noam Shazeer : character.ai; 버추얼..

Transformer 이전까지의 DeepLearning Skimming(Not paper)
Insights/etc.2024. 9. 27. 16:24Transformer 이전까지의 DeepLearning Skimming(Not paper)

딥러닝이란?인공지능(AI)의 한 분야인 머신러닝의 하위 영역으로, 인공신경망(특히 다층 신경망)을 활용하여 데이터를 학습하고 패턴을 인식하는 기술이다. 머신러닝은 데이터로부터 학습하여 예측이나 결정을 내리는 알고리즘을 연구하는 분야이고, 딥러닝은 그중에서도 인간의 두뇌 구조를 모방한 신경망을 깊게 쌓아 복잡한 문제를 해결하는 방법이다.간단하고 명확히 이야기 하면, 딥러닝 모델은 숫자 형태의 데이터를 입력받고, 추론 결과를 숫자로 출력하는 블랙박스 모델로 볼 수 있다. 간단하게 CV Task와 NLP Task로 예를 들어보자.짧게 우선 요약하면 아래와 같다. 두 Task 모두 결론적으로는 숫자를 입력받고, 숫자로 추론결과를 반환한다는 대전제를 따른다.이미지와 글자의 특성을 고려하여 Image를 처리할 때에..

Daily/회고2024. 9. 13. 21:019월의 둘째주 회고

CNN계열 실험만 해봐서 자연어처리 Task 실험에 막연한 두려움이 있었다.하지만 계속 코드를 보다보니 익숙해졌고, 할만했다.오히려 체력이 떨어지는 것 같아서 운동도 시작했다.좀 삶이 능동적으로 바뀌고, 기분이 좋아지는 느낌이 들었다.살짝 아쉬운 점이 있다면 코드와 강의의 비율을 신경쓰지 못한 것 같다.코드는 결과가 바로바로 나오니 코드에 신경을 많이 쓴 느낌다음주는 강의와 실험에 시간분배를 적절히 신경써야겠다. 운동도 계속 하면서, 부족한부분을 찾아나가야겠다.요즘 웹툰도 적게 보고, 유튜브나 인스타 릴스도 많이 줄었다. 긍정적인 것 같다.도파민을 주는 쇼츠같은 것보다 스스로 도파민을 만드는 법을 익혀나가야겠다.

NLP 논문 리스트
DATA, AI2024. 9. 13. 20:56NLP 논문 리스트

RNN 계열의 논문1. RNN : Recurrent neural network based language model (2010) 2. LSTM : Long Short Term Memory Recurrent Neural Network Architectures for Large Scale Acoustic Modeling (2014)cell state 도입으로 vanilla RNN의 기울기 소실등의 문제 해결 시도 3. GRU :  Learning Phrase Representation using RNN Encoder-Decoder for Stistical Machine Translation (2014)LSTM에 비해 계산량을 줄이고 간소화 시킴 4. Seq2Seq : Sequence to Sequence L..

네이버 부스트캠프 1달차 회고하며
Daily/회고2024. 9. 7. 02:51네이버 부스트캠프 1달차 회고하며

전반적인 리뷰예전에는 정보를 '얻기'위해 엄청난 노력을 했다. 정보 자체를 구하는게 어려운 세상이였다.하지만 요즘은 정보화 시대라고 흔히들 말할 정도로 근처에 매우 많은 정보가 흩뿌려져있다.정보 자체를 찾는 능력이 필요한 시대는 지났다.요즘은 어떤 정보가 좋은 정보인지, 나에게 도움이 되는 정보인지 정보를 선별할 수 있는 능력이 필요한 시대인 것 같다. 그런 의미에서 부트캠프는 필수적인 지식을 이해가능하도록 연속적인 커리큘럼으로 알려준다는 점에서 매우 효율적인 교육 시스템이라고 생각한다. 장점으로 느낀 점은, (1달차 아직까지는) 생각보다 자율성이 높았다.원한다면 코어타임 이외 시간에 추가적인 자기개발을 할 수 있을 듯하다.따라서 교육을 들으며 스스로 부족하다고 파악했던 부분은 추가로 공부할 수 있었다...

PyTorch: torch.bmm,matmul,mm 그리고 Attention 가중치의 계산
DATA, AI2024. 9. 7. 02:09PyTorch: torch.bmm,matmul,mm 그리고 Attention 가중치의 계산

torch.matmultorch.matmul은 가장 일반적인 행렬 곱셈 함수이다.다양한 차원의 텐서 간 곱셈을 지원한다.브로드캐스팅으로 인해 의도치 않은 결과가 나올 수 있다. 입력 텐서의 차원에 따라 다르게 동작한다.1D x 1D: 내적(dot product)2D x 2D: 일반적인 행렬 곱셈1D x 2D 또는 2D x 1D: 벡터-행렬 곱셈ND x ND (N > 2): 배치 행렬 곱셈import torch# 2D x 2Da = torch.randn(3, 4)b = torch.randn(4, 2)c = torch.matmul(a, b)print("2D x 2D:")print("a shape:", a.shape) # torch.Size([3, 4])print("b shape:", b.shape) # ..

파이썬 : Closure(클로저), Currying(커링)
Language/Python2024. 9. 7. 01:46파이썬 : Closure(클로저), Currying(커링)

클로저(Closure) : 어떤 함수의 내부 함수가 외부 함수의 변수를 참조할 때, 외부 함수가 실행을 마친 후에도 내부 함수가 외부 함수의 변수를 참조할 수 있도록 값을 어딘가에 저장하는 함수이다. 클로저의 구성요소1. 외부 함수2. 외부 함수 내에 정의된 내부 함수3. 내부 함수가 외부 함수의 변수를 참조4. 외부 함수가 내부 함수를 반환 예제def outer_function(a): x = a + 2 def inner_function(y): return x + y return inner_function# outer_function 호출 및 정상 종료closure_instance = outer_function(10)# 종료된 outer_function의 변수 x 사용result ..

데이터의 분석 : seaborn plot의 활용
DATA, AI2024. 8. 26. 12:52데이터의 분석 : seaborn plot의 활용

A. Understanding Data Characteristics데이터 분석을 시작하기전, 다루고 있는 데이터를 철저히 이해해야 한다. 다루는 데이터에 대한 철저한 이해는 분석 방법을 선택하고 적용하는 것의 기반이 된다. 고려해야할 특성들은 아래와 같다.데이터 타입 : 데이터의 타입이 이산적인지, 비율인지, 명목형 등등 중에서 어떤 것인지 아는것은 올바른 분석법을 선택하는 데에 핵심이다.데이터의 분산 : 분산의 범위와 모양은 어떤 분석이 적절한지 선택하는 데에 큰 영향을 미친다.변수들간의 관계 : 변수들간의 상관관계 역시 올바른 분석법을 선택하는데 가이드의 역할을 한다.B. Data Types데이터의 타입은 크게 Univariate Data(단변량 데이터)와 Multivariate Data(다변량 데이..

Lazy Evaluation : 파이썬의 객체지향
Language/Python2024. 8. 22. 07:59Lazy Evaluation : 파이썬의 객체지향

Lazy Evaluation이란?In programming language theory, lazy evaluation is an evaluation strategy which delays the evaluation of an expression until its value is needed (non-strict evaluation) and which also avoids repeated evaluations (by the use of sharing).  -Lazy Evaluation, wikipedia Lazy Evaluation은 계산 결괏값이 필요할 때까지 계산을 늦추는 기법으로, 파이썬 뿐만 아니라 전반적인 컴퓨터 프로그래밍에서 쓰이는 용어이다.  실행과 동시에 구현하여 메모리에 보관하는 것이 아닌..

기술블로그를 벨로그에서 티스토리로 바꾼 이유
Daily2024. 8. 21. 18:04기술블로그를 벨로그에서 티스토리로 바꾼 이유

개발자를 위한 블로그, 벨로그벨로그는...- 간편하다.- 사용자가 UI적으로 수정가능한 부분이 없다.- 글을 작성할 때도 markdown 문법을 사용하여 글을 작성한다. 기능이 많이 없다고 생각할 수 있지만, 오히려 이러한 심플하고 깔끔한점이 마음에 들었다.테마, 글꼴 등등을 꾸미는 데에 드는 열정과 시간을 오직 글의 내용에만 쏟을 수 있기 때문에, 꾸준히 기록을 할 수 있을 것이라고 생각했다.실제로 위의 이유로 나름 꾸준히 글을 쓸 수 있었지만, 글을 쓰다 보니 벨로그의 단점이 보이기 시작했다.   게시물의 관리가 편리한, 티스토리벨로그를 떠나게 된 주요한 이유는 나의 게시글을 나열하고, 확인하기 어려웠기 때문이다.네이버나 티스토리에는 카테고리의 개념이 있어서 게시물을 클러스터링 하기 편리하다.벨로그에..

image