brunch

You can make anything
by writing

C.S.Lewis

by 알바트로스 Feb 03. 2024

초거대언어모델(LLM) 의 뼈대가 되는 언어모델(LM)

통계기반과 딥러닝 기반 언어모델

챗GPT가 화제가 되면서 LLM(Large Languag Model) 즉 '초거대언어모델'이라는 단어를 한번쯤 들어보셨을 것입니다. 초거대언어모델이란 무엇일까요? 말 그대로 무지막지하게 거대한 언어모델입니다. 최소 수백억개에서 많게는 조 단위의 매개변수(parameter)를 바탕으로 훈련 데이터로 학습된 언어모델이 바로 초거대 언어모델인 것입니다. 초거대언어모델에 어떤 기술들이 적용되었는지는 전이학습과 원리 파트에서 자세히 설명하도록 하겠습니다.


출처 : AI타임즈


그럼 LLM의 뼈대가 되는 언어모델(Language Model)은 무엇일까요? 우리는 지난시간에 이미 언어모델(Language Model)에 대해 배웠습니다. 언어모델이란 바로 통계학 이론과 딥러닝을 활용하여 연속되는 단어의 집합으로 이루어진 문장 시퀀스(sequence)의 각 단어에 확률을 할당해주는 모델을 가리킵니다. 


사람들은 언어모델이 무엇인지 이해하지 않은채 LLM(초거대언어모델)이 무엇인지 알고싶어 합니다. 그런데 언어모델(Language Model)은 하루아침에 밑도끝도 없이 초거대언어모델(LLM)으로 발전하지 않았습니다. 통계기반, 딥러닝 기반 언어모델이 나온 뒤에야 전이학습(transfer learning)이라는 기법을 통해 LLM이 탄생할 수 있었던 것입니다.


이번 시간에는 통계기반 언어모델의 대표적인 예인 통계기반 언어모델(Statistical Language Model)과 딥러닝 기반 언어모델(Deep Learning based Language Model)은 무엇이고 어떤 것들이 있는지 맛보기 해보는 시간을 가지도록 하겠습니다. 언어모델의 기초를 다지고 나면 초거대언어모델이 한층 더 가깝게 느껴질 것입니다.


1) 통계기반 언어모델(Language Model)


통계기반 언어 모델이란 통계학의 분포가설(distribution hypothesis)에 근거하여 이전단어 혹은 주변의 단어들을 통해 문장 속 단어를 예측하는 모델을 말합니다. 지난시간에 살펴보았듯 우리가 사용하는 자연어의 문장 속 단어들은 주변에 오는 단어들에 따라 그 의미를 추측할 수 있습니다다. 즉 분포가설은 이처럼 의미적으로 유사한 단어들은 비슷한 문맥에서 함께 자주 등장한다는 가설입니다.


예를 들어 “I eat pizza.”, “I eat chicken.”, “I eat pasta.”와 같이 eat이라는 동사 다음에는 음식의 이름이 들어갈 확률이 높습니다. ‘Pizza’, ‘chicken’, ‘pasta’와 같이 맥락 상에서 함께 자주 등장하는 단어들은 서로 유사한 의미(음식)을 지닐 가능성이 높다고 가정하는 것이 분포가설의 핵심 개념입니다. 


통계기반 언어모델의 대표적인 알고리즘과 적용사례


통계기반 언어모델의 대표적인 알고리즘으로는 N-gram과 은닉 마르코프 모델(Hidden Markov Model, HMM)이 있습니다.


1. N-gram


출처 : DeepAI.org


