NLP
[TIL] In-context Learning with Long-context LLMs
☑️ Backgrounds Long-context LLMs GPT4o는 128k token을 take 할 수 있고, Gemini1.5의 경우 2M의 token을 take할 수 있다고 한다. LLama 3 405B를 pre-training 할 때는, context length를 6개의 stage로 gradually하게 늘려서 training함 (8k context window에서 시작해 -> 128k window로 마감)In-context Learning [예시 1] [예시2] ... [Your real questions] 여기서 예시를 넣을 때는 Question + Solution ☑️ Many-Shot In-Context Learning (May 2024)Newly expanded context wi..
[TIL] LLM as reward models/evaluators (#RLHF, #Self-improvement)
다른 분야도 겅부해야지 .. 정신차리고 .. ☑️ RewardBench (8 Jun 2024)Evaluating Reward Models for Language ModelingReward model들을 평가하는 밴치마크이다. RLHF: 사람이 만든 preference data를 이용해 reward model을 training 하는 과정 ☑️ Self-Taught Evaluators (8 Aug 2024)Reward modeling에는 human judgment annotation이 필요하지만 이건 너무 costly함Human annotation 없이 self-improvement framework를 만듦 Without any labeled preference data, our Self-Taught E..
[NLP Article] BERT에 대한 모든 것
이 게시글은 Language Understanding with BERT 아티클을 참고한 글이다! Thanks to Jinheon Baek~! 출국 전 NLP 공부 .. 일주일에 게시글 세개씩 올릴 것이다. 항상 겸손하기 .. ◆ BERT는 뭘까 BERT의 효용은 아래 두가지라고 저자는 주장한다. Self-supervised learning으로 raw textual data를 pre-training (즉, downstream task를 위한 encoder) 각 token에 대해 bidirectional feature representation을 학습 ◆ Building Blocks of BERT BERT의 구성요소는 1) Self-Attention 2) Transformer Encoders 3) Self-..
[NLP] LORA : Low-Rank Adaptation of Large Language Models 논문 리뷰
# Problem statement Pre-trained model을 다양한 downstream task에 adaptation ex) Summarization 그리고 이는 주로 Fine-tuning으로 해결한다. 일단 위 downstream task들은 training data of context-target pairs $z$ = ($x$, $y$) 로 표현됨 Fully Fine-tuning? Downstream task의 log likelihood를 maximize 시키는 값을 찾겠다 ($x$, $y$는 example) 위 값은 거의 gradient descent 값으로 찾음 (w/ optimizer) > 전체 100% 파라미터 업데이트 하지만 위 gradient descent에는 이전 step의 정보..
[NLP] Transformer(트랜스포머, Attention is all you need)
📚논문참고 Attention is all you need 1. 개요(기존 recurrent 모델의 한계) - Long term dependency problem : 멀리 있는 단어는 예측에 사용하지 못하는 현상 ex) "저는 언어학에 관심이 많아 인공지능 기술 중 딥러닝을 배우고 있고, 그 중 자연어 처리가 가장 흥미롭습니다"라는 문장에서, '자연어처리' 단어를 생성하는데에 가장 중요한 의미를 갖는 단어는 '언어학'일 것임. 하지만 순환신경망 모델은 가까이 있는 딥러닝을 중요하게 인식할 가능성이 높을수도 있음. '딥러닝'으로 생성을 하면 '자연어처리'가 아니라 '컴퓨터비젼' 등을 생성할 수도 있음. - Parallelization problem : 순환 신경명은 연쇄적으로 처리하기 때문에 병렬처리가 어려..
[NLP] Attention Mechanism (어텐션 메커니즘)
1. 개요(Seq2Seq의 한계) - 하나의 고정된 Context Vector에 이전의 모든 정보를 압축하려고 하니 정보손실이 발생 → 고정된 길이의 Context Vector에 비해 Sequence Length가 훨씬 길어진다면 과거 State의 정보가 잊혀지는 Catastrophic Forgetting 현상이 발생 결국 가장 처음 등장했던 단어를 번역해내는데에 실패할 확률이 높음! - RNN의 고질적인 문제인 Gradient Vanishing 문제 발생 - 예측 과정에서 과거 정보를 다시한번 참고할 수 있는 방법은 없을까? 2. 구성 1) 아이디어 디코더에서 출력 단어를 예측하는 매 시점(time step)마다 인코더의 문장을 다시한번 참고! 단, 해당 시점의 단어와 가장 연관이 있는 인코더의 부분을..
[NLP] Sequence-to-Sequence (Seq2Seq, 시퀀스 투 시퀀스)
1. 개요 - 입력된 시퀀스로부터 다른 도메인의 시퀀스를 출력하는 모델 - 챗봇, 번역, 요약, STT 등에 쓰일 수 있음 2. 구성 - RNNLM (RNN Language Model) 임 RNN의 기본 구조 : 현재시점(time step)을 t라고 할 때, RNN셀은 t-1에서의 은닉상태와 t에서의 입력 벡터를 input으로 받음. 그리고 t에서 은닉상태 ht를 만들고, t+1시점의 입력으로 이를 보냄 - 기본적으로 인코더(Encoder)와 디코더(Decoder)로 구성됨 - Context Vector(컨텍스트 벡터)에 인코더에서 입력받은 단어의 정보가 압축됨 이 Context Vector를 디코더로 전송함 (현업에서는 수백차원임) - 인코더, 디코더 아키텍쳐는 두개의 RNN 아키텍쳐 물론 RNN은 G..