LLM이란? — 챗GPT 안에 들어 있는 것의 정체

  • LLM이란 엄청난 양의 글을 읽고, 앞말 뒤에 올 말을 고르는 법을 익힌 프로그램입니다
  • 챗GPT와 클로드와 제미나이는 서비스 이름이고, 그 뒤에서 답을 만드는 쪽이 LLM입니다
  • 서비스와 모델을 구분하는 순간 그동안 안 읽히던 AI 기사가 갑자기 읽히기 시작합니다

AI 이야기를 읽다 보면 LLM이라는 세 글자가 설명도 없이 튀어나옵니다. 챗GPT를 몇 번 써 본 사람도 그것이 챗GPT와 같은 말인지 다른 말인지는 알기 어렵습니다. 아무도 짚어 주지 않으니 대충 넘기게 되고, 그다음 문장부터는 통째로 안 읽힙니다. 그래서 한 문장으로 먼저 정리하겠습니다. LLM이란 엄청난 양의 글을 읽고, 앞말 뒤에 올 말을 고르는 법을 익힌 프로그램입니다.

영어로는 Large Language Model, 우리말로 옮기면 대규모 언어 모델입니다. 이름이 길어서 어려워 보이지만 뜯어 보면 크다와 언어와 모델 세 마디뿐입니다. 이 세 마디의 뜻만 잡으면 나머지는 전부 곁가지입니다.

그리고 이 글에서 가장 중요한 한 가지를 미리 말씀드리겠습니다. LLM은 서비스가 아니라 그 안에 들어 있는 엔진입니다. 우리가 주소창에 치고 들어가는 것은 서비스이고, 그 뒤에서 답을 만들어 내는 부품이 LLM입니다. 이 구분을 못 하면 AI 관련 글은 계속 겉돕니다.

서비스 뒤에는 모델이 있습니다 내가 쓰는 앱 대화 서비스 챗으로 쓰는 쪽 검색 서비스 출처를 붙이는 쪽 코딩 도구 편집기에 붙는 쪽 업무 도구 문서에 붙는 쪽
우리가 여는 앱은 겉면이고, 답을 만드는 일은 그 뒤에 있는 모델이 합니다.

LLM이란 정확히 무엇인가요?

다시 한번 적어 두겠습니다. LLM은 아주 많은 글을 읽은 뒤, 앞에 나온 말 다음에 무엇이 올지 고르는 일을 익힌 프로그램입니다. 사람이 책을 읽듯 뜻을 새기며 읽은 것이 아니라, 이런 말 뒤에는 대체로 이런 말이 오더라는 규칙을 스스로 몸에 익힌 쪽에 가깝습니다.

그래서 LLM이 하는 일은 겉보기에는 대화지만, 속에서 벌어지는 일은 이어 붙이기입니다. 질문을 받으면 그 질문 뒤에 올 법한 말을 한 조각 고르고, 고른 것까지 포함해서 그다음 조각을 또 고릅니다. 이 과정을 아주 빠르게 반복해서 한 문단이 완성됩니다.

허무하게 들릴 수 있지만, 이 단순한 일을 감당하기 어려울 만큼 크게 키웠더니 번역도 하고 요약도 하고 코드도 쓰는 상태가 되어 버렸습니다. 왜 그렇게 되는지는 만든 쪽에서도 전부 설명하지 못합니다. 지금 우리가 쓰는 AI는 그런 물건입니다.

왜 하필 「언어 모델」이라고 부르나요?

여기서 모델은 실물을 축소해 만든 모형과 비슷한 뜻입니다. 세상의 어떤 부분을 흉내 내도록 만들어 둔 것을 모델이라고 부릅니다. 그러니 언어 모델은 말을 흉내 내도록 만들어 둔 것입니다.

중요한 것은 여기서의 흉내가 뜻을 이해하는 것이 아니라 말의 순서를 다루는 것이라는 점입니다. 언어 모델이 익힌 것은 단어의 의미가 아니라 단어가 놓이는 자리입니다. 오늘 아침에 밥을 다음에는 먹었습니다가 올 확률이 높고 던졌습니다가 올 확률은 낮다는 식의 감각입니다.