N-gram은 문장을 N개의 단어 묶음으로 나눠 분석하는 방법입니다. 이 방식은 특정 단어를 예측할 때 바로 앞의 N-1개의 단어를 고려해 확률을 계산합니다. 예를 들어, "I am eating pizza"라는 문장에서 2-gram(bigram)을 고려하면 'am eating'이나 'eating pizza'와 같이 2개의 단어 쌍에 대한 확률을 계산하게 됩니다. 문장 전체의 확률은 이렇게 계산된 각각의 N-gram 확률들의 곱으로 표현됩니다. N-gram의 장점은 모델이 간단하고 계산이 빠르다는 점입니다. 하지만, 문맥을 고려하는 범위가 N으로 제한되어 있어서 장문의 문맥을 파악하는 데 한계가 있습니다.


2. 은닉 마르코프 모델(Hidden Markov Model, HMM)


은닉 마르코프 모델은 상태와 그 상태에서 생성되는 관찰 값이라는 두 가지 개념을 중심으로 하는 통계 모델입니다. 상태는 우리가 알 수 없는(hidden) 내부 상태를, 관찰 값은 그 상태에서 생성되는 명확하게 관찰 가능한 값들을 의미합니다. 은닉 마르코프 모델은 각 상태가 마르코프 과정을 따르며, 특정 상태에서 다음 상태로 이동하는 확률과 특정 상태에서 관찰 값이 생성되는 확률을 이용해 문장의 확률을 추정합니다.


출처 : Untitled blog

N-gram과 HMM은 웹 검색, 음성 인식, 자동 번역 등 다양한 분야에서 활용되어 왔습니다. 예를 들어, 웹 검색에서는 사용자의 입력이 끝나기 전에 N-gram을 이용해 입력될 다음 단어를 예측하고 사용자에게 자동완성 기능을 제공합니다. 음성 인식에서는 음성 신호의 시퀀스를 HMM을 이용해 텍스트로 변환합니다. 이런 방식으로 통계기반 언어모델은 다양한 자연어 처리 애플리케이션에서 사용되었습니다.


그러나 그럼에도 불구하고 이들 모델은 고정된 문맥의 크기를 가진다는 한계점이 있어 다소 긴 문단의 문맥에 대한 이해를 제한하고 있습니다. 이런 제한을 극복하기 위해 딥러닝 기반의 언어 모델이 개발되었습니다.


2) 딥러닝 기반 언어모델


딥러닝 기반 언어모델이란 RNN, LSTM, CNN과 같은 다양한 딥러닝 알고리즘을 활용하여 문장 시퀀스(sequence)의 각 단어에 확률을 할당해주는 언어모델입니다. 딥러닝 기반 언어모델은 인공신경망(Artificial Neural Network, ANN)을 활용하여 위에서 살펴보았던 통계기반 언어모델에 비해 복잡한 문맥과 단어 간의 상호작용을 더 잘 모델링할 수 있어서 더욱 정교한 언어 이해와 생성이 가능합니다.


적용하고자 하는 자연어처리 태스크에 따라 각기 다른 딥러닝 알고리즘을 활용할 수 있습니다. 예를 들어 RNN처럼 텍스트를 순차적으로 읽어 나가는 것이 아니라 텍스트를 하나의 그림처럼 전체적으로 훑고 지나가는 CNN 알고리즘의 경우 텍스트 감지(text detection)나 텍스트 인식(text recognition)과 같은 태스크에서 텍스트 영역을 검출하고 인식하는데 활용할 수 있습니다. 반대로 긴 문장을 핵심만 요약하고자 하는 텍스트 요약(text summarization) 태스크는 텍스트를 처음부터 차례대로 읽어 나가는 RNN 알고리즘이 더욱 적합합니다. 


딥러닝 기반 언어모델의 대표적인 알고리즘


딥러닝 기반 언어모델의 대표적인 알고리즘으로는 순환신경망(Recurrent Neural Network, RNN), 장단기 메모리(Long Short Term Memory, LSTM), 게이트 순환 유닛(Gated Recurrent Unit, GRU), 컨볼루션 신경망(Convolutional Neural Network, CNN), 트랜스포머(transformer) 등이 있습니다.


1. 순환신경망(Recurrent Neural Network, RNN)


