NLP

    [NLP Article] BERT에 대한 모든 것

    [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 논문 리뷰

    [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] 책 ⌜BERT와 GPT로 배우는 자연어처리⌟ 리뷰

    [NLP] 책 ⌜BERT와 GPT로 배우는 자연어처리⌟ 리뷰

    오늘은 이지스퍼블리싱에서 출간된 Do it! 시리즈인 ⌜BERT와 GPT로 배우는 자연어처리⌟ 를 간단히 리뷰해보려고 합니다 :) 이 리뷰는 이지스퍼블리싱 측에서 책을 제공받아 작성되었습니다. 이 책은 소제목에 맞게 트랜스포머 핵심 원리와 허깅페이스 패키지 활용법에 대해 중심적으로 다루고 있는데요, NLP(자연어처리)를 처음 접하는 분들도 그림과 함께 쉽게 이해하실 수 있을 것 같습니다. 특히 저자는 유명한 ratsgo blog의 이기창선생님으로, 모든 실습은 아래 github의 패키지를 통해 진행됩니다. 그리고 실습시 이슈가 생기면 아래 github의 issue를 통해 적극적으로 해결할 수 있다는 점이 굉장히 좋았습니다. 관심있으신 분들은 아래 github을 참고해보시면 될 것 같습니다! GitHub ..

    [NLP] Transformer(트랜스포머, Attention is all you need)

    [NLP] Transformer(트랜스포머, Attention is all you need)

    📚논문참고 Attention is all you need 1. 개요(기존 recurrent 모델의 한계) - Long term dependency problem : 멀리 있는 단어는 예측에 사용하지 못하는 현상 ex) "저는 언어학에 관심이 많아 인공지능 기술 중 딥러닝을 배우고 있고, 그 중 자연어 처리가 가장 흥미롭습니다"라는 문장에서, '자연어처리' 단어를 생성하는데에 가장 중요한 의미를 갖는 단어는 '언어학'일 것임. 하지만 순환신경망 모델은 가까이 있는 딥러닝을 중요하게 인식할 가능성이 높을수도 있음. '딥러닝'으로 생성을 하면 '자연어처리'가 아니라 '컴퓨터비젼' 등을 생성할 수도 있음. - Parallelization problem : 순환 신경명은 연쇄적으로 처리하기 때문에 병렬처리가 어려..

    [NLP] Attention Mechanism (어텐션 메커니즘)

    [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, 시퀀스 투 시퀀스)

    [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..