그리고 이 고르는 단위는 글자도 아니고 단어도 아닌, 그 중간쯤 되는 조각입니다. 이 조각을 토큰이라고 부릅니다. 모델은 토큰을 한 개씩 고르고, 고른 것을 다시 앞말에 붙여 다음 토큰을 고릅니다. 언어 모델이란 이 일을 하는 프로그램이고, 그것을 아주 크게 키운 것이 LLM입니다.

「크다」는 말은 무엇이 크다는 뜻인가요?

크다고 할 때 커진 것은 대체로 두 가지입니다. 하나는 읽힌 글의 양이고, 다른 하나는 그 안에서 조정되는 값의 개수입니다. 이 값들을 부르는 이름이 파라미터인데, 학습하는 동안 조금씩 고쳐지는 수많은 손잡이라고 생각하시면 크게 틀리지 않습니다.

양이 어느 정도인지는 숫자로 말하지 않겠습니다. 발표하는 곳마다 기준이 다르고 금방 옛말이 됩니다. 감만 잡으시면 됩니다. 사람이 평생을 읽어도 끝내지 못할 분량의 글을 읽혔고, 그 안에서 사람이 일일이 세어 볼 수 없는 개수의 손잡이가 조정되었습니다.

그러면 왜 크면 나아지는가. 읽은 글이 많을수록 드물게 나오는 표현과 낯선 분야의 말투까지 겪게 되고, 손잡이가 많을수록 그 겪은 것을 더 잘게 나눠서 담아 둘 수 있기 때문입니다. 어느 선을 넘기니 번역이나 요약처럼 따로 가르치지 않은 일까지 해내기 시작했다는 것이 지난 몇 년의 이야기였습니다.

다만 무작정 키우는 시대는 지나가고 있습니다. 키울수록 드는 비용과 전기가 감당하기 어려워졌고, 키운 만큼 좋아지는 폭도 예전 같지 않습니다. 요즘은 크기를 늘리는 대신 읽히는 글을 골라서 정제하고, 답을 내기 전에 잠깐 더 따져 보게 만들고, 용도에 맞는 작은 모델을 따로 만드는 쪽으로 무게가 옮겨 가는 중입니다. 큰 것이 늘 이긴다는 말은 이제 맞지 않습니다.

챗GPT와 LLM은 같은 말이 아닌가요?

같은 말이 아닙니다. 그리고 이 글에서 하나만 가져가신다면 이 대목입니다. 챗GPT는 가게 이름이고, LLM은 그 가게 주방에 있는 요리사입니다. 우리는 가게 간판을 보고 들어가 주문하지만, 실제로 음식을 만드는 것은 주방에 있는 사람입니다.

가게와 요리사가 나뉘어 있으니 이런 일이 벌어집니다. 같은 요리사를 여러 가게가 데려다 쓰기도 합니다. 이름이 전혀 다른 여러 서비스가 알고 보면 같은 회사의 모델을 빌려 쓰고 있는 경우가 흔합니다. 그래서 서로 다른 앱인데 답의 말투와 버릇이 묘하게 닮아 있을 때가 있습니다.

반대로 한 가게가 요리사를 바꾸기도 합니다. 간판도 그대로고 주소도 그대로인데 어느 날부터 음식 맛이 달라집니다. 우리가 쓰는 AI 서비스도 똑같습니다. 화면은 어제와 같은데 답이 눈에 띄게 좋아지거나 반대로 심심해집니다.

그래서 “챗GPT가 좋아졌다”는 말은 실제로는 “모델이 바뀌었다”는 뜻일 때가 많습니다. 반대도 마찬가지입니다. 어제까지 잘 되던 일이 오늘 안 되면 서비스가 고장 난 것이 아니라 뒤에서 도는 모델이 다른 것으로 넘어갔거나, 사용량이 차서 더 가벼운 모델로 내려갔을 가능성이 큽니다. 이 구분이 되면 왜 갑자기 이러지 싶던 순간들이 대부분 설명됩니다.

