Large Language Model – 개요

All about IT·2024년 1월 19일
post-thumbnail

이 글에서는 LLM(Large Language Model)이란 무엇인가에 대해 다룰 예정이다. 먼저 LLM의 정의를 설명하고, Language Model이 어떻게 발전해 왔는지, 그리고 Large Language Model만의 특징을 알아보도록 하겠다.

Language Model의 정의와 기본 개념

Language Model의 정의는 다음과 같다:

자연어의 확률적 모델. 학습된 텍스트를 기반으로 다음에 올 단어의 확률을 계산한다.

이것은 언어 모델이 마법처럼 글자를 생성하는 것이 아니라, 확률에 기반하여 다음에 올 단어를 예측한다는 것을 의미한다. 이것이 언어 모델을 이해하는데 있어 핵심 개념이다. 현재에 이르러 고도화된 ChatGPT와 같은 언어 모델은 마치 사용자와의 대화 내용을 이해하는 것 같은 느낌을 줄 정도로 대화에서 뛰어난 응답을 해 주고 있다. 하지만 이것은 통계적으로 다음에 올 단어를 예측하여 말해주는 것일 뿐, 진정한 의미에서 이해하고 있다고 말하기는 힘들다. 물론 이해하지 않았지만 이해한 것처럼 말한다면, 이해하지 못했다고 하는 것이 별 의미가 없을 수도 있지만 현재의 언어 모델은 아직까지는 모든 측면에서 뛰어난 AI가 아니기 때문에 이를 잘 활용하기 위해서는 한계점에 대해서도 이해할 필요가 있다.

Large Language Model (LLM)의 정의와 특징

그렇다면 LLM은 일반 언어 모델과 어떻게 다른가?

수많은 파라미터를 보유한 인공 신경망으로 구성된 언어 모델

'수많은 파라미터'라는 부분에 주목하자. 파라미터란 Neural Network에 대해 간단한 이해를 필요로 하는 용어다. Neural Network는 생물의 뇌를 본떠 만든 알고리즘으로, 이전 단계의 노드에서 넘어온 값을 다음 노드로 넘겨주는 것이 기본 동작이다. 이 때, 여러 노드에서 값을 받기도 하고 여러 노드에 값을 전달할 수도 있다. 그리고 이전에 넘어온 값을 다음 노드로 그대로 넘겨 주는 것이 아니라, 각각의 노드로부터 받은 값에 대해 가중치를 곱하고, 이를 활성화 함수의 결과에 따라 다음 노드로 넘겨주게 된다. 이 때 사용되는 가중치(Weights)와 편향(Biases)들을 파라미터라고 한다. 쉽게 말하면 뇌세포 각각들 간의 연결 고리들이라고 생각하면 된다.

'수많은'은 정말 엄청나게 많은 수를 의미한다. 예를 들어 GPT-3모델은 1,750억 개의 파라미터를 가지고 있는 것으로 알려져 있다. 사람마다 편차가 있지만, 사람의 뇌에는 약 1,000억 개의 뉴런이 있고, 이 뉴런들은 최대 10,000개의 다른 뉴런과 연결되어 최대 1,000조 개의 시냅스를 가질 수 있다고 한다. 따라서 1,000조 개의 시냅스보다는 1,750억 개의 파라미터가 작아 보이기는 하지만, 사람의 뇌 전체가 언어 기능을 위해 쓰이는 것은 아니므로, 그래도 규모가 상당하다고 할 수 있다.

이렇게 큰 규모의 언어 모델은 이전과는 다른 뛰어난 언어 능력을 발휘하게 되며, 이것을 LLM이라고 부르게 된다. 이제 어떤 언어 모델들이 있었는지 살펴보도록 하자.

