라이킷 19 댓글 공유 작가의 글을 SNS에 공유해보세요

You can make anything
by writing

C.S.Lewis

Large Language Model 이해하기

First thing comes first.

by Jee Mar 11. 2024

AI를 글쓰기에 활용하려면 가장 먼저 "대형 언어 모델 (Large Language Models, LLMs)"에 대해 이해해야 합니다. 우리가 다룰 도구가 무엇인지, 어떻게 생겼는지 기본적인 설명서를 읽어보는 거지요.


대형 언어 모델은 대규모 텍스트 데이터를 기반으로 학습한 인공 지능 모델로, 자연어를 "이해"하고 "생성"하는 능력이 있습니다. 이러한 모델들은 문맥 파악, 문장 생성, 질문에 대한 답변 제공 등 다양한 작업, 언어로 수행하는 "생성적" 작업을 수행할 수 있습니다.


Large Language Model 개요

LLMs는 수십억 개 이상의 파라미터를 포함하는 신경망 모델로, 인터넷상의 방대한 양의 텍스트 데이터로부터 학습합니다. 이 모델들은 문장이나 문단을 생성하거나, 특정 주제에 대한 질문에 답변하는 등의 작업을 할 수 있습니다.

기본 원리는 '빈칸 채우기'입니다. 방대한 양의 문장들을 학습해서 빈칸에 적절한 단어를 찾아 문장을 구성하죠. 미국 드라마 '웨스트 월드'가 떠오릅니다. 호스트(인공지능 로봇)인 메이브가 태블릿에 나타나는 대로 자신도 모르게 말하고 있다는 걸 직접 목격하면서 스스로가 AI임을 깨닫거든요. 우리가 하는 말들이 사실은 규칙과 상황에 맞춘 면이 많으니까, 이런 생성형 언어모델이 가능한지도 모릅니다.

미드 웨스트 월드, 재밌습니다. 적어도 시즌 1은 띵작입니다.미드 웨스트 월드, 재밌습니다. 적어도 시즌 1은 띵작입니다.


Large Language Model 역사

대형 언어 모델의 발전은 2010년대 중반부터 급격히 이루어졌으며, Google의 BERT와 OpenAI의 GPT 시리즈 등이 대표적입니다. 초기 모델에서부터 시작하여 모델 크기, 학습 데이터의 양, 그리고 모델의 성능이 지속적으로 증가해 왔습니다. 구글은 자연어를 이해하는데 초점을 맞추었고, Open AI는 자연어를 생성하는데 초점을 맞추었는데, 결과적으로 생성이 이겨버렸네요. 이해->생성의 순서로 모범생처럼 가려던 구글이 일단 패배, 향후 구글의 BART 모델은 어떨지 모르겠습니다.


AI 장점과 한계


장점은 방대한 정보를 학습했고(인터넷에 있는 건 다 학습했다고 봐야죠), 아무래도 다양한 언어로 작업할 수 있다는 것이겠죠. 세계의 다양한 언어를 학습했으니까, 다양한 언어로 텍스트 생성, 번역, 요약이 가능합니다. 많은 자료가 영어로 되어 있어서 영어로 질문하면 더 풍부한 결과가 나오지만, 영어로 나온 결과를 한국어로 번역해 달라고 할 수 있으니, 언어의 장벽이 거의 없다는 느낌입니다.


한계는 특정 시점까지만 학습했으므로, 실시간 최신 정보는 모른다는 점, 인터넷에 돌아다니지 않는 정보나 언어는 모른다는 점이고요. 가장 유명한 단점은 AI의 거짓말 (Hallucination: 실제와 다른 정보를 생성하는 현상)입니다. 거짓말을 할 의도가 있다기보다는, '문장을 생성하는 것'만 할 줄 아니까, 떠돌아다니는 이런저런 정보를 모아서 사실이 아닌 답변을 하는 경우가 생깁니다. 마지막으로, 특정 작업이나 사용자의 요구에 맞게 모델을 조정하는 것이 어려울 수 있습니다. 데이터를 대량으로 학습시키는 것 자체가 비용이 너무 많이 들어서요.


학습 데이터 양 증가와 Emergent Ability


학습량 증가에 따른 LLMs의 emergent ability학습량 증가에 따른 LLMs의 emergent ability

대형 언어 모델의 WOW 포인트는, 학습하는 데이터 양이 증가하면서 모델은 새로운 능력을 보이기 시작했다는 겁니다.


Instruction following

우선은 "Instruction Following" 능력인데요. 사용자의 지시를 이해하고 따를 수 있습니다. 예를 들어, "이메일을 요약해 줘"라는 지시를 받고 이메일 내용을 요약할 수 있지요. 이게 뭐 대단한가?라고 생각할 수도 있지만, 구글 검색창에 "이메일을 요약해 줘"라고 친다면, 구글은 "이메일, 요약" 등을 포함한 페이지들을 찾아서 제시할 뿐이잖아요.


In-context learning

두 번째는 "In-context Learning"이라는 능력입니다. 주어진 예시나 문맥을 학습하여 새로운 작업을 수행하는 능력. 예를 들어, 몇 가지 예시 문장을 보고 그 스타일로 글을 작성하는 것입니다. Imagine yourself as... (네가 00이라고 상상하고...)로 시작하는 명령어를 넣으면, 그 00에 맞는 스타일로 답변을 생성하기도 합니다.


Step by step reasoning

마지막으로는 "Step by Step Reasoning"입니다. 복잡한 문제를 해결하기 위해 단계별로 추론하는 능력인데요. 이건 능력이라기보다는, 찐 문과인 대형 언어 모델의 단점을 극복하는 방법이겠네요. 예를 들어, 복잡한 수학 문제를 어려워하니, 단계별로 쪼개서 풀도록 하는 것입니다.


대형 언어 모델의 단점 극복방법


알려진 단점 극복 방법은 3가지가 있습니다. 이 중에 개인이 할 수 있는 것은 "Prompt Engineering", 즉, 더 정확하게 질문하기 뿐입니다. 그 외에는 "Retrieval-Augmented Generation (RAG)", 즉, 답변 생성 전에 관련 정보를 검색하여 정확도를 높이는 기법. 법률 데이터 베이스를 구성해 놓고, chat GPT가 이 법률 데이터 베이스에 먼저 들러서 정보를 검색한 후 답변하게 하는 방법입니다. 세 번째는 "Fine-Tuning", 아예 특정 목적에 맞게 모델을 추가 학습시키는 것입니다. 돈이 많이 들겠죠.


Prompt Engineering 예시


마지막으로 프롬프트(질문이나 명령 등) 엔지니어링을 예를 몇 가지 살펴보겠습니다. 가장 기본적인 지침은,

1) 구체적으로 질문이나 명령할 것,

2) 질문문장 + 참고문장의 순서를 지킬 것,

3) 참고문장은 잘 구별되는 기호(글 내부에서는 쓰지 않는 기호, 예를 들어 """로 명확히 구분할 것,

4) 명령을 혼란스럽게 하거나 취소하는 문장을 진짜 질문문장보다 더 왼쪽에 넣지 말 것. (AI가 왼쪽에서 오른쪽으로 글을 읽고 먼저 나오는 명령을 수행하려고 합니다.)


- 단순 질문: "Paris(파리)는 어디에 있나요?"

- 엔지니어링 된 프롬프트: "파리의 국가와 주요 관광 명소를 포함한 간략한 소개를 해주세요."


1. 명확한 지시 포함

- 기본 : "커피 만드는 법"

- 엔지니어링 된 프롬프트 : "초보자도 쉽게 따라 할 수 있는 드립 커피 만드는 단계별 지침을 제공해 주세요."

2. 상황과 맥락 추가

- 기본 : "기후 변화란?"

- 엔지니어링 된 프롬프트 : "2023년 현재, 기후 변화가 전 세계적으로 미치는 영향과 주요 원인을 요약해 주세요."

3. 구체적인 요구 사항 명시

- 기본 : "일식 요리"

- 엔지니어링 된 프롬프트 : "영양이 풍부하면서도 간단히 준비할 수 있는 일본 가정식 요리 레시피 3가지를 소개해주세요."

4. 창의적인 요청 : Imagine yourself as...

- 기본 : "태양계에 대해 설명해 줘."

- 엔지니어링 된 프롬프트 : "태양계를 여행하는 우주 탐험가의 시점에서 각 행성을 방문한 경험에 대해 이야기해 주세요."





여기까지 따라오느라 고생하셨습니다.


이제 대형 언어 모델에 대해 기본적인 이해를 하게 되었습니다. 다음 글부터는 실제 적용을 해보겠습니다.

매거진의 이전글 글쓰기는 인간의 영역에 남아있을 것인가?

브런치 로그인

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