꼬리의 꼬리를 무는 RNN의 구조 (출처 : Velog)


RNN은 자연어처리와 같이 시퀀스 형태의 데이터 처리에 적합하다. 시퀀스 데이터는 각 요소가 시간 순서를 가지며, 이전의 데이터가 이후 데이터에 영향을 줍니다. RNN은 이러한 특성을 모델에 반영하였습니다. 이전 상태의 정보를 현재 상태의 입력에 연결함으로써 시퀀스의 길이에 상관없이 입력과 출력을 처리할 수 있습니다. 그러나 RNN은 장기 의존성 문제(long-term dependencies problem)를 가지고 있습니다. 즉, 시퀀스가 길어질수록 시점이 멀어질 때의 정보를 잘 기억하지 못하는 단점이 있는 것입니다.


2. 장단기 메모리(Long Short-Term Memory, LSTM)


LSTM은 RNN의 한 형태이다(출처 : Velog)

LSTM은 RNN의 장기 의존성 문제를 해결하기 위해 고안된 알고리즘입니다. LSTM은 셀 상태라는 개념을 도입하여 정보를 장기간 유지할 수 있게 합니다. 셀 상태는 게이트라는 구조를 통해 정보가 셀 상태를 얼마나 통과시킬지를 조정하며, 이를 통해 어떤 정보를 기억하고 어떤 정보를 잊을지를 학습합니다.


3, 게이트 순환 유닛(Gated Recurrent Unit, GRU)


GRU는 LSTM의 간소화된 버전으로, 셀 상태와 은닉 상태를 결합하여 연산을 줄였습니다. LSTM보다 파라미터가 적어 계산 효율성이 높지만, 성능 면에서는 LSTM과 비교적 비슷합니다.


4. 컨볼루션 신경망(Convolutional Neural Network, CNN)


Model architecture. Source: the course slide

CNN은 주로 이미지 처리에 사용되지만, 텍스트 처리에도 사용되기도 합니다. CNN은 여러 계층을 거칠 때마다 특정 패턴을 학습하고 이를 기반으로 입력을 점차적으로 추상화 합니다. 텍스트 처리에서는 CNN이 주변 단어의 패턴을 학습하고 이를 이용해 더 큰 문맥을 이해합니다.


5. 트랜스포머(Transformer)


트랜스포머는 문장을 순차적으로 처리하는 RNN이나 CNN의 단점을 극복하기 위해 제안된 모델입니다. Transformer는 어텐션 메커니즘을 사용하여 입력의 중요성에 따라 가중치를 부여하며, 전체 시퀀스를 한 번에 처리하기 때문에 병렬 계산이 가능합니다. 이를 통해 트랜스포머는 RNN이나 CNN보다 더 빠른 속도로 더 큰 범위의 문맥을 처리할 수 있습니다.

출처 : attention is all you need


딥러닝 기반 언어모델의 활용사례


딥러닝 기반 언어모델은 번역, 감성 분석, 텍스트 요약, 자동 질문 응답 등 다양한 자연어 처리 작업에 사용되고 있습니다. Google 번역기의 경우, LSTM을 기반으로 한 Sequence-to-Sequence 모델을 사용하며, 이는 입력 문장을 하나의 벡터로 압축하고, 이를 기반으로 출력 문장을 생성하는 방식으로 동작합니다.


감성 분석에서는 문장이 긍정적인지 부정적인지를 판단하는데, 이때 CNN이나 LSTM 같은 모델이 사용됩니다. 또한, 텍스트 요약이나 자동 질문 응답 등의 고수준 작업에서는 트랜스포머  기반의 모델이 주로 사용되며, 이는 모델이 더 큰 범위의 문맥을 이해할 수 있기 때문입니다. 다음시간에는 드디어 언어모델(Language Model)의 끝판왕, LLM(초거대언어모델)이 어떤 과정을 거쳐 만들어지는지 살펴보도록 하겠습니다.



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari