본문 바로가기

Data Analysis/Natural Language Processing

(9)
LLM 소개, 성능향상 방법론, 논문 7가지 추천 LLM이란대규모 언어 모델(Large Language Model: LLM)은 대규모의 텍스트 데이터를 사용하여 훈련된 인공지능 모델을 가리킵니다. 대규모 언어모델은 텍스트를 인식하고 생성하는 등의 작업을 수행할 수 있는 일종의 인공 지능(AI) 프로그램입니다. LLM은 방대한 데이터 세트를 학습하므로 "대규모"라는 이름이 붙었습니다. 이 모델은 자연어 처리 및 이해에 사용되며, 문장 생성, 기계 번역, 질의응답, 요약, 감정 분석 등과 같은 다양한 자연어 이해 및 생성 작업을 수행할 수 있습니다. 이러한 모델은 머신러닝, 일반적으로 Transformer Model과 같은 일종의 신경망을 기반으로 하며, 많은 양의 데이터와 계산 리소스를 사용하여 훈련됩니다. OpenAI의 GPT 시리즈와 Google의 B..
CBOW, Skip-Gram, NNLM Word2Vec는 단어 벡터 간 유의미한 유사도를 반영할 수 있도록 단어의 의미를 수치화하는 방법 중 하나이다.Word2Vec 방법론설명CBOW(Continous Bag of Words)주변에 있는 단어들을 입력으로 중간에 있는 단어들을 예측하는 방법Skip-Gram중간에 있는 단어들을 입력으로 주변 단어들을 예측하는 방법 CBOWCBOW의 이해를 위해 매우 간소화된 예시를 통해 설명한다.예문 : "The fat cat sat on the mat"예를 들어서 갖고 있는 코퍼스에 위와 같은 예문이 있다고 하자. ['The', 'fat', 'cat', 'on', 'the', 'mat']으로부터 sat을 예측하는 것은 CBOW가 하는 일이다. 이때 예측해야하는 단어 sat을 중심 단어(center word)라..
워드 임베딩 (Word Embedding) 개념, 희소 표현, 밀집 표현 워드 임베딩(Word Embedding)은 단어를 벡터로 표현하는 방법으로, 단어를 밀집 표현으로 변환한다. 희소 표현, 밀집 표현, 그리고 워드 임베딩에 대한 개념을 학습한다. 1. 희소 표현(Sparse Representation)앞서 원-핫 인코딩을 통해서 나온 원-핫 벡터들은 표현하고자 하는 단어의 인덱스의 값만 1이고, 나머지 인덱스에는 전부 0으로 표현되는 벡터 표현 방법이다. 이렇게 벡터 또는 행렬(matrix)의 값이 대부분이 0으로 표현되는 방법을 희소 표현(sparse representation) 이라고 한다. 원-핫 벡터는 희소 벡터(sparse vector) 이다.이러한 희소 벡터의 문제점은 단어의 개수가 늘어나면 벡터의 차원이 한없이 커진다는 점이다. 원-핫 벡터로 표현할 때는 갖..
Attention Mechanism SeqtoSeq model의 한계seq2seq 모델은 인코더에서 입력 시퀀스를 컨텍스트 벡터라는 하나의 고정된 크기의 벡터 표현으로 압축하고, 디코더는 이 컨텍스트 벡터를 통해서 출력 시퀀스를 만들어낸다. 이러한 RNN에 기반한 seq2seq 모델에는 아래와 같은 두 가지 문제로 인해, 기계 번역 분야에서 입력 문장이 길면 번역 품질이 떨어지는 현상이 나타난다.1) 하나의 고정된 크기의 벡터에 모든 정보를 압축하려고 하니, 정보 손실이 발생2) RNN의 고질적인 문제인 기울기 소실(vanishing gradient) 문제 존재 결국 seq2seq의 대안으로, Attention Mechanism이 입력 시퀀스가 길어지면 출력 시퀀스의 정확도가 떨어지는 것을 보정해주기 위해 등장했다.  Attention어텐..
sequence-to-sequence 학습 전략 Auto Regressive(자기 회귀) 속성Seq2seq의 훈련 방식과 추론 방식의 차이는 근본적으로 자기회귀(AR, AutoRegressive)라는 속성 때문에 생긴다. 자기회귀란 과거의 자신의 값을 참조하여 현재의 값을 추론(또는 예측)하는 특징을 말한다. 이는 수식에서도 확인할 수 있다. 예를 들어 다음은 전체적인 신경망 기계번역의 수식이다. 이와 같이 현재 time-step의 출력값 y_t 는 인코더의 입력 문장(또는 시퀀스) X 와 이전 time-step까지의 y{ 과거에 잘못된 예측을 했을 경우 시간이 지날수록 더 큰 잘못된 예측을 할 가능성을 야기하기도 한다. 또한 과거의 결괏값에 따라 문장(또는 시퀀스)의 구성이 바뀔 뿐만 아니라, 예측 문장 (시퀀스)의 길이마저도 바뀐다. 학습 과정에서..
sequence -to-sequence (seq-2-seq) 기계 번역 분야(번역기)에서 대표적으로 사용되는 모델내부가 보이지 않는 커다란 블랙 박스에서 점차적으로 확대해가는 방식 RNN의 한계와 seq-2-seq의 등장 배경일반적인 RNN에서는 입력 시퀀스와 출력 시퀀스의 크기는 고정되어 있었다. 입력 시퀀스의 크기는 가변적일 수 있었으나, padding을 통해 동일한 크기로 만들어서 사용했었다. 기계 번역 분야에서는 한 언어에서 다른 언어로 번역할 때 문장의 길이가 달라질 수 있기 때문에 가변적인 출력 시퀀스에 대한 처리가 필요할 것이다.  Sequence-to-Sequence: RNN 계열의 모델을 활용한 새로운 구조인코더 아키텍쳐와 디코더 아키텍쳐의 내부는 각각 두 개의 RNN 아키텍쳐이다. 입력 문장을 받는 RNN 셀을 인코더라고 하고, 출력 문장을 출력..
[Paper Review] Sequence to sequence learning with neural networks 보호되어 있는 글입니다.
확률론적 앵무새와 Language Model Wiki에서는 Language Model을 다음과 같이 설명하고 있다."A statistical language model is a probability distribution over sequences of words."이 설명은 참 명료하다.  Language Model은 크게 통계에 기반한 모델과 인공 신경망을 이용한 모델로 나뉜다. 인공 신경망을 이용한 모델이 최근 좋은 성능을 보여주고 있고, 대부분 통계에 기반한 모델은 연구를 위해서만 사용하는 추세이다. 혹자는 통계에 기반한 모델은 이제 사양된 것 아니냐고도 한다. 하지만 Large Language Model의 위험성은 "확률론적 앵무새"로 널리 알려진 논문에서도 지적되었다. (논문: On the Dangers of Stochastic Parr..
Google Trend 로 본 Language Model Language Model 에 대한 트렌드를 확인하기 위해 Google Trend를 이용하여 간단하게 추세 그래프를 그려보았다.최근 5년간 꾸준히 Language Model 에 대한 수요가 있었음을 알 수 있다. 2022년 2월 20일 ~ 26일 사이의 관심도가 최근 5년 중 가장 높았다. 지역별 관심도는 중국이 가장 높았으며, 도시 별로는 베이징이 가장 높게 Detect 되었다. 지역별 관심도는 위치 데이터가 켜져있는 동안에만 유효한 데이터이기 때문에, 간단히 참고하는 수준으로 보면 되겠다.최근의 연관 주제를 보기 위해서는, 관련 주제를 급 상승 순으로 보면 된다. 본 포스팅을 작성하는 2022년 4월 23일 기준으로 BERT, PyTorch, Transformer, Keras, Deep Learnin..