덧붙이면 가게에는 요리사 말고도 홀과 메뉴판이 있습니다. 기록을 남겨 주는 화면, 파일을 올리는 칸, 검색해서 출처를 붙여 주는 기능 같은 것은 모델이 아니라 서비스가 얹은 것입니다. 같은 모델을 쓰는 두 서비스의 쓰임새가 전혀 다를 수 있는 이유가 여기에 있습니다.

챗GPT는 가게 이름이고 LLM은 주방의 요리사입니다.간판이 같아도 주방 사람이 바뀌면 맛은 달라집니다.

이해한다고 기대할 때와 실제로 하는 일이해한다고 보면모르면 모른다 할 것틀리면 자신 없어할 것겪은 것을 기억할 것뜻을 알고 답할 것실제로 하는 일은앞말 뒤를 이어붙임틀려도 자신 있게 말함배운 시점까지만 앎순서를 다룰 뿐임
모델이 하는 일은 이해가 아니라 이어 붙이기입니다. 뒤에 나올 한계는 전부 여기서 나옵니다.

LLM이 잘 못하는 일은 무엇인가요?

첫째, 배운 시점 이후의 일을 모릅니다. 모델은 어느 시점까지의 글을 읽고 만들어진 뒤 그대로 굳습니다. 그 뒤에 벌어진 일은 따로 알려 주지 않는 한 알 방법이 없습니다. 요즘 서비스들이 검색을 붙여 두는 것은 이 구멍을 메우기 위해서입니다.

둘째, 계산을 자신 있게 틀립니다. 모델은 숫자를 계산하는 것이 아니라 계산한 것처럼 보이는 말을 이어 붙입니다. 그래서 자릿수가 커지거나 단계가 여러 개인 셈에서 조용히 어긋납니다. 숫자가 중요한 일은 답을 받아 적기 전에 계산기로 한 번 더 확인하시는 편이 낫습니다.

셋째, 없는 사실을 지어냅니다. 모르면 모른다고 하는 대신 그럴듯한 말을 만들어 냅니다. 없는 책 제목, 없는 조항, 없는 주소가 아주 자연스러운 문장으로 나옵니다. 이 현상을 할루시네이션이라고 부릅니다. 고장이 아니라 이어 붙이기라는 방식에서 따라 나오는 성질입니다.

넷째, 한 번에 담을 수 있는 분량이 정해져 있습니다. 대화가 길어지면 앞부분의 조건을 슬슬 놓치기 시작하는데, 이 한도를 컨텍스트 윈도우라고 부릅니다.

이 구멍들을 메우려고 나온 것이 필요한 자료를 그때그때 찾아서 질문에 붙여 주는 방식입니다. 모델을 다시 만드는 대신 답할 때 참고 자료를 손에 쥐여 주는 셈인데, 이 방식을 RAG라고 부릅니다. 회사 내부 문서로 답하는 챗봇 대부분이 이 방식으로 만들어져 있습니다.

모델은 모른다고 말하는 대신 그럴듯한 말을 지어냅니다.틀린 답도 똑같이 자신 있는 말투로 나옵니다.

닫힌 모델과 열린 모델은 어떻게 다른가요?

알아두면 쓸모 있는 갈래가 두 가지 있습니다. 첫 번째는 가중치를 공개했는지입니다. 가중치란 앞에서 말한 그 수많은 손잡이가 최종적으로 어떤 값으로 맞춰졌는지를 적어 둔 덩어리입니다. 학습의 결과물이자 모델의 알맹이라고 보시면 됩니다.

이것을 공개하지 않고 회사 서버에서만 돌리는 쪽이 닫힌 모델입니다. 우리는 인터넷으로 접속해서 쓰기만 합니다. 관리가 편하고 성능이 앞서는 경우가 많지만, 내가 보낸 내용이 남의 서버를 거친다는 점과 조건이 바뀌면 따라갈 수밖에 없다는 점이 걸립니다.

