본문 바로가기
인공지능 (AI)

LLM(대형 언어 모델)을 만드는 프로세스, 과정

by worldproblemsolver 2024. 12. 18.

 

지난 블로그 포스팅에서는 LLM(대형 언어 모델)의 개념과 차이에 대해서 알아보고, 또 혼동될 수 있는 다른 인공지능 용어들(생성 AI, 머신러닝, NLP)과 차이를 비교해 보는 시간을 가졌습니다.

 

 

LLM(대형 언어 모델)의 개념과 차이 (생성 AI, 머신러닝, NLP)

2022년 말에 Chat GPT가 발매된 지 2년이 되어가고 있습니다. 지난 시간동안 Open AI의 Chat GPT를 비롯해 구글의 Gemini, Anthropic의 Claude 등 인공지능을 활용한 제품들이 많이 쏟아져 나오고 있습니다.아마

hope2solveproblems.com

 

흔히들 LLM(대형 언어 모델)이라고 하면 만들어지는 과정이 조금 어려울 것 같은 인상을 갖기 쉽습니다. 하지만 LLM의 프로세스 자체는 생각보다 매우 심플합니다. 이번 블로그 포스팅에서는 LLM의 구조를 가능한 한 알기 쉽게 설명해 보도록 하겠습니다.

 


학습에 필요한 데이터를 수집하여 성형

우선, LLM(대형 언어 모델)의 트레이닝에는 대량의 텍스트 데이터가 필요합니다. 많은 양의 데이터를 모으기 위해 먼저 인터넷상의 웹 페이지, 서적, 논문, 뉴스 기사 등에서 데이터를 수집합니다.

그런 다음 수집한 데이터를 전처리합니다. 전처리에는 불필요한 정보 삭제, 텍스트 정규화, 토큰화(단어나 문구를 식별 가능한 단위로 분할) 등이 포함됩니다.

이 정형된 데이터가 모델이 언어 패턴을 학습하기 위한 기초가 되기 때문에 어떤 데이터 세트를 수집하느냐로 완성되는 AI의 성능도 달라집니다. 또 이렇게 정형된 데이터 세트는 수백만에서 수십억 단어를 포함하는 것이 일반적입니다.


신경망(뉴럴 네트워크)을 이용하여 기반 모델 형성

예전 포스팅에서 뉴럴 네트워크에 대해 깊게 다뤘던 적이 있습니다. LLM(거대 언어 모델)의 형성에는 뉴럴 네트워크가 필수적입니다.

 

뇌와 인공신경망(뉴럴 네트워크) 개념 차이, 발전과정

이 전 포스팅에서 인공지능의 딥러닝이란 뉴럴 네트워크를 이용한 학습이라고 말씀드렸던 적이 있습니다. 그리고 충분한 양의 데이터만 있다면 이 뉴럴 네트워크를 통해 사람의 도움 없이 인공

hope2solveproblems.com

 

신경망은 인간 뇌의 신경세포(뉴런)를 모방한 구조를 가진 계산 모델로 다층의 '뉴런'으로 이루어져 입력 데이터를 처리하면서 점차 복잡한 패턴을 학습합니다. 많은 LLM에서 사용되는 신경망은 주로 트랜스포머 모델이라는 아키텍처를 기반으로 합니다.

여기서 트랜스포머란 2017년에 'Attention Is All You Need'라는 논문으로 처음 발표되었으며, 자기주의 메커니즘(Self-Attention Mechanism)을 갖추고 있는 것이 특징입니다. 이 메커니즘은 각 단어의 중요성을 평가하고 글 전체의 문맥을 이해하는 데 도움이 됩니다.

예를 들어, 글 속의 '강아지가 풀밭 위에서 자고 있다'라는 문구에서는, 자기주의 메커니즘이 '강아지'와 '자고 있다'라는 단어의 관련성을 파악하고, '강아지가 동작을 실시하고 있다'라는 문맥을 이해합니다.

이를 통해 트랜스포머는 단어의 정렬뿐만 아니라 글 전체의 의미를 효과적으로 모형화할 수 있습니다. 이렇게 형성된 기반 모델은 LLM의 핵이 되고, 대량의 데이터로부터 패턴이나 규칙을 학습하기 위한 기반이 됩니다.


머신러닝으로 기반 모델 트레이닝

트랜스포머를 통해 기반 모델이 형성된 후 이 모델을 머신러닝을 이용하여 대규모 텍스트 데이터 세트로 트레이닝/훈련해야 합니다. 머신러닝 학습 과정에서 모델은 입력된 텍스트 데이터에서 다음에 올 단어나 문구를 예측하도록 학습합니다.

구체적으로는 대량의 문서를 해석하여 단어의 출현 빈도나 패턴을 배웁니다. 또한 이 프로세스에는 매우 고성능의 GPU가 필요하며, 몇 주에서 몇 달에 걸쳐 수행되기도 합니다.

훈련이 끝나고 나면, 모델은 언어의 구조나 문맥을 깊이 이해하고 인간에 가까운 자연스러운 문장을 생성하는 능력을 획득하게 됩니다.


파인튜닝을 진행하여 최적화

마지막으로 훈련된 기반 모델을 특정 작업에 최적화하기 위해 파인 튜닝을 실시합니다. 단어에서 알 수 있듯이, '튜닝'이란 트레이닝된 기반 모델을 더욱 특정 분야로 강해지도록 조정하는 과정입니다.

파인 튜닝에서는 특정 용도나 도메인과 관련된 데이터 세트를 사용하여 모델을 더욱 훈련합니다. 예를 들어 의료문서의 해석이나 법률문서의 자동 생성 등 특정 업계나 용도에 따른 조정이 이루어집니다.

이 단계에서 모델은 전문 지식과 뉘앙스를 배우고 더 높은 정확도로 작업을 수행할 수 있게 됩니다. 파인 튜닝을 통해 모델은 일반적인 언어 이해에서 특정 응용 분야에서의 실용성을 높일 수 있습니다.


 

위의 설명드린 과정을 정리해 보자면, 아래와 같습니다.

  1. 학습에 필요한 데이터를 수집합니다.
  2. 그 데이터를 정제(전처리) 해서 깔끔하게 만듭니다.
  3. 신경망(뉴럴 네트워크)를 이용해 기반 모델을 형성합니다.
  4. 머신러닝을 통해 그 기반 모델을 훈련시킵니다.
  5. 파인튜닝을 통해 특정 용도 맞춤이나 미세한 부분까지 훈련 시킵니다.

이렇게 큰 틀로 만들어지는 과정을 쪼개어 보니, 막연하고 막막하게 느껴졌던 LLM이 조금은 간단하고 친숙하게 느껴집니다.

 

다음 포스팅에서는 이런 과정을 이용해 만들어져 시중에 나와있는 LLM은 어떤 종류가 있는지 알아보도록 하겠습니다.