본문 바로가기

Data Analysis/Natural Language Processing

확률론적 앵무새와 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 Parrots: Can Language Models Be Too Big? https://dl.acm.org/doi/10.1145/3442188.3445922) 해당 논문을 내가 언급하는 이유는, 실제 사용을 할 때 모델을 Fix해서 사용하는 것은 자제해야 함을 말하고 싶기 때문이다. AI를 이용한 언어 모델은 더 큰 확률을 가진 결과값을 보여주기 때문에,  분석가가 확률론적으로는 작은 실제 Y에 대해 Detect 하는 것도 중요함을 간과하게 될 수도 있다. Batch 형식으로 Model Tuning을 해야할 뿐만 아니라, 파이프라인 전반을 지속적으로 확인하는 과정이 필수적이라고 생각한다. 그리고 분석가의 취향을 반영해서 모델을 진행하는 것보다는 검증을 위해 통계에 기반한 모델을 사용하는 것도 필요하다. 통계에 기반한 모델의 경우, DataSet 구축, Preprocess 부터 분석 과정까지 인간의 논리를 반영해야 해서 인간의 개입이 다소 많겠지만, 그 과정에서 얻는 인사이트 역시 작지 않다. 

 

잘 알려진 BERT, GPT-2/3, Switch-C는 인공 신경망을 이용한 모델로 transformer까지의 개념을 이해한 분석가라면 사용해봐도 좋다.

 

아래는 Language Model에 대한 링크이다.