반대로 가중치를 내려받을 수 있게 풀어 둔 쪽이 열린 모델입니다. 내 컴퓨터나 회사 서버에 직접 올려 돌릴 수 있어서 자료를 밖으로 내보내지 않아도 됩니다. 대신 돌릴 장비를 직접 마련해야 하고 손이 많이 갑니다. 다루던 분야에 맞게 조금 더 가르치는 일도 이쪽에서 훨씬 자유로운데, 이 작업을 파인튜닝이라고 부릅니다.

두 번째 갈래는 크기별로 골라 쓴다는 개념입니다. 같은 계열 안에서도 큰 것과 작은 것이 함께 나옵니다. 까다로운 추론에는 큰 것을, 분류나 요약처럼 단순하고 자주 도는 일에는 작은 것을 쓰는 식입니다. 작은 것은 값이 싸고 빠르며 노트북이나 작은 서버에서도 돕니다. 가장 좋은 모델 하나를 고르는 문제가 아니라 일에 맞는 크기를 고르는 문제로 바뀌었습니다.

그래서 일반 사용자는 무엇만 알면 되나요?

세 가지면 충분합니다. 나머지는 필요할 때 찾아보셔도 늦지 않습니다.

  • 내가 쓰는 것은 서비스이고, 답을 만드는 것은 그 안의 모델입니다 — 답이 달라졌다면 대개 모델이 바뀐 것입니다
  • 모델은 이해하는 것이 아니라 이어 붙입니다 — 그래서 틀린 말도 같은 말투로 나옵니다
  • 확인이 필요한 답은 사람이 확인해야 합니다 — 숫자와 날짜와 출처는 특히 그렇습니다

이 셋을 쥐고 있으면 AI를 쓰는 태도가 달라집니다. 답을 정답으로 받는 대신 고칠 거리가 있는 초안으로 받게 됩니다. 초안으로 받는 사람은 검토를 하고, 정답으로 받는 사람은 그대로 붙여 넣습니다. 실제로 사고가 나는 쪽은 언제나 후자입니다.

용어를 다 외우실 필요는 없습니다. 다만 서비스와 모델이 다른 층이라는 감각 하나는 챙겨 두시면 좋습니다. 이것만 있으면 새 소식이 쏟아져도 이건 모델 이야기구나, 이건 서비스 이야기구나가 구분되고, 구분이 되는 순간 읽어야 할 기사와 넘겨도 되는 기사가 갈립니다.

여기까지 정리

  • LLM은 많은 글을 읽고 다음에 올 말을 고르는 법을 익힌 프로그램입니다
  • 챗GPT는 서비스 이름이고 LLM은 그 안에서 답을 만드는 엔진입니다
  • 모델은 이해하지 않고 이어 붙이므로 틀린 말도 자신 있게 합니다
  • 닫힌 모델과 열린 모델, 큰 모델과 작은 모델은 일에 맞게 고르는 문제입니다

모델 이름과 숫자는 외우지 마십시오이 글에 파라미터 개수나 학습 데이터 크기, 시험 점수 같은 숫자를 적지 않은 이유가 있습니다. 몇 달이면 옛말이 되고, 발표하는 곳마다 재는 방법도 다릅니다. 모델 이름과 버전 표기도 회사 사정에 따라 수시로 바뀝니다. 어디선가 본 숫자로 모델을 줄 세우기보다, 하려는 일에 실제로 붙여 보고 결과를 비교하시는 편이 훨씬 정확합니다. 바뀌지 않는 것은 숫자가 아니라 서비스와 모델이 어떻게 나뉘어 있는지에 대한 이해입니다.

같이 보면 좋은 글

다음 편에서는 프롬프트를 다루겠습니다. 같은 모델을 쓰는데도 누구는 쓸 만한 답을 받고 누구는 맹숭맹숭한 답을 받는 이유가 대부분 여기서 갈립니다. 무엇을 묻느냐보다 어떻게 묻느냐가 더 크게 작용하는 지점이 어디인지, 외워 두면 오래 쓰는 문장 틀 몇 개와 함께 정리해 두겠습니다.

이 다음에 보면 좋은 글AI 사전 전체 →

댓글 남기기