본문 바로가기

분류 전체보기

Open Source GPT-3 (GPT-Neo, GPT-J) 개요 GPT 계열의 모델 발전은 학습 데이터의 양과 컴퓨팅 자원의 증가가 주요하였음 (최근 GPT-3.5—ChatGPT까지도) 특히 GPT-3부터는 놀라운 성능임에도 불구하고 model parameter수가 급증함(175B)에 따라 컴퓨팅 자원이 받쳐주지 않는 이상 이용이 불가한 수준임 게다가, OpenAI에서 GPT-3모델을 공개하지 않고, 데모와 API를 통해서만 제공함 이에, 오픈소스 연구단체인 Eleuther AI는 GPT-3의 오픈소스 버전인 GPT-Neo와 GPT-J를 공개함 (학습 및 테스트 데이터셋—The Pile 데이터셋—및 코드를 공개) 두 모델 모두 Huggingface에서 지원하고 있음 GPT-Neo mesh-tensorflow를 이용한 모델 → Huggingface에서는 PyTor..
Transformer-based Seq2Seq: Leveraging Pre-trained Checkpoints for Sequence Generation Task 본 포스팅은 Leveraging Pre-trained Checkpoints for Sequence Generation Task 논문의 리뷰를 다루고 있습니다. 개인적 고찰은 파란색으로 작성하였습니다. 해당 내용에 대한 토론을 환영합니다 :) Background BERT와 같은 pre-trained model은 Natural Language Understanding(NLU) 분야에서는 괄목할만한 성과를 달성하였지만, sequence generation과 같은 decoder-based task에 대해서는 큰 효과를 보이지 못함 이러한 흐름에서, BERT-NMT와 같은 machine translation에 특화된 구조를 채태하는 논문도 같은 시기에 등장하였고, 이에 본 논문도 같은 흐름으로 연구되었다고 생각함..
GPT-2 : Language Models are Unsupervised Multitask Learners 본 포스팅은 GPT-2의 논문 리뷰를 다루고 있습니다. 개인적 고찰은 파란색으로 작성하였습니다. 해당 내용에 대한 토론을 환영합니다 :) Background (Motivation) 다양한 NLP task(question and answering, machine translation, summarization)들은 task-specific한 dataset과 그에 맞는 fine-tuning을 요구함 이는 ML 전반에서 typical한 model 구축/생성 방식이라고 생각함 특정 domain에서, 특정 task를 잘 수행하는 ML model을 만들기 위해서 task에 맞는 domain의 dataset을 구축해야하고, 기대하는 task를 잘 수행할 수 있게 학습시키고 (supervision을 통해) i.i.d ..
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 본 포스팅은 BERT의 논문 리뷰를 다루고 있습니다. 개인적 고찰은 파란색으로 작성하였습니다. 해당 내용에 대한 토론을 환영합니다 :) Introduction Language model pre-training은 많은 NLP task에서 효과를 입증해 옴 Sentence-level task: NLI (Natural Language Inference) Token-level task: NER (Name Entity Recognition), QA (Question and answering) Pre-trained language representation task는 크게 두 가지 approach가 존재 Feature-based: Task-specific architecture에 pre-trained represe..
베이지안 추론(1) - 이론 개인적으로는 통계의 본질은 실제 세계의 문제를 확률분포로써 수학적으로 모델링하고, 가정한 분포의 parameter를─error를 컨트롤하면서 이를 최소화하며─추정하는 학문이라고 생각합니다. 따라서, 통계학에서 근간이 되는 것은 '확률'이라고 할 수 있습니다(그래서 이 카테고리의 첫번째 장에서 확률변수와 확률분포를 가장 먼저 다룬 것도 있습니다). 통계학에서는 이렇게 가장 기본적인 '확률'을 바라보는 두 관점이 있습니다. 바로 빈도론(Frequentism)과 베이지안(Bayesianism)입니다. 이번 포스팅에서는 이 중에서 베이즈 정리에 입각한 베이지안 추론(Bayesian inference)에 대해 다루겠습니다. Frequentism vs Bayesianism 빈도론과 베이지안이 확률을 바라보는 관점이..
Distribution(2) - 연속확률분포(Gamma, Beta, Dirichlet) 이번 포스팅에서는 앞서 다룬 이산확률분포에 이어 연속확률분포에서 익숙하지 않은 분포 세 가지에 대해 다루겠습니다. 1. 감마분포(Gamma distribution)확률변수 X가 α번째 사건이 일어날때 까지 걸리는 시간으로 정의했을 때, 이 확률변수 X의 분포를 감마분포(Gamma distribution)라고 합니다. 이산확률분포에서도 비슷하게 1번 이상의 사건까지 소요되는 요소에 다루는 분포가 있었습니다. 바로, 음이항분포(Negative binomial distribution)인데요, 음이항분포는 k번의 success가 출현할 때까지의 (베르누이)시행 횟수에 대해 다루며, 감마분포는 α번째 사건까지 소요되는 시간에 대해 다룹니다. 우리는 감마분포의 pdf를 아래와 같이 쓸 수 있습니다. 여기서 감마 함..
Distribution(1) - 이산확률분포(Binomial, Multinomial, Geometric, Negative Binomial) 앞선 포스팅에서 확률변수와 확률모형에 대해 다루었습니다. 확률분포란, 어떤 확률변수 x가 가지는 확률을 수학적으로 모델링한 것입니다. 이때, 확률변수가 이산형이냐, 연속형이냐에 따라 종류가 다릅니다. 그리고 분포를 모델링하는 함수를 확률분포함수라고 하며 각각을 pmf(probability mass function), pdf(probability density function)라고 부릅니다. 이항분포, 정규분포, 포아송분포, 카이제곱 분포 등 많은 분포들이 존재하며 통계를 공부하면서 익숙한 분포들이 많습니다. 이번 포스팅 시리즈는 익숙하지 않은 분포들에 대해 어떤 확률변수를 모델링한 분포인지 숙지하는 것을 목적으로 합니다. 이산형과 연속형으로 나누어서 각각 포스팅하겠습니다. 1. 이항분포(Binomial ..
분류성능평가지표 - Precision(정밀도), Recall(재현율) and Accuracy(정확도) 기계학습에서 모델이나 패턴의 분류 성능 평가에 사용되는 지표들을 다루겠습니다. 어느 모델이든 간에 발전을 위한 feedback은 현재 모델의 performance를 올바르게 평가하는 것에서부터 시작합니다. 모델이 평가해야하는 요소와 그 것을 수치화한 지표들, 그리고 관련 개념들에 대해서 다루도록 하겠습니다. 모델의 분류와 정답 모델을 평가하는 요소는 결국, 모델이 내놓은 답과 실제 정답의 관계로써 정의를 내릴 수 있습니다. 정답이 True와 False로 나누어져있고, 분류 모델 또한 True False의 답을 내놓습니다. 그렇게 하면, 아래와 같이 2x2 matrix로 case를 나누어볼 수 있겠네요. 이제 각 case별로 살펴보겠습니다. True Positive(TP) : 실제 True인 정답을 Tru..
확률변수와 확률모형 통계학에서 주가 되는 확률에 대해 다루고자 합니다. 통계학을 배우면서 느낀 점은, 확률로부터 파생되는 여러 이론들로 실생활에 다가가는 학문이라는 것입니다. 주변에 일어나고 있는 여러 사건(event)들을 수학적으로 모델링하고, 이를 분석하고 설명하는 것이 통계학의 본질이라는 점에서 머신러닝도 이에 맥을 함께한다고 생각합니다. 확률앞서 통계학은 확률로부터 파생되는 여러 이론들로 실생활에 다가가는 학문이라고 언급했습니다. 우리는 주위에서 발생하고 있는 여러 사건들이 일어나기 전에는 알 수가 없습니다. 이렇게 사건들은 근본적으로 불확실성을 내포하고 있는데, 이러한 불확실성을 표현할 수 있는 수단이 바로 확률입니다. 아래는 우리가 마주할 법한 불확실성에 대해 확률적으로 접근한 것인데요. 사실 우리가 예측하고자 ..
[Statistics] Prologue Motivation 머신러닝을 공부하면서 이전에 배웠던 통계의 기본 개념들을 정리하고자 합니다. 통계학(넓게는 수학)에서의 개념은 함수나 수식이 절반 이상을 차지할 정도로 비중이 큰데요. 이것들은 단지 계산과 표현을 간단하게 위해 사용하는 표현의 수단일뿐이지, 이를 사람의 언어로 알기 쉽게 표현하는 것은 생각보다 쉽지 않습니다. 어느 분야에서든 마찬가지겠지만, 배운 것을 말로 설명할 수 있는 능력을 갖추는 것이 머신러닝, 데이터 사이언스를 업으로 삼고자 하는 통계학도들에게는 매우 중요한 능력이자 경쟁력이라고 생각합니다. 그래서, 기본기부터 제대로 익히고자 합니다. 머신러닝에 쓰이는 관련 분야의 이론들을 포스팅하고 의견을 나누고 싶네요 :)