그래서 모델이라는 건 대체 뭘 하는 건데?
지난번 포스팅에서 대화형 AI 서비스와 모델은 서로 다른 개념이라고 이야기했다.
ChatGPT는 서비스고, GPT는 모델이다.
여기까지는 알겠다.
그런데 새로운 질문이 생긴다.
그래서 모델이라는 건 대체 뭘 하는 건데?
이번에는 이 질문에만 집중해보자.
모델에게 문장을 하나 보여주면
아주 간단하게 생각해보자.
오늘 날씨가 너무 좋으니까
그다음에는 어떤 말이 올까?
- 산책을 가고 싶다.
- 밖에 나가고 싶다.
- 기분이 좋다.
여러 가지가 가능하다.
언어 모델은 지금까지 주어진 문맥을 보고 어떤 말이 이어지는 것이 자연스러운지 계산한다.
그리고 하나를 선택한다.
그 결과를 다시 문맥에 포함하고, 또 다음 말을 예측한다.
이 과정을 계속 반복하면서 하나의 문장이 만들어진다.
그래서 언어 모델을 아주 단순하게 표현하면 다음과 같다.
앞의 내용을 보고 다음에 올 내용을 예측하는 모델
그런데 어떻게 다음 말을 알까?
당연히 처음부터 알고 있는 것은 아니다.
학습했기 때문이다.
언어 모델은 엄청나게 많은 텍스트를 학습하면서 사람들이 언어를 사용하는 다양한 패턴을 배운다.
예를 들면 다음과 같은 것들이다.
- 어떤 단어들이 함께 사용되는지
- 어떤 문장이 자연스러운지
- 질문에는 어떤 형태로 답하는지
- 코드는 어떤 구조로 작성되는지
이런 패턴을 학습하고 나면 처음 보는 문장이 입력되어도 지금까지 학습한 패턴을 이용해 적절한 결과를 만들어낼 수 있다.
즉,
많은 데이터를 학습하고 → 배운 패턴을 이용해 → 새로운 입력에 대한 결과를 만들어낸다.
이것이 모델을 이해하기 위한 가장 기본적인 그림이다.
"다음 말을 예측한다"는 게 그렇게 대단한가?
여기서 조금 이상하다.
다음 말을 예측하는 것만으로 어떻게 이런 일이 가능할까?
- "이 글을 요약해줘."
- "영어로 번역해줘."
- "이 코드의 오류를 찾아줘."
- "회의 내용을 정리해줘."
모두 상당히 다른 작업처럼 보인다.
그런데 언어 모델의 입장에서는 결국 주어진 문맥에 이어질 적절한 결과를 만들어내는 과정으로 볼 수 있다.
요약을 요청하면 요약에 어울리는 문장을 만들고,
번역을 요청하면 번역된 문장을 만들고,
코드를 요청하면 코드에 어울리는 내용을 만들어낸다.
이게 가능한 이유는 단순히 단어를 많이 외웠기 때문이 아니다.
엄청난 양의 데이터를 학습하면서 언어와 데이터에 존재하는 복잡한 패턴을 모델 내부에 학습했기 때문이다.
그래서 LLM은 단순한 자동완성과는 상당히 다른 수준의 결과를 만들어낼 수 있다.
그렇다고 AI가 정답을 알고 있는 것은 아니다
여기서 중요한 오해가 하나 있다.
ChatGPT에게 질문하면 마치 어딘가에 있는 정답을 찾아서 알려주는 것처럼 느껴진다.
하지만 언어 모델 자체를 검색 엔진이나 데이터베이스라고 생각하면 안 된다.
기본적으로 모델은 입력된 문맥과 학습한 패턴을 바탕으로 가장 적절한 결과를 생성한다.
그래서 그럴듯하지만 사실이 아닌 내용을 만들어내기도 한다.
흔히 말하는 **환각(Hallucination)**이다.
이것은 LLM을 사용할 때 반드시 기억해야 할 특징 중 하나다.
LLM은 "사실을 확인하는 기계"가 아니라 "학습한 패턴을 바탕으로 결과를 생성하는 모델"이다.
물론 실제 서비스에서는 검색이나 외부 데이터베이스 같은 다른 기능을 모델과 함께 사용해서 이런 문제를 보완하기도 한다.
하지만 이 부분은 나중에 다시 이야기해보자.
그래서 LLM은 뭐냐면
여기서 LLM이라는 단어가 등장한다.
LLM은 Large Language Model의 약자다.
한국어로 하면 대규모 언어 모델이다.
말 그대로 큰 규모의 언어 모델을 의미한다.
GPT, Llama, Qwen 같은 이름을 들어봤을 것이다.
이런 것들이 대표적인 LLM 계열이다.
그러니까 지금까지 배운 내용을 다시 정리하면 다음과 같다.
| 용어 | 의미 |
|---|---|
| ChatGPT | 사람이 사용하는 대화형 AI 서비스 |
| GPT | OpenAI가 만든 모델 계열 |
| LLM | 대규모 언어 모델을 부르는 일반적인 용어 |
그런데 모델마다 왜 이름이 다르지?
여기서 또 새로운 궁금증이 생긴다.
AI 서비스를 조금 사용하다 보면 이런 이름을 보게 된다.
GPT-4oGPT-4o miniGemini 3.6 FlashGemini 3.5 Flash-Lite
전부 AI 모델이라고 하는데 이름이 왜 이렇게 복잡할까?
그리고 대체
mini는 뭐고, Flash는 뭐고, Lite는 뭘까?
어떤 모델은 똑똑하다고 하고,
어떤 모델은 빠르다고 하고,
어떤 모델은 저렴하다고 한다.
그렇다면 모델은 그냥 **"좋은 모델 하나"**를 만들면 되는 게 아닐까?
그렇지 않다.
AI 모델 역시 상황에 따라 필요한 능력이 다르기 때문이다.
간단한 작업을 하는데 굳이 가장 비싼 모델을 사용할 필요는 없고,
반대로 복잡한 문제를 풀어야 하는데 너무 작은 모델을 사용하면 원하는 결과가 나오지 않을 수 있다.
그래서 AI 회사들은 성능, 속도, 비용 등의 차이를 가진 여러 모델을 만든다.
결국 모델도 용도가 다르다
사람으로 비유하면 이해하기 쉽다.
간단한 일을 빠르게 처리하는 사람이 있는가 하면,
시간은 오래 걸리지만 복잡한 문제를 해결하는 데 강한 사람도 있다.
AI 모델도 비슷하다.
어떤 모델은 최대한 똑똑하게 만드는 데 집중하고,
어떤 모델은 빠르고 저렴하게 사용할 수 있도록 만들기도 한다.
또 어떤 모델은 많은 요청을 빠르게 처리하는 것에 적합하도록 만들어진다.
그래서
"어떤 모델이 제일 좋아?"
라는 질문 역시 생각보다 단순하지 않다.
정확히는
"어떤 작업에 어떤 모델을 사용하는 게 좋은가?"
를 물어봐야 한다.
그리고 이걸 이해하려면 우리가 흔히 보는 모델 이름부터 해석할 수 있어야 한다.
다음에는 모델 이름을 읽어보자
이제 처음으로 돌아가보자.
우리는 처음에 AI 서비스와 모델을 구분했다.
그리고 모델이란 무엇인지도 대략 알게 됐다.
모델은 학습한 패턴을 바탕으로 입력에 대한 결과를 만들어내는 AI의 핵심적인 구성 요소다.
특히 언어 모델은 주어진 문맥을 바탕으로 다음에 올 내용을 예측하고 생성한다.
여기까지 알았으면 일단 충분하다.
이제 굳이 모델 내부의 복잡한 구조까지 들어갈 필요는 없다.
그건 정말 필요한 순간에 알아보면 된다.
대신 이제 우리가 실제로 매일 마주치는 질문을 해결해보자.
GPT-4o와 GPT-4o mini는 대체 뭐가 다른데?
Gemini 3.6 Flash의 Flash는 무슨 뜻인데?
Flash-Lite는 Flash보다 성능이 떨어지는 건가?
모델 크기가 크면 무조건 더 좋은 건가?
다음 글에서는 이런 모델 이름에 숨겨진 의미를 하나씩 풀어보자.
AI 모델을 볼 때마다
"그래서 이게 뭔데?"
라고 생각했던 사람이라면,
아마 다음 글이 조금 더 재미있을 것이다.