뉴스에서, 채용 공고에서, 제품 소개에서 AI · ML · DL · LLM 이 네 단어는 거의 매일 등장합니다. 그런데 막상 "이게 어떻게 다른가요?" 하고 물으면 대부분 말이 흐릿해집니다.
흐릿해지는 이유는 아는 것이 없어서가 아닙니다. 네 단어가 서로 대등한 선택지처럼 나란히 놓여 쓰이기 때문입니다. "AI를 도입할까요, ML을 도입할까요" 같은 문장은 "탈것을 살까요, 자동차를 살까요"와 같은 모양입니다. 어느 쪽을 골라도 답이 이상해지는 것은 두 낱말이 같은 층에 있지 않아서입니다.
이 넷은 서로 다른 네 기술이 아니라 포함 관계로 이어진 네 층입니다. LLM을 이야기하면 자동으로 DL, ML, AI를 함께 이야기하는 셈입니다.
LLM은 DL이고, DL은 ML이고, ML은 AI입니다. 역은 성립하지 않습니다. 모든 LLM은 AI지만, 모든 AI가 LLM은 아닙니다.
포함 관계를 제대로 쓰려면 각 층에서 안쪽에 속하지 않고 남는 것을 봐야 합니다. 그것이 그 층이 무엇인지를 알려 주기 때문입니다. AI 안에는 ML이 아닌 것이 있고(사람이 손으로 쓴 규칙), ML 안에는 DL이 아닌 것이 있고(랜덤 포레스트처럼 계산을 겹겹이 쌓지 않는 방식), DL 안에는 LLM이 아닌 것이 있습니다(사진을 분류하는 쪽).
AI
"기계가 스스로 판단하고 행동하도록 만드는 연구 분야 전체"
AI(Artificial Intelligence)는 특정 기술을 가리키는 말이 아닙니다. 연구 분야 전체를 아우르는 개념입니다. 체스 프로그램, 상품 추천, 자율주행, 얼굴 인식 — 모두 AI입니다. 구현 방법이 무엇이든 "기계가 지능적으로 행동하면" AI입니다.
여기서 이미 한 가지가 갈립니다. AI는 결과를 보고 붙이는 이름이지 안쪽 구조를 지정하는 이름이 아닙니다. 같은 자동 응답 기능이라도 안에서 규칙표를 뒤지든, 통계로 확률을 계산하든, 수천억 개의 숫자가 다음 낱말을 고르든 바깥에서는 전부 "AI 기능"으로 불립니다. 그래서 "AI를 도입했다"는 문장 하나로는 그 시스템이 무엇을 잘하고 무엇을 못하는지 아무것도 알 수 없습니다. 이 글의 나머지는 그 문장을 쪼개 읽는 법입니다.
규칙 기반 시스템
1950~80년대 AI의 주류는 전문가 시스템(Expert System)이었습니다. 분야 전문가가 직접 규칙을 작성해 프로그램에 넣는 방식입니다.
# 의료 진단 전문가 시스템의 일부 (실제 이런 식이었습니다)
if 체온 >= 38 and 기침 == True and 근육통 == True:
return "독감 의심"
elif 체온 >= 38 and 발진 == True:
return "홍역 의심"
elif 목_통증 == True and 편도_부음 == True:
return "편도염 의심"
# ... 이런 규칙이 수천 개
이 방식에는 지금 방식들이 갖지 못한 장점이 둘 있습니다. 하나는 왜 그 답이 나왔는지 언제나 정확히 말할 수 있다는 것입니다. 어떤 조건절을 지나 어느 줄에서 답이 나왔는지 그대로 따라갈 수 있고, 틀렸다면 그 줄을 고치면 그날부터 고쳐집니다. 다른 하나는 데이터가 하나도 필요 없다는 것입니다. 전문가의 머릿속에 있는 것을 옮겨 적으면 그날 바로 동작합니다.
지금도 이 방식은 살아 있습니다. 세금 계산, 급여 정산, 신용카드 한도 판정처럼 규정집이 이미 존재하고 그 규정을 어긴 답이 나오면 안 되는 자리는 데이터로 만든 것이 아니라 규칙이 맡는 편이 낫습니다. "AI가 아니라 그냥 if 문 아닌가요"라는 반응이 나오는 자리인데, 분류상 그것도 AI가 맞고, 무엇보다 그 자리에 맞는 선택입니다.
지능의 기준
한 가지 덧붙이면, AI라는 말의 경계는 시간이 지나면서 계속 움직였습니다. 1970년대에는 체스를 두는 프로그램이 AI의 상징이었고, 1990년대에는 검색 엔진이 그랬고, 지금은 둘 다 그냥 소프트웨어로 불립니다. "기계가 해내면 더 이상 지능이라 부르지 않는다"는 현상입니다. 그래서 "이것이 AI인가"는 답해도 남는 것이 없는 물음입니다. 쓸모 있는 물음은 그 아래 어느 층으로 만들었는가이고, 이 글의 나머지가 그 이야기입니다.
규칙의 한계
문제는 현실 세계를 규칙으로 담으려 할 때 생깁니다.
- 규칙이 수십만 개로 늘어나도 예외 케이스가 계속 나옵니다
- 새로운 상황이 생기면 사람이 직접 규칙을 추가해야 합니다
- 규칙들끼리 충돌하거나 모순이 생깁니다
- "고양이 사진"을 인식하려면 규칙을 몇 개나 써야 할까요? 사실상 불가능합니다
마지막 항목이 결정적이었습니다. 고양이를 규칙으로 적으려면 "귀가 뾰족하다"부터 시작해야 하는데, 누워 있는 고양이, 뒤돌아 앉은 고양이, 그림자에 반쯤 가린 고양이, 스코티시폴드처럼 귀가 접힌 고양이에서 곧바로 무너집니다. 사람은 고양이를 1초 만에 알아보지만 어떻게 알아보는지는 설명하지 못합니다. 설명하지 못하는 것은 규칙으로 옮겨 적을 수도 없습니다.
여기서 발상을 뒤집습니다. 사람이 규칙을 못 적겠다면, 예시를 잔뜩 주고 규칙은 기계가 찾게 하면 어떨까. 그것이 머신러닝입니다.
머신러닝
"규칙을 직접 코딩하는 대신, 데이터에서 패턴을 스스로 학습하게 하는 방법론"
ML(Machine Learning)은 1990~2000년대에 주류가 된 방식입니다. 접근 방식의 차이를 한 문장으로 정리하면 이렇습니다.
- 기존 AI: 개발자가 규칙을 만든다 → 규칙으로 예측한다
- ML: 데이터를 넣는다 → 기계가 규칙을 찾는다 → 그 규칙으로 예측한다
| 규칙 작성자 | 새 패턴 대응 방법 | |
|---|---|---|
| 기존 AI (규칙 기반) | 인간 전문가 | 규칙을 직접 추가 |
| ML | 기계 | 데이터를 추가해 재학습 |
앞 절의 규칙 기반 시스템과 정면으로 갈리는 자리가 여기입니다. 거기서는 판단의 내용이 프로그램 안에 문장으로 남아 있었는데, 여기서는 그 규칙을 사람이 적지 않습니다.
그럼 그 규칙은 어디에 어떤 모양으로 남는가. 그것과 "학습한다"가 실제로 무엇을 하는 일인지를 아주 작은 예 하나로 따라가겠습니다. 메일 한 통을 받아 스팸인지 아닌지 가르는 것입니다.
모델과 파라미터
메일에서 셀 수 있는 것을 몇 개 고릅니다.
"무료"라는 낱말이 몇 번 나오는지, 링크가 몇 개인지, 느낌표가 몇 개인지.
그리고 이렇게 점수를 매기기로 합니다.
점수 = a × ("무료" 횟수) + b × (링크 수) + c × (느낌표 수)
점수가 0을 넘으면 스팸, 넘지 못하면 정상
점수를 내는 식과 그 판정, 이 둘이 모델입니다. 무엇을 입력으로 받아 어떤 계산을 거쳐 답을 내는지를 정해 둔 틀이고, 그게 전부입니다. 다만 지금은 a·b·c가 비어 있어 아무것도 못 맞히는 빈 틀입니다. 모델이라는 말은 이 빈 틀에도 쓰고 숫자가 채워진 뒤에도 씁니다 — "모델을 배포한다"는 뒤의 뜻이고, 뒤에 나오는 "얕은 모델"처럼 갈래를 통틀어 부르는 자리도 있습니다. 어느 뜻인지는 문장이 정합니다.
값을 바꿀 수 있는 저 a·b·c가 파라미터(parameter)입니다. 그리고 a·b·c처럼 입력에 곱해지는 파라미터를 가중치(weight)라 부릅니다 — 그 입력에 얼마나 무게를 실을지 정하는 숫자라 그렇습니다. 곱해지지 않는 파라미터도 있지만 수로는 가중치가 훨씬 많아, 뒤에 나오는 "파라미터(가중치) 수"처럼 둘을 붙여 적는 표기도 흔합니다.
앞의 목록에서 "기계가 규칙을 찾는다"고 한 그 규칙이 바로 이 a·b·c입니다. 규칙이 사람이 읽을 문장으로 적히는 것이 아니라 나중에 정해지는 값으로 남는 것뿐입니다.
학습과 알고리즘
이제 스팸 표시가 붙은 메일 10만 통을 가져와 a·b·c를 옮겨 봅니다. 지금 값으로 점수를 내 보고, 스팸인데 점수가 낮았으면 "무료"의 무게를 조금 올리고, 정상인데 점수가 높았으면 조금 내립니다. 10만 통을 몇 번이고 다시 훑습니다. 이 절차가 학습(training)입니다. 학습이 끝나면 a·b·c는 더 이상 흔들리지 않는 값 셋으로 정해집니다.
방금 말한 "조금 올리고 조금 내린다"를 어떤 순서와 방법으로 밟을지 정해 둔 것이 알고리즘입니다. 알고리즘은 모델을 만드는 절차이지 모델 자체가 아닙니다. 같은 알고리즘에 다른 데이터를 주면 다른 모델이 나옵니다.
모델은 저 점수 식이라는 틀이고, 학습은 그 틀의 a·b·c를 정하는 일이고, 알고리즘은 정하는 방법입니다. 셋은 나란한 세 가지가 아닙니다 — 알고리즘이 학습을 굴리고, 학습이 모델의 빈자리를 채웁니다.
오차와 수렴
앞 소절에서 "무게를 조금 올리고 조금 내린다"고만 하고 넘어간 자리를 이번에는 수로 따라가 보겠습니다.
집값을 넓이 하나로 예측한다고 해 봅시다. 스팸처럼 가르는 것이 아니라 얼마인지를 답하는 문제입니다. 모델은 "값 = a × 넓이 + d" 꼴이고 정해야 할 파라미터는 스팸 때보다 하나 적은 a와 d 둘입니다. a는 넓이에 곱해지므로 가중치이고, d는 어디에도 곱해지지 않으므로 가중치가 아닌 파라미터입니다.
처음에는 아무 값이나 넣습니다. a가 1, d가 0이라고 해 보죠. 그러면 84제곱미터짜리 집을 84로 예측하는데 실제 거래가는 6억이었습니다. 같은 절차를 수로 보면 이렇습니다 — 틀린 만큼(오차)을 재고, 그 오차가 줄어드는 쪽으로 a와 d를 조금 옮깁니다. 어느 쪽으로 얼마나 옮길지는 알고리즘이 정하고, 그 옮기기를 수만 번 되풀이하면 a와 d가 데이터에 맞는 자리로 수렴합니다.
딥러닝 모델이라고 원리가 다르지 않습니다. 정해야 할 파라미터가 둘이 아니라 수십억 개일 뿐이고, "오차가 줄어드는 쪽"을 찾는 계산이 훨씬 복잡할 뿐입니다.
학습과 추론
학습이 끝난 뒤 새로 온 메일 한 통에 정해진 a·b·c를 그대로 대어 점수를 내는 일이 추론(inference)입니다. 추론은 그 숫자를 읽기만 하고 바꾸지 않습니다.
둘을 갈라 둘 값어치는 성격이 정반대라는 데 있습니다. 학습은 몇 시간에서 몇 달까지 걸리고 GPU를 대량으로 쓰며 한 번 하고 끝납니다. 추론은 요청 하나당 밀리초에서 몇 초가 걸리고 사용자가 쓰는 내내 반복됩니다. 비용 구조도 반대여서, 학습은 큰 목돈이고 추론은 계속 나가는 운영비입니다.
실무에서 이 구분이 중요해지는 대목은 따로 있습니다. 챗봇에게 "내 이름은 민수야"라고 알려 준 뒤 대화가 이어지는 것은 모델이 그것을 학습해서가 아니라 그 문장이 매 요청마다 다시 입력으로 들어가기 때문입니다. 창을 닫으면 사라집니다. "쓰면 쓸수록 우리 회사에 맞게 똑똑해집니다"라는 설명을 만나면 정말 재학습을 하는 것인지, 아니면 대화 기록을 입력에 붙여 주는 것인지를 물어야 합니다. 앞은 파라미터를 다시 정하는 일이라 내가 넣은 데이터가 모델 안에 남는다는 뜻이고, 뒤는 입력이 길어지는 일이라 창을 닫으면 그만입니다. 둘은 위험이 전혀 다릅니다.
갈래와 알고리즘
앞 절은 머신러닝이 하는 일을 예 하나로 봤습니다. 실무에서 갈리는 것은 그다음입니다 — 우리가 가진 데이터로 무엇을 할 수 있고, 어느 절차를 고를 것인가.
학습의 세 갈래
앞 절은 정답이 붙은 데이터로 파라미터를 정했습니다. 무엇을 주느냐를 바꾸면 학습의 모양도 갈리는데, 크게 셋입니다. 이 구분은 실제로 "우리 회사 데이터로 뭘 할 수 있나"를 판단할 때 첫 관문이 됩니다.
| 갈래 | 데이터에 정답이 | 하는 일 | 예 |
|---|---|---|---|
| 지도 학습 | 있다 | 입력에서 정답을 맞히도록 | 스팸 분류, 집값 예측 |
| 비지도 학습 | 없다 | 데이터를 스스로 묶거나 압축 | 고객 군집화, 이상 탐지 |
| 강화 학습 | 없고 보상만 있다 | 시행착오로 좋은 행동을 찾기 | 게임 플레이, 로봇 제어 |
지도 학습(supervised learning)은 입력마다 정답표가 붙어 있는 경우입니다. 메일 10만 통에 스팸인지 아닌지가 표시돼 있으면 지도 학습을 할 수 있습니다. 성능이 가장 잘 나오지만 정답표를 사람이 만들어야 한다는 비용이 붙습니다. 현장에서 ML 프로젝트가 멈추는 자리는 대개 알고리즘이 아니라 여기입니다.
비지도 학습(unsupervised learning)은 정답표 없이 데이터의 구조만 봅니다. 고객 구매 기록을 넣으면 비슷한 사람끼리 몇 덩어리로 묶어 주는데, 그 덩어리에 "알뜰족"이라는 이름을 붙이는 것은 사람의 몫입니다. 답을 맞히는 것이 아니라 볼 만한 것을 찾아 주는 쪽에 가깝습니다.
강화 학습(reinforcement learning)은 정답 대신 점수를 줍니다. 행동을 하고, 결과에 따라 보상이나 벌점을 받고, 점수를 높이는 쪽으로 행동을 바꿉니다. 바둑이나 로봇 제어처럼 한 수의 정답을 적을 수는 없지만 최종 승패는 잴 수 있는 문제에 맞습니다.
대표 알고리즘
같은 데이터를 줘도 알고리즘이 다르면 다른 모델이 나옵니다. 아래는 그 절차들의 목록이고, 각자 잘 맞는 문제 유형도 남기는 모델의 모양도 다릅니다. 넷 다 정답표가 붙은 데이터에서 주로 쓰지만, k-최근접 이웃처럼 정답표 없이 견주기만 하는 쓰임도 있습니다.
| 알고리즘 (절차) | 학습이 남기는 모델 | 주요 사용처 |
|---|---|---|
| 결정 트리 | 예·아니오 갈림길이 이어진 나무 한 그루 | 이진 분류, 해석 필요한 경우 |
| 랜덤 포레스트 | 서로 다르게 자란 나무 수백 그루와 그 표결 방식 | 정형 데이터 분류/예측 |
| SVM | 데이터를 가장 잘 나누는 경계선 하나 | 텍스트 분류, 이미지 분류 |
| k-최근접 이웃 | 학습 데이터 전체 — 새 것이 오면 그때 가장 가까운 k개를 찾는다 | 추천 시스템, 이상 탐지 |
가운데 열이 알고리즘과 모델이 갈리는 자리입니다. 같은 메일 10만 통을 넷에 그대로 넣어도 남는 물건은 넷이 다 다릅니다 — 앞의 스팸 식이 a·b·c 셋을 남겼다면 결정 트리는 갈림길 수십 개를 남기고, k-최근접 이웃은 아무것도 안 남긴 채 그 10만 통을 통째로 들고 있습니다. 앞 절의 그림에서 갈라 둔 절차와 물건이 이 표의 두 열입니다 — 랜덤 포레스트라는 한 이름이 왼쪽에서는 절차를, 오른쪽에서는 그 절차가 남긴 물건을 가리킵니다.
이 목록에는 딥러닝이 없습니다. 빠뜨린 것이 아니라, 이들이 얕은 모델 — 곧 DL이 아닌 ML — 의 자리를 보여 주기 때문입니다. 무엇에 견줘 얕은지는 다음 절에서 드러납니다. 엑셀 표처럼 열과 행이 정해진 정형 데이터에서는 지금도 랜덤 포레스트 계열이 딥러닝보다 잘 맞는 경우가 흔합니다. 학습이 몇 분이면 끝나고, 어떤 열이 결과를 갈랐는지도 볼 수 있습니다.
넷 다 잘하는 것이 다르지만 전제 하나는 같습니다 — 무엇을 볼지는 사람이 먼저 정해 줘야 합니다. 사진이나 음성처럼 그것을 사람도 말로 못 하는 데이터에서는 이 전제가 벽이 되고, 다음 절이 그 벽을 넘는 이야기입니다.
딥러닝
"인간의 신경망에서 착안한 다층(multi-layer) 구조로 학습하는 ML의 한 방식"
스팸은 숫자 셋으로 어떻게든 되지만 사진에서 고양이를 찾는 일은 그렇지 않습니다. 픽셀에서 "고양이"까지 한 번의 계산으로 건너뛸 수가 없어, 계산을 여러 겹으로 나눠 쌓고 겹마다 제 파라미터를 따로 둡니다 (왜 나눠 쌓아야 하는지는 아래 「층의 깊이」에서 봅니다). 그렇게 쌓은 전체가 신경망이고 그중 한 겹이 층(레이어)입니다. 신경망을 네트워크라고도 부르므로, 층은 부분이고 네트워크는 전체입니다. 층을 여러 겹 쌓아 학습하는 것이 딥러닝(Deep Learning)입니다.
그래서 이 글에서 "층"은 두 가지로 쓰입니다. AI·ML·DL·LLM 네 층은 범위가 좁아지는 층이고, 방금 말한 신경망의 층은 계산이 쌓이는 겹입니다. 같은 낱말이지만 방향이 다릅니다.
일반 ML과의 가장 큰 차이는 특징 추출 방식입니다.
특징 추출
머신러닝 절의 스팸 예에서 "무료" 횟수·링크 수·느낌표 수를 고른 것이 바로 특징(feature)을 정하는 일이었습니다. 학습이 정해 준 것은 a·b·c였지 무엇을 셀지가 아닙니다 — 무엇을 셀지는 사람이 먼저 골라 넣었습니다. 고양이 사진 인식도 마찬가지여서, ML 방식은 "귀의 모양, 수염 유무, 눈 색깔" 같은 특징을 사람이 정의해야 합니다. 딥러닝은 수백만 장의 고양이 사진을 주면 스스로 중요한 특징을 찾아냅니다.
"스스로 찾아낸다"는 말을 조금 더 구체적으로 옮기면 이렇습니다. 딥러닝 모델도 결국 픽셀 값을 입력으로 받습니다. 다만 그 픽셀을 곧바로 "고양이/개"로 판정하지 않고, 중간 층들에서 판정에 쓸 중간 표현을 만들어 내는 숫자들까지 함께 학습합니다. 사람이 "여기서는 세로선을 세어라"라고 지시한 적이 없는데도 학습이 끝난 뒤 앞쪽 층을 열어 보면 선과 경계에 반응하는 부분이 생겨 있습니다. 정답을 맞히는 데 그것이 유리했기 때문에 그렇게 정해진 것입니다.
이 차이가 실무에서 뜻하는 바는 분명합니다. ML에서는 도메인 전문가의 시간이 특징 설계에 들어가고, DL에서는 그 시간이 데이터 수집과 정리로 옮겨 갑니다. 일이 사라지는 것이 아니라 자리가 바뀌는 것입니다.
층의 깊이
딥러닝의 핵심은 레이어를 여러 겹 쌓는 것입니다.
앞 층의 출력이 다음 층의 입력이 됩니다. 층이 깊어질수록 더 추상적인 개념을 표현할 수 있습니다.
이미지 인식의 경우
1층 → 픽셀 밝기 변화, 선과 경계
2층 → 선이 모인 모양, 텍스처
3층 → 눈, 코, 귀 같은 부분 형태
4층 → "고양이"라는 개념
텍스트의 경우
1층 → 개별 글자, 형태소
2층 → 단어 의미
3층 → 문장 맥락
4층 → 의도와 뉘앙스
이것이 "딥(Deep)"러닝에서 Deep이 의미하는 바입니다.
왜 한 층으로는 안 되고 여러 층이어야 하는지도 같은 그림에서 보입니다. "고양이"라는 개념과 픽셀 사이의 거리가 너무 멀기 때문입니다. 한 번의 계산으로 픽셀에서 고양이까지 건너뛰려면 규칙 기반이 부딪혔던 벽을 그대로 만납니다. 대신 픽셀에서 선까지, 선에서 모양까지, 모양에서 부분까지 — 작은 도약을 여러 번 쌓으면 각 단계는 앞 단계의 결과 위에서만 판단하면 되므로 훨씬 쉬워집니다. 층을 쌓는다는 것은 어려운 문제를 쉬운 문제 여러 개로 나누는 방식입니다.
실용화의 세 조건
이론은 1980년대에 이미 있었습니다. 그런데 2012년 이전까지는 쓸 만하지 않았습니다. 세 가지 조건이 동시에 갖춰진 이후에야 실용화됐습니다.
| 조건 | 내용 | 전환점 |
|---|---|---|
| 데이터 | 인터넷 성장 → 대규모 학습 데이터 | ImageNet (1400만 장 이미지 데이터셋, 2009) |
| 연산 | GPU 병렬 처리 → 딥러닝 연산에 적합 | NVIDIA CUDA (GPU 범용 연산, 2007) |
| 알고리즘 | 역전파 기법 성숙, 드롭아웃 등 | AlexNet (GPU + DL 결합, 2012) |
세 조건이 왜 하필 함께 필요했는지를 보면 딥러닝의 성격이 드러납니다. 층을 깊게 쌓으면 정해야 할 숫자가 폭발적으로 늘어납니다. 숫자가 많으면 그것을 정해 줄 데이터도 많아야 하고(데이터), 그 많은 숫자를 반복해서 조금씩 옮기는 계산도 감당할 수 있어야 합니다(연산). GPU가 여기서 결정적이었던 이유는 신경망 계산이 대부분 같은 곱셈을 수없이 동시에 하는 일이라 화면에 픽셀을 그리는 연산과 성격이 같았기 때문입니다.
2012년 AlexNet이 이미지 인식 대회에서 기존 방식들과 큰 격차로 우승하며 딥러닝 시대의 시작을 알렸습니다. 그때부터 지금까지 이어진 흐름은 원리의 발명이라기보다 같은 원리를 더 큰 규모로 밀어붙일 수 있게 된 사건에 가깝습니다.
딥러닝의 대가
딥러닝이 ML의 상위 호환은 아닙니다. 특징 설계를 면제받는 대신 치르는 값이 셋 있습니다.
데이터가 훨씬 많이 듭니다. 특징을 사람이 정해 주면 모델은 그 특징을 어떻게 조합할지만 배우면 되지만, 특징까지 배우려면 그만큼의 예시가 필요합니다. 수천 건짜리 사내 데이터로 딥러닝을 시도했다가 얕은 모델보다 못한 결과가 나오는 일은 흔합니다.
계산이 비쌉니다. 학습에 GPU가 오래 물리고, 학습이 끝난 뒤에도 추론 비용이 계속 나갑니다. 정확도 1퍼센트를 위해 운영비가 몇 배가 된다면 그것은 기술 문제가 아니라 사업 판단의 문제입니다.
설명이 어렵습니다. 규칙 기반은 어느 줄에서 답이 나왔는지 짚을 수 있고 결정 트리도 갈라진 길을 따라갈 수 있지만, 수억 개 숫자가 만든 결과에는 그런 줄이 없습니다. 대출 거절이나 채용 탈락처럼 당사자에게 이유를 말해 줘야 하는 판단에서는 이 성질 자체가 도입을 막는 조건이 됩니다. 성능이 조금 낮아도 설명되는 모델을 고르는 선택은 타협이 아니라 요건 충족입니다.
LLM
"방대한 텍스트 데이터로 학습한, 언어를 다루는 초대형 딥러닝 모델"
GPT, Claude, Gemini, Llama, Mistral 모두 LLM(Large Language Model)입니다. 클라우드 API로 쓰든, 내 컴퓨터에서 로컬로 직접 돌리든 — 실행 환경은 달라도 모델 분류는 동일합니다.
규모의 두 축
LLM에서 Large는 두 가지를 가리킵니다.
| 항목 | 규모 |
|---|---|
| 파라미터(가중치) 수 | 수십억 ~ 수조 개 |
| 학습 데이터 | 인터넷 텍스트, 책, 논문 등 수조 개 낱말 분량 |
두 축은 각각 안과 밖입니다. 스팸 예에서 메일 10만 통은 밖에서 넣는 데이터였고 a·b·c는 모델 안에 든 숫자였습니다. 학습은 밖의 것으로 안의 것을 정하는 일이었습니다.
비교하자면 GPT-3는 파라미터가 1750억 개입니다. 숫자 하나 저장에 4바이트가 필요하다면, 파라미터만 약 700GB입니다.
이 숫자를 한 번 따라가 보면 왜 LLM이 개인 노트북에서 잘 안 돌아가는지가 바로 보입니다. 추론을 하려면 그 파라미터가 전부 메모리에 올라가 있어야 합니다. 숫자 하나를 4바이트가 아니라 2바이트나 1바이트로 줄여 저장하는 기법을 쓰면 같은 모델을 350GB나 175GB로 낮출 수 있지만, 그래도 일반 PC의 범위 밖입니다. "작은 모델"이라 불리는 70억 개짜리가 노트북에서 돌아가는 것은 같은 계산으로 14GB 안팎이 되기 때문입니다.
결국 딥러닝 모델은 파라미터 값을 적어 둔 숫자 파일 하나입니다. 모델을 배포한다는 것은 그 파라미터 뭉치를 서버에 올리는 일이고, 모델 크기 이야기가 결국 메모리 이야기인 이유가 여기 있습니다.
다음 토큰 예측
LLM의 핵심 원리는 단 하나입니다.
"다음에 올 토큰(token)을 예측한다"
토큰은 텍스트를 쪼갠 단위입니다. 단어와 비슷하지만 완전히 같지는 않습니다. 예를 들어 "ChatGPT"는 ["Chat", "G", "PT"] 세 개의 토큰으로 쪼개질 수 있습니다.
LLM은 앞선 맥락을 보고 가장 그럴듯한 다음 토큰을 반복해서 골라 텍스트를 완성합니다.
입력: "파이썬에서 리스트를"
↓
예측: "정렬" 41% · "복사" 18% · "삭제" 12% · ...
↓ (가장 높은 확률 선택)
선택: "정렬"
다음 입력: "파이썬에서 리스트를 정렬"
↓
예측: "하려면" 53% · "할" 29% · ...
↓
선택: "하려면"
→ 최종 출력: "파이썬에서 리스트를 정렬하려면 sort()를 사용합니다."
이 그림에서 놓치기 쉬운 점이 둘 있습니다. 첫째, 모델은 문장 전체를 계획한 뒤 적는 것이 아닙니다. 한 토큰을 고르고, 그 토큰이 붙은 문장을 다시 입력으로 받아 다음 토큰을 고릅니다. 답의 결론은 마지막 토큰이 나오는 순간에야 정해집니다.
둘째, 가장 높은 확률을 늘 고르는 것은 아닙니다. 확률 목록에서 어느 정도 무작위로 뽑는데, 그 정도를 조절하는 값이 온도(temperature)입니다. 같은 질문에 매번 같은 답이 오지 않는 이유가 이것이고, 사실 조회처럼 흔들리면 안 되는 용도에서 이 값을 낮게 두는 이유도 이것입니다.
능력의 출처
LLM은 실제로 의미를 "이해"하지 않습니다. 다음 토큰 예측을 극도로 잘 하는 것이 전부입니다.
그런데 이 예측을 잘 하려면 결과적으로 언어의 문법, 사실 관계, 맥락, 뉘앙스를 모두 내부 표현으로 학습하게 됩니다. 그래서 이해하는 것처럼 보입니다.
원리 하나가 어떻게 번역·요약·코드 작성까지 되는지도 같은 자리에서 설명됩니다. 학습 데이터 안에는 "다음 문장을 영어로 옮기면:" 뒤에 영어 문장이 오는 텍스트가 무수히 많고, "요약하면:" 뒤에 짧은 문단이 오는 텍스트도, 주석 뒤에 코드가 오는 텍스트도 많습니다. 번역을 따로 배운 것이 아니라 번역이 다음 토큰 예측 문제의 한 형태로 들어와 있었던 것입니다. 프롬프트를 잘 쓰는 일이 왜 효과가 있는지도 여기서 나옵니다. 프롬프트는 명령이라기보다, 모델이 원하는 종류의 텍스트를 이어 쓰게 만드는 앞부분입니다.
확률 모델의 한계
원리를 알면 한계도 한 줄로 따라 나옵니다. LLM은 사실을 조회하는 장치가 아니라 그럴듯한 다음 토큰을 고르는 장치입니다. 그래서 다음 성질들이 결함이 아니라 성질로서 붙어 있습니다.
- 없는 사실을 만들어 냅니다. 존재하지 않는 논문 제목이나 API 이름이 자연스럽게 나옵니다. 그 자리에 올 법한 모양의 토큰을 골랐을 뿐이고, 모델에게는 "모른다"와 "그럴듯하다"를 가르는 장치가 따로 없습니다. 이것을 환각(hallucination)이라고 부릅니다.
- 자기가 얼마나 확실한지 잘 말하지 못합니다. 확신에 찬 문장과 추측이 같은 어조로 나옵니다.
- 학습이 끝난 시점 이후를 모릅니다. 그 뒤의 일을 물으면 모른다고 하거나, 더 나쁘게는 지어냅니다.
- 계산과 셈에 약합니다. 숫자도 토큰이라 자릿수를 다루는 일이 언어 예측과 같은 방식으로 처리됩니다.
이 한계들이 최근 도구들의 생김새를 그대로 설명합니다. 검색 결과를 함께 넣어 주는 방식, 계산기나 코드 실행을 붙이는 방식, 출처 링크를 요구하는 방식은 전부 확률 모델이 못 하는 일을 바깥에서 대는 장치입니다. LLM을 쓰는 설계의 절반은 이 한계를 어디서 막을지 정하는 일입니다.
용어와 선택 기준
네 층을 정리하고 나면 그 주변에서 같이 쓰이는 말들이 남습니다. 이들은 새로운 층이 아니라 네 층 어딘가를 다른 각도에서 부르는 이름입니다. 이름이 제자리를 찾으면 그다음 물음도 같은 잣대로 갈립니다 — 어느 도구를 고를 것인가, 그리고 제품 소개에 적힌 문구를 어떻게 읽을 것인가.
이름을 제자리에 놓고 나면 "AI가 틀렸다"는 말도 층마다 다르게 읽힙니다. 규칙 기반이라면 규칙이 잘못된 것이고, ML이라면 데이터나 특징 설계 문제일 수 있고, LLM이라면 프롬프트 설계나 모델 자체의 한계일 수 있습니다. 같은 증상에 대해 손댈 자리가 규칙 파일인지, 학습 데이터인지, 프롬프트인지가 갈리므로 이 한 번의 분류가 며칠을 아낍니다.
모델의 다른 이름
생성형(generative)은 새로운 내용을 만들어 내는 모델, 판별형(discriminative)은 주어진 것을 분류하거나 점수를 매기는 모델입니다. 스팸 여부를 가르는 모델은 판별형이고, 답변을 써 주는 LLM은 생성형입니다. "생성형 AI"라는 말이 요즘 AI 전체를 가리키는 것처럼 쓰이지만 이 구분은 층이 아니라 출력의 종류에 관한 것입니다. 생성형 모델 중에도 딥러닝이 아닌 오래된 것들이 있고, 지금 산업에서 돌아가는 모델의 상당수는 여전히 판별형입니다. 불량 검출, 부정 거래 탐지, 수요 예측처럼 눈에 덜 띄는 자리에 있을 뿐입니다.
파운데이션 모델(foundation model)은 특정 작업을 겨냥하지 않고 대규모 데이터로 미리 학습해 두어 여러 작업에 갖다 쓰는 모델을 말합니다. LLM은 그중 언어를 다루는 갈래입니다. 이 말이 생긴 이유는 만드는 방식이 바뀌었기 때문입니다. 예전에는 작업마다 모델을 따로 만들었습니다. 스팸 분류 모델, 감성 분석 모델, 문서 분류 모델이 각각 있었고 각각 데이터를 모아야 했습니다. 지금은 큰 모델 하나를 가져다 프롬프트나 소량의 추가 학습으로 여러 작업에 씁니다. "모델을 만든다"에서 "모델을 고른다"로 일의 무게중심이 옮겨 간 것이 이 낱말의 내용입니다.
멀티모달(multimodal)은 텍스트·이미지·음성처럼 종류가 다른 입력을 함께 다루는 것을 말합니다. 사진을 넣고 무엇이 찍혔는지 묻는 기능이 그것입니다. 여기서 자주 생기는 오해는 멀티모달이 LLM 바깥의 다른 기술이라는 생각입니다. 지금 쓰이는 방식 대부분은 이미지나 소리를 모델이 다루는 토큰 비슷한 형태로 바꿔 같은 자리에 넣는 것이라 원리는 여전히 다음 토큰 예측입니다. 그래서 앞 절의 한계도 그대로 따라옵니다 — 사진 속 글자를 잘못 읽고 자신 있게 말하는 일이 생깁니다.
에이전트
에이전트(agent)는 모델이 답만 내놓는 것이 아니라 도구를 부르고 결과를 보고 다음 행동을 정하는 구조를 말합니다. 검색을 하고, 파일을 읽고, 코드를 돌려 보고, 그 결과를 근거로 다시 판단하는 흐름입니다.
에이전트는 모델의 종류가 아니라 모델을 감싼 프로그램의 이름입니다. 같은 LLM을 쓰면서도 한 번 물어보고 끝내면 챗봇이고, 도구 호출과 재판단을 반복하게 짜 두면 에이전트입니다. 이 구분이 중요한 이유는 위험의 성격이 달라지기 때문입니다. 틀린 답이 화면에 뜨는 것과, 틀린 판단으로 파일을 지우거나 메일을 보내는 것은 다른 일입니다. "AI 에이전트를 붙였다"는 말을 들으면 무엇을 할 권한까지 줬는지를 먼저 물어야 합니다.
문제 유형과 도구
자주 나오는 질문이 하나 더 있습니다 — "ML을 써야 할까, LLM을 써야 할까".
| 상황 | 적합한 선택 |
|---|---|
| 규정집이 이미 있고 어기면 안 됨 | 규칙 기반 |
| 정형 데이터, 수치 예측 | 전통적 ML (랜덤 포레스트 등) |
| 이미지/음성/비정형 데이터 | DL |
| 자유 형식 언어 생성, 이해 | LLM |
| 빠른 응답, 저비용 필요 | 경량 ML 또는 소형 LLM |
이 표를 쓰는 순서는 위에서 아래입니다. 아래로 갈수록 할 수 있는 일이 넓어지지만 비용과 불확실성도 함께 커지므로, 위에서 해결되는 문제를 아래 도구로 푸는 것이 가장 흔한 낭비입니다. 휴일 여부를 판정하는 데 LLM을 부르는 기능을 심심찮게 보게 되는데, 달력 조회 한 줄이면 되고 그쪽이 언제나 맞습니다.
마케팅 표현
제품 소개에서 만나는 말들도 같은 잣대로 읽을 수 있습니다.
- "AI 기반" — 아무것도 말해 주지 않는 문장입니다. 한 층 아래를 물어야 합니다.
- "머신러닝으로 학습합니다" — 무슨 데이터로 무엇을 맞히도록 학습했는지가 빠져 있으면 내용이 없는 문장입니다.
- "딥러닝 기술 적용" — 정형 데이터를 다루는 제품이라면 오히려 과한 선택일 수 있습니다.
- "쓸수록 학습합니다" — 재학습인지 대화 기록 첨부인지를 물어야 합니다.
- "환각이 없습니다" — 확률 모델에서 원리적으로 어려운 주장입니다. 검색이나 출처 확인으로 줄였다는 뜻인지 확인해야 합니다.
기술 용어를 아는 목적은 남을 지적하기 위해서가 아니라 어디에 물어봐야 할지를 알기 위해서입니다. 위 다섯 문장은 전부 "그래서 안에 뭐가 들었나요"라는 한 가지 질문으로 이어집니다.
정리
낱말 여섯
| 낱말 | 스팸 예에서 | 한 줄로 |
|---|---|---|
| 모델 | 점수 식과 그 판정 | 무엇을 받아 어떻게 답을 낼지 정해 둔 틀 |
| 파라미터 | a · b · c | 모델 안에서 값을 바꿀 수 있는 숫자 |
| 가중치 | a · b · c 셋 다 | 파라미터 가운데 입력에 곱해지는 것 |
| 학습 | 메일 10만 통으로 a · b · c를 옮긴 일 | 파라미터를 데이터에 맞게 정하는 절차 |
| 알고리즘 | 어느 쪽으로 얼마나 옮길지 정해 둔 방법 | 모델을 만드는 절차이지 모델 자체가 아니다 |
| 추론 | 새 메일에 정해진 a · b · c를 대는 일 | 정해진 파라미터로 답을 내는 일 |
이 여섯은 ML 아래 어느 층에서나 같은 이름으로 돌아갑니다 — 규칙 기반 시스템에는 이 가운데 모델·파라미터·학습이 아예 없습니다. 신경망이 깊어지면 정해야 할 파라미터가 셋에서 수십억 개가 될 뿐, 부르는 이름은 그대로입니다.
네 층
| 층 | 무엇인가 | 한 줄로 |
|---|---|---|
| AI | 분야 전체 | 규칙 기반부터 LLM까지 모두 포함 |
| ML | 방법론 | 데이터에서 규칙을 스스로 학습 |
| DL | 방법론의 한 갈래 | 특징 추출까지 스스로 학습하는 다층 신경망 |
| LLM | DL로 만든 모델 | 언어를 다루는 초대형 모델, 토큰 예측이 전부 |
가운데 열을 세로로 읽으면 넷이 왜 대등하지 않은지가 보입니다. ML과 DL은 만드는 방법에 붙은 이름이고, 모델은 그 방법으로 만들어져 나온 물건에 붙은 이름입니다 — 네 층에서 LLM만 유독 "모델"인 것이 그 때문입니다. AI는 그 둘과도 다릅니다. 방법이 아니라 분야 전체를 가리키는 이름입니다.
층을 하나 내려갈 때마다 자유도를 얻고 비용과 불투명함을 치릅니다. 규칙 기반은 완전히 설명되지만 사람이 적을 수 있는 것만 하고, LLM은 거의 무엇이든 시도하지만 왜 그렇게 답했는지는 아무도 짚어 주지 못합니다. 어느 층을 고를지는 성능만이 아니라 틀렸을 때 무엇을 감당할 수 있는가가 정합니다.
흔한 오해
마지막으로 이 글에서 갈라 둔 것들을 오해의 형태로 다시 적습니다.
| 오해 | 실제 |
|---|---|
| AI와 ML은 다른 기술이다 | 층이 다르다. ML은 AI의 한 방법 |
| 딥러닝이 ML보다 항상 낫다 | 데이터가 적거나 정형이면 얕은 모델이 낫다 |
| LLM이 답을 조회해 온다 | 다음 토큰을 확률로 고른다. 조회는 바깥에서 붙인다 |
| 대화하면 모델이 배운다 | 추론 중에는 배우지 않는다. 입력에 다시 들어갈 뿐 |
| 에이전트는 더 좋은 모델이다 | 모델을 감싼 구조의 이름이다 |
이 구분을 알고 나면 앞으로 나오는 개념들이 어디에 위치하는지 자연스럽게 잡힙니다. 다음 글에서는 이 넷이 어떤 순서로 등장했는지를 봅니다. 두 번의 겨울과 세 번의 부흥을 지나 왜 하필 지금 딥러닝이 자리를 잡았는지가 맥락으로 잡힙니다.
읽어주셔서 감사합니다. 😊