언어 모델의 발전 과정

  1. Statistical Language Models (SLM, 통계적 언어 모델)

    통계적 언어 모델(SLM)은 1990년대에 대두된 통계 학습 방법을 기반으로 개발되었다. 기본 아이디어는 마르코프 가정을 기반으로 단어 예측 모델을 구축하는 것이다. 즉, 가장 최근의 문맥을 기반으로 다음 단어를 예측하는 것이다. 이러한 SLM은 정해진 문맥 길이 n을 가지며, 이를 n-gram 언어 모델이라고도 한다. 예를 들어, 'bigram'은 두 단어, 'trigram'은 세 단어를 기반으로 예측한다. 이 모델들은 정보 검색(Information Retrieval)과 자연어 처리(Natural Language Processing) 분야에서 작업 성능을 향상시키기 위해 널리 사용되었다. 그러나 통계적 언어 모델은 '차원의 저주'라는 문제에 직면하게 되며, 이는 다루는 단어의 수가 많아질수록 지수적으로 많은 경우의 수가 생성되기 때문에 한계가 명확한 모델이다.

  2. Neural Language Models (NLM, 신경망 언어 모델)

    신경망 언어 모델은 단어 시퀀스의 확률을 신경망, 특히 순환 신경망(Recurrent Neural Networks, RNN)을 사용하여 표현하는 모델이다. 기본적으로 SLM과 같이 다음에 오는 단어들이 얼마나 자연스러운지를 예측하여 출력하는 모델인데, 그걸 신경망 알고리즘을 사용하여 구현한 것이다. 이 모델에서는 단어의 '분산 표현(distributed representation)'이라는 개념을 도입하였는데, 이는 각 단어를 일련의 숫자 벡터로 표현하는 방법이다. 예를 들면, "고양이"와 "냥이"는 비슷한 문맥에서 사용되므로 이 두 단어의 벡터 표현은 서로 가까울 것이다. 여기서 'word2vec'이라는 방법론도 제안되었는데, 이는 단어를 숫자로 변환하는 작업을 더 간단하고 효과적으로 진행할 수 있게 해준다.

  3. Pre-trained Language Models (PLM, 사전학습 된 언어모델)

    사전학습 된 언어 모델은 많은 양의 텍스트 데이터로 미리 학습이 되어 있어, 특정 작업을 하기 전에 추가로 학습을 할 필요가 적은 모델을 의미한다. ELMo는 이런 모델의 초기 버전 중 하나로, 문장 내의 단어의 의미를 더 잘 파악하기 위해 개발되었다. ELMo는 문장의 앞뒤 문맥을 모두 고려하는 방식(biLSTM)으로 단어의 의미를 잡아낸다. 이후, BERT라는 모델이 등장했는데, 이는 'Transformer'라는 기술과 'self-attention'이라는 방식을 사용하여 더 효과적으로 문장을 이해한다. 이런 방식으로 사전에 큰 데이터를 사용해 학습한 뒤, 특정 작업에 맞게 미세 조정(fine-tuning)을 해서 사용하는 것이 특징이다. BERT와 같은 모델은 자연어 처리 분야에서 성능을 크게 향상시켰다. 이러한 성공에 힘입어, GPT-2, BART와 같은 다양한 모델들이 계속해서 발전되었고 이 모델들이 향후 연구에 큰 영향을 미쳤다.

  4. Large Language Models (LLM, 거대언어모델)

    언어모델에 대한 연구가 계속되던 중, 연구자들은 PLM의 데이터나 모델 크기를 확장하면 모델의 성능이 향상되는 경우가 많다는 사실을 발견했다. 그래서 점점 더 큰 규모의 PLM을 만들면서 연구를 진행한 결과, 주로 모델의 크기를 키울 때 성능의 향상이 나타난다는 것을 발견하였고, 이를 'Emergent abilities'라고 불렀다. 이는 단순히 다음에 올 단어나 문장을 예측하는 정도의 수준이 아니라 일련의 작업을 해결할 수 있는 능력이나 문맥을 이해하는 능력이 나타나, 언어 모델의 큰 발전을 이루게 되었다. 'Emergent abilities'를 포함하여 이전 언어 모델과의 큰 차이점은 다음과 같이 요약될 수 있다:

    1) 이전 언어 모델에서는 볼 수 없었던 'Emergent abilities'
    2) 프롬프트 인터페이스를 통한 언어모델과 사용자 간의 통신
    3) 언어 모델 자체에 대한 연구 뿐만 아니라 이를 구현하기 위한 엔지니어링에 대한 연구도 필요

이렇게 언어 모델의 발전 과정을 돌아보면, 이전까지의 언어 모델은 무언가 가치를 생산해 내기보다는 그것을 위해 나아가는 과정이었다고 볼 수 있다. GPT모델(특히 GPT-3.5)이 등장하면서 비로소 단순히 대화를 나누는 것 이상의 가치를 얻어낼 수 있게 되었다.

하지만 아직 나아갈 길은 무궁무진하다. 모든 측면에서 인간의 능력을 뛰어넘는 Strong AI를 곧 만들어낼 수 있다는 OpenAI의 발표를 보면 이미 많은 발전을 이루고 있는 것처럼 보이지만, 아직은 시작 단계에 불과하다. 사실 위의 글에서도 간혹 언어모델이 문맥을 “이해”하고 있다는 워딩을 사용하기도 했지만, 엄밀히 말하자면 아직 “이해”라고 할 수 있는 단계는 아니다. 확정적으로 아니라고 할 수 없는 이유는, 사실 이러한 언어모델의 성능이 왜능이 왜 구현되게 되었는지도 아직 파악하지 못했기 때문이다. 다만 언어모델과의 많은 질의를 통해 진짜 이해하고 있다면 하지 않았을 답변들이 빈번하게 발생하다보니 그렇게 추론 하고 있는 것이다.

이런 한계와 발전 내용등을 아울러 살펴 보고자 앞으로 지속적으로 LLM에 대한 글을 포스팅 할 예정이다. 이후 글 들에서는 이 LLM의 핵심 특성인 Emergent abilities, 학습에 사용되는 데이터들, LLM을 잘 사용하기 위한 Prompt engineering등에 대해 다루려고 한다.


위 글은 “Zhao, Wayne Xin, et al., A Survey of Large Language Models. arXiv, 2023. arXiv.org, https://doi.org/10.48550/arXiv.2303.18223.”의 글을 기반으로 작성 되었습니다.

profile
기존 강의에 만족 못했던 사람들을 위한 블로그

0개의 댓글