6월, 2022의 게시물 표시

From In-context learning to RLHF (Feat. ChatGPT)

이미지
TL;DR 거시적인 발전 과정 : In-context Learning -> Instruction Tuning -> RLHF -> RLAIF In-Context Learning은 Large Scale 언어모델을 tuning하지 않고 새로운 task에 적용할 수 있는 직관적인 방법을 제시함 Instruction Tuning은 다양한 task를 Instruction + example의 템플릿으로 캐스팅하여 Implicit하게 multi-task로 tuning하며 결과적으로 Unseen Task를 더 잘 수행함  RLHF는 인간의 선호도라는 애매한 척도를 모델링하는 Reward Model과 강화 학습을 활용하여 언어 모델을 개선하는 방법을 제시함 RLAIF는 Human Labeling Cost를 없애고 RLHF에서 추가적으로 helpfulness와 harmlessness를 모두 개선할 수 있는 자동화된 파이프라인을 제시함  In-Context Learning & Instruction Tuning 오늘은 요즘 핫한 ChatGPT와 관련된 이야기를 하려고 한다. 바로 zero-shot의 가능성을 보여준 In-context Learning의 시작과 그것을 더 개선시킨 Instruction Tuning, 마지막으로 화룡정점을 찍은 Reinforcement Learning From Human Feedback에 대한 내용이다. 이후 Anthropic에서 RLHF를 시스템적으로 개선한 RLAIF라는 방식을 추가적으로 제안하기도 했다.  In-context Learning In-context learning은 GPT3 에서 소개되면서 pretraining-finetuning paradigm의 대안을 제시했다. 언어모델이 충분히 크고(도표에 의하면 6B 이상) 다량의 corpus로 학습했다면 사람의 자연어 instruction을 이해하고 바람직한(의도에 맞는) 텍스트를 생성할 수 있는 능력을 가지고 있다는 것이다. 예를 들어 언어모델을 QA 태스크에 명시적으

Diffusion Model 개념 정리

이미지
 1. Diffusion Model 정의 diffusion model은 원본 샘플 \(x_0 \sim q(x_0)\)를 \(T\) step 에 걸쳐서 Gaussian Noise를 준 \(x_T\)가 Gaussian 분포를 따른다고 가정하고, 해당 변환의 역과정을 학습해서 원본 샘플의 분포에서 샘플링할 수 있도록 하는 생성 모델의 일종이다.  diffusion process를 수식으로 표현하면 다음과 같다.  $$ q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{1- \beta_t} x_{t-1}, \beta_t I) $$ 수식에는 Gaussian Noise를 각 스텝에서 얼마나 넣어주고, 기존 피쳐를 얼마나 희석할지를 정하는 파라미터 \( \beta_t \in (0,1) \)가 있다. \( \beta_t \)값이 커질수록 기존 피처가 줄어들고 노이즈는 많이 첨가된다. 일반적으로 스텝 초반에는 적은 beta값으로 시작해 학습 후반으로 갈수록 커져도 괜찮다고 한다. 즉, \( \beta_1 \lt \beta_2 \lt ... \lt \beta_T \) 이다. 이렇게 diffusion을 정의하면 장점이 있는데 주어진 샘플 \( x_0 \)에 대해 임의의 스텝 \( t \)의 분포에서 샘플링이 가능하다. 필요하다면 \( \mu \)와 \( \Sigma \)의 학습을 위해 reparametrization trick도 사용 가능하다. $$ x_t = \sqrt{1-\beta_t} x_{t-1} + \sqrt{\beta_t} z_{t-1} $$ $$ x_t = \sqrt{\alpha_t} x_{t-1} + \sqrt{1-\alpha_t} z_{t-1} \textrm{ , where } \alpha_t := 1-\beta_t $$ $$ x_t = \sqrt{\alpha_t} (\sqrt{\alpha_{t-1}} x_{t-2} + \sqrt{1-\alpha_{t-1}} z_{t-2}) +\sqrt{1-\alpha_t} z_{t-1} $$ $$ x_t