요청이 가는 길
큰 그림 — 다섯 군데
- 내 컴퓨터
- 멀리 있는 기계
내 컴퓨터의 프로그램
··앱. 내 요청을 받아서 무엇을 보낼지 정합니다.
네트워크
인터넷을 건너는 길. 이 길로 오가는 것은 글과 파일뿐입니다.
멀리 있는 계산 기계
의 가 요청을 받아, 을 이미 올려 둔 에게 넘깁니다. 질문마다 모델을 다시 여는 것이 아닙니다. 아주 큰 모델은 여러 칩이나 여러 기계에 나뉘어 올라가기도 합니다.
계산 모델
은 예제에서 숫자 를 배워요. 생성할 때는 가중치와 주어진 으로 후보 점수를 계산해요. 인터넷 문장을 그대로 찾아 꺼내거나 바로 앞 단어의 횟수만 세는 방식은 아니에요.
다시 내 컴퓨터
이 답을 보여 주고, 내가 허락했을 때만 일을 합니다.
1번과 5번은 같은 내 컴퓨터예요
3번 칸을 열어 보면
-
의 큰 파일들에 된 숫자와 을 불러올 때 필요한 정보가 담겨 있습니다.
-
이 그것을 읽어 계산 전용 부품 위에 올려 두고, 그대로 켜 둡니다.
-
문지기가 열쇠를 확인하고, 요청은 차례를 기다립니다.
-
이미 올라가 있는 그 숫자로 계산이 돌아갑니다.
한 단계씩
여덟 단계입니다. 여덟 번째에서 길이 둘로 갈립니다.
내가 보냅니다
키보드와 마우스는 를 거치고, 운영체제가 지금 내가 보고 있는 에게 신호를 건넵니다. 마이크는 다릅니다 — 내가 허락할 때만 프로그램이 소리를 받아 로 글자를 만들거나, 소리를 직접 들을 수 있는 에게 그대로 보냅니다.
프로그램이 가방을 쌉니다
지금 질문, 지난 대화, 내가 붙인 파일이나 이미지, 그리고 앱이 켜 둔 지시와 도구가 가방에 들어갑니다. 를 통째로 걷어 가는 것이 아니라 내가 허용한 것만 딸려 갑니다. 가방에는 크기 한도가 있어서 앱이 오래된 부분을 자르거나 줄이거나 뺍니다. 이 아까 한 말을 잊은 것처럼 보이는 이유가 이것입니다.
인터넷을 건넙니다
글은 대개 로 갑니다. 웹 페이지가 오는 것과 같은, 잠긴 길입니다. 실시간 음성처럼 양쪽이 계속 주고받아야 하는 것은 연결을 열어 둔 채로 씁니다.
계산 기계가 받습니다
— 의 거대한 숫자 덩어리를 에 올려 두고 계산하는 — 이 받은 글을 (모델이 읽는 작은 조각)으로 자릅니다. 모델이 아직 메모리에 없으면 먼저 불러와야 해서 첫 답이 늦어집니다.
다음 토큰을 뽑습니다
다음에 올 수 있는 마다 점수를 매기고 그중 하나를 뽑습니다. 뽑은 토큰을 뒤에 붙여 다시 이 단계로 돌아오기를 되풀이합니다 — 끝났다는 토큰이 나오거나 길이 한도에 닿을 때까지. 어떻게 뽑을지는 설정입니다. 를 낮추면 가장 높은 점수를 더 자주 골라 답이 덜 달라지지만, 한결같은 답이 더 맞는 답은 아닙니다.
토큰마다 이 단계로 되돌아옴
나오는 대로 돌려보냅니다
답이 다 만들어질 때까지 기다리지 않습니다. 글은 조각으로 흘러오고, 소리·그림·영상도 흘려보내는 것이 있는가 하면 다 만든 뒤 파일로 오는 것도 있습니다.
프로그램이 화면에 뿌립니다
글자가 타자 치듯 늘어나는 이유가 이것입니다. 눈앞에서 천천히 생각하고 있는 것이 아니라 조각이 도착하는 중일 뿐이고, 조각의 크기와 빠르기는 서비스가 정합니다.
길은 하나가 아니라 둘입니다
이 둘을 한 줄기로 그리는 데서 무서운 오해가 생깁니다. 둘은 같지 않습니다.
대화만
-
화면에 글자
-
여기서 끝
자세히 보기
글자가 화면에 흐르고 그것으로 끝납니다. 에는 아무 일도 일어나지 않습니다. 이 사이트의 리엔 학습 도우미가 이 길입니다.
손을 빌림
-
도구 요청 찾아내기
-
허락 묻기
-
실제로 하기
-
결과 담기
결과는 2단계 가방에 담겨 3단계로 다시 나갑니다
자세히 보기
돌아오는 것은 여전히 글자뿐입니다. 그 글자가 "이 파일을 고쳐" 같은 이면, 내 컴퓨터의 이 그것을 확인하고 대신 움직입니다. 그리고 그 결과를 2단계의 가방에 담아 3단계로 다시 보내면서 대화가 이어집니다. 사람들이 라고 부르는 것이 이 반복입니다.
잘 만든 프로그램은 파일을 지우거나 명령을 실행하기 전에 나에게 묻습니다. 묻지 않게 바꾸는 것도 사람이 정합니다. 그 물음이 안전장치이고, 그것을 지키는 것은 모델에게 건네는 공손한 지시가 아니라 프로그램입니다.
굳이 비유하자면
-
몸 하나가 계산 부품을 갈아 끼웁니다. 같은 에 내일은 다른 회사의 모델을 달 수 있습니다.
-
같은 계산 부품이 서로 모르는 수많은 사람의 요청을 동시에 처리합니다. 살아 있는 것이라면 있을 수 없는 일입니다.
자세히 보기
모델은 계산만 하는 부품이고, 몸은 내 컴퓨터의 프로그램이나 그것을 둘러싼 서비스입니다. 계산 부품에는 손이 없습니다 — 스스로 파일을 만들 수도, 앱을 켤 수도 없습니다. 글로 부탁할 수 있을 뿐입니다. 실제로 움직이는 것은 언제나 프로그램이고, 허락받은 만큼만 움직입니다.
두 가지만 더
계산 기계가 늘 멀리 있는 것은 아닙니다
지금 이 사이트가 바로 그 그림입니다
| 1 · 내 | 2 · | 3 · 원격 기계 | 4 · 계산 | 5 · 내 화면 | |
|---|---|---|---|---|---|
| 내 안에서 | 예 | 아니요 | 아니요 | 예 | 예 |
| 우리 를 거쳐서 | 예 | 예 | 예 | 예 | 예 |
| 멀리 있는 회사의 기계에서 | 예 | 예 | 예 | 예 | 예 |
가운데 길(우리 를 거쳐서)도 실제 계산은 세 번째 길, 멀리 있는 회사의 기계에서 일어납니다. 우리 서버는 요청을 확인하고 실어 나를 뿐입니다.
자세히 보기
작은 모델은 내 컴퓨터 안에서 돌 수 있습니다. 이 사이트의 음성이 그렇습니다 — 을 한 번 내려받고 나면, 글을 말소리로 바꾸는 일은 내 기기에서 일어납니다. 대화는 다릅니다. 대화 메시지는 여전히 SONUB 을 거쳐 서비스로 갑니다.
리엔 학습 도우미를 열어 무엇이든 물어보세요. 가 우리 서버로 보내고, 우리 서버가 멀리 있는 계산 기계에 넘깁니다. 글자가 조각으로 돌아오는 것이 6단계, 그 글자가 화면에서 늘어나는 것이 7단계입니다. 리엔은 대화만 하는 길에 있어서, 내 컴퓨터의 파일에는 손을 대지 않습니다.
리엔 학습 도우미가 그렇습니다. 우리 서버는 요청을 넘겨줄 뿐, 모델을 돌리지는 않습니다.
계산이 실제로 일어나는 곳입니다. 그 안에서 어떤 런타임을 쓰는지는 공개돼 있지 않습니다.
어른을 위한 주석
조금 더 정확한 표현이 필요한 분을 위해 덧붙입니다.
토큰
모델은 낱말을 읽지 않습니다. 가 글을 으로 자르는데, 낱말 하나가 통째로 한 토큰이 되기도 하고 글자 몇 개나 하나가 한 토큰이 되기도 합니다. 그리고 각 토큰은 숫자가 됩니다. 모델마다 자르는 법이 달라서, 같은 글도 토큰 수가 다르게 셀 수 있습니다.
스트리밍
만들어지는 대로 부분 출력을 밀어 보내며, 보통 를 씁니다. 조각의 크기는 제품마다 다릅니다 — 토큰 하나가 아니라 문장 단위로 보내는 것도 있습니다.
모델의 종류
(큰 언어 모델), (작은 언어 모델), (그림까지 함께 보는 모델), 그리고 이미지·영상을 만드는 이 있습니다. LLM 과 SLM 은 주로 크기가 다르고, VLM 은 그림도 읽으며, 확산 모델은 글이 아니라 그림·영상을 내놓습니다.
뽑는 방식
다음 토큰을 어떻게 고를지는 설정입니다. 를 내리면 가장 높은 점수를 더 자주 골라 같은 입력에 더 비슷한 답이 나오고, 올리면 답이 더 달라집니다. 0 으로 두어도 실제 서비스가 언제나 똑같은 답을 약속하지는 않으며, 한결같은 답이 더 맞는 답인 것도 아닙니다.
RAG · MCP · 스킬
가방에 무언가를 더 담는 방법들의 이름입니다. 는 문서를 검색해 찾은 것을 붙이고, 는 도구를 연결하는 흔한 방식이며, 은 미리 준비해 둔 지시문 묶음입니다. 이 가운데 무엇을 쓸 수 있는지는 앱의 설정과 이 정합니다 — 모델 혼자 정하지 못합니다.
모델을 돌리는 프로그램(런타임)
이 사이트가 실제로 쓰는 것은 ()과 ()입니다. 서버에서 큰 언어 모델을 돌릴 때는 같은 일을 하는 다른 프로그램들 — · · 등 — 을 씁니다. 어느 회사가 무엇을 쓰는지는 공개돼 있지 않습니다.
가중치·파라미터 수와 용량 공식
가중치·파라미터 수와 용량 공식
는 으로 얻은 숫자입니다. 에는 가중치와 등 학습으로 정한 값이 포함됩니다. 70B 은 파라미터가 약 700억 개라는 뜻이며, 는 그 개수가 아니라 숫자 하나를 저장하는 수를 줄입니다. 여기서 가중치 용량은 이러한 모델 파라미터 전체를 저장하는 용량을 뜻합니다.
가중치 용량(바이트) ≈ 파라미터 수 × 숫자당 저장 비트 수 ÷ 8. 1바이트가 8비트라서 8로 나눕니다. 70B를 4비트로 저장하면 70,000,000,000 × 4 ÷ 8 = 35,000,000,000바이트, 즉 십진 단위로 35GB입니다. 양자화 부가 정보와 실행 작업 는 제외한 값입니다.
Q4·Q6·Q8 — 같은 숫자를 더 작은 공간에
Q4·Q6·Q8 — 같은 숫자를 더 작은 공간에
·Q6·Q8은 보통 하나를 대략 4·6·8로 저장한다는 뜻입니다. 같은 70B 의 이론상 용량은 각각 35GB·52.5GB·70GB입니다. 16비트 기준 140GB와 비교하면 25%·37.5%·50%입니다.
이는 정확한 다운로드 크기가 아닌 어림값입니다. 같은 방식은 여러 를 섞고 ·를 더합니다. 양자화는 숫자를 더 거칠게 근사하므로 답변 품질이 떨어질 수 있으며, 를 없애는 작업은 아닙니다.
양자화하지 않은 원본은 항상 16비트일까?
양자화하지 않은 원본은 항상 16비트일까?
아닙니다. 공개 의 원본 는 또는 BF16인 경우가 많으며, 둘 다 16 형식입니다. 숫자당 저장 용량은 같지만 표현 범위와 는 다릅니다. 여기서는 비교를 위해 16비트 원본을 예로 듭니다.
원본이라는 말이 비트 수를 정하지는 않습니다. 된 체크포인트는 (32비트)나 혼합 정밀도일 수도 있고, 이미 된 가중치일 수도 있습니다. 와 실제 을 확인해야 하며, 모든 원본을 16비트라고 부르면 틀립니다.
파일이 작아지면 메모리와 GPU 사용량도 줄까?
파일이 작아지면 메모리와 GPU 사용량도 줄까?
한 를 저장하면 보통 파일이 작아집니다. 이 에서도 압축된 표현을 유지하면 가중치 메모리도 줄어듭니다. 불러올 때만 양자화하면 의 원본 파일은 그대로일 수 있고, 불러오면서 높은 로 풀면 메모리는 다시 커질 수 있습니다.
메모리 ≈ 가중치 + + 임시 + 런타임 입니다. 가중치를 양자화해도 KV 캐시까지 자동으로 양자화되지는 않습니다. 대화가 길거나 동시 요청이 많으면 가 더 필요할 수 있습니다. · 사용률과 속도는 수에 정비례하지 않으며, 지원·값을 푸는 계산· 이동의 영향을 받습니다.
모델은 숫자와 프로그램이 들어 있는 파일 하나일까?
모델은 숫자와 프로그램이 들어 있는 파일 하나일까?
일반적인 다운로드에서 가장 큰 부분은 로 묶인 된 숫자입니다. 파일 하나에 담기도 하고 여러 조각으로 나누기도 하며, 설정· 파일이 따로 있을 수 있습니다. 설정은 모델 구조를 기술하고, 토크나이저는 글자 조각을 로 바꿉니다.
는 텐서·구조 ·토크나이저 정보를 함께 담을 수 있습니다. Safetensors는 텐서와 메타데이터를 저장하며 구조 설정은 흔히 별도 파일입니다. 는 도 기술할 수 있습니다. 구조를 기술하는 것과 실행 엔진을 포함하는 것은 다릅니다. · 같은 은 이 정보를 읽고 ·로 계산하는 별도의 입니다.
요리법·계량한 재료·요리사로 비유할 수 있습니다. 모델은 어떤 계산을 할지와 학습된 값을 제공하고, 런타임은 그 순서대로 실행합니다. 일반적인 모델 파일 안에 실행 프로그램 전체가 들어 있다고 설명하면 오해가 생깁니다.
숫자, 정밀도, 메모리 — 그리고 숫자를 움직이는 런타임
-
모델 파일 악보
-
런타임 지휘자
-
CPU · GPU 연주자
| 잘하는 일 | |
|---|---|
| 여러 종류의 을 여러 기기에서 | |
| 에서 실행 () | |
| 큰 모델을 개인 PC에서 |
자세히 보기
은 으로 얻은 수많은 숫자와 계산 구조입니다. 은 이 구조를 에 올리고 · 같은 계산 장치에서 실제로 실행하는 엔진입니다.
모델 파일은 악보, CPU·GPU는 연주자, 런타임은 악보를 읽고 연주를 조율하는 지휘자라고 생각하면 쉽습니다.
— 이미지·음성·언어 등 다양한 모델을 여러 와 에서 실행하는 범용 엔진입니다. (Execution Provider)를 통해 장치별 를 연결합니다.
— 과 의 다양한 장치에서 ·을 간단히 실행하는 데 초점을 둔 엔진입니다. 형식의 모델 파일과 흔히 함께 쓰입니다.
— 아주 큰 모델(여러 전문가 중 일부만 골라 계산하는 모델)을 개인 컴퓨터에서 돌리려고 만든 런타임입니다. GPU·CPU·메인 메모리(RAM)와 그 사이 연결을 한 대의 기계처럼 묶어 씁니다.
파라미터란?
- 행렬
- = 1개
- 행렬
[0.2, −0.7, 1.3]
벡터 1개 · 스칼라 숫자 3개 · 파라미터 3개
의 B는 가 아니라 Billion(10억)입니다. 8B 모델은 80억 개가 아니라, 숫자 하나하나(스칼라)인 파라미터가 약 80억 개라는 뜻입니다.
파라미터와 가중치
- 가중치
- 편향
- 임베딩
- 정규화 계수
y = w₁x₁ + w₂x₂ + b는 파라미터이지만, 모든 파라미터가 가중치인 것은 아닙니다.
자세히 보기
파라미터는 모델이 학습하며 얻거나 조정한 스칼라 숫자 하나입니다. 벡터·행렬·텐서는 숫자를 담는 그릇이고, 그 안의 스칼라 숫자 하나하나를 파라미터로 셉니다.
가중치는 파라미터의 대표적인 종류로, 입력을 얼마나 강하게 반영할지 정합니다. ·· 계수 등도 파라미터가 될 수 있습니다.
파라미터 하나가 지식 하나를 담은 상자는 아닙니다. 텐서·행렬이 서랍장이라면 파라미터는 그 안의 숫자 한 칸이고, 비트 수는 그 숫자를 얼마나 정밀하게 기록할지를 뜻합니다.
파라미터 하나는 몇 비트일까?
자세히 보기
파라미터는 숫자 하나지만 서로 다른 로 저장할 수 있습니다. 비트 수를 줄이면 보통 메모리가 절약되지만, 실제 파일에는 · 같은 추가 용량도 생깁니다.
8B 모델은 왜 약 8GB일까? (8비트 기준)
가중치 용량 ≈ 파라미터 수 × 파라미터당 비트 수 ÷ 8표의 값은 순수 가중치를 십진 단위로 단순 계산한 이론값입니다. 실제 양자화 파일은 스케일·메타데이터·그 밖의 구조 때문에 더 클 수 있습니다.
자세히 보기
8비트 정밀도에서는 파라미터 하나가 약 1바이트입니다. 따라서 80억 파라미터의 순수 가중치는 약 입니다. 파라미터 수가 같아도 정밀도가 바뀌면 용량도 달라집니다.
MoE — 전문가 몇 명만 일하는 모델
MoE(Mixture of Experts)는 "여러 전문가의 조합"이라는 뜻입니다. 모델 안에 여러 전문 처리 부분(전문가)을 두고, 입력에 따라 일부만 골라 계산하는 구조입니다.
- 이 토큰에 고른 전문가
- 이번에는 쉬는 전문가(그래도 메모리에 있음)
이름 읽기 — Qwen3-Coder 30B-A3B
30B모델 전체에 약 300억 개의 파라미터가 있습니다.A3B 하나를 처리할 때 약 30억 개의 파라미터가 계산에 참여합니다(A = Active).효과 — 전체 300억 개를 매번 계산하는 모델보다 계산량을 줄일 수 있습니다.
메모리 — 선택될 전문가들을 준비해야 하므로, 전체 모델을 담을 RAM 은 여전히 필요합니다.
그래서 GPU 없는 CPU (예: 12 vCPU·48GB RAM)에서는 MoE 가 유리한 후보입니다. 큰 모델을 메모리에 담으면서 매번 계산하는 양은 줄일 수 있기 때문입니다. 다만 실제 속도는 CPU 와 메모리 성능에 따라 달라집니다.
자세히 보기
MoE 의 전문가는 사람처럼 정해진 분야를 하나씩 맡는 것이 아니라, 학습하면서 저절로 역할이 나뉜 작은 입니다. 라우터도 학습으로 만들어지며, 토큰마다 전문가에게 점수를 매겨 가장 알맞은 몇 개를 고릅니다. 그래서 같은 문장 안에서도 토큰마다 고르는 전문가가 달라질 수 있습니다.
숫자 출처: Qwen 공식 모델 카드(2026-10-23 확인)
실제 실행에는 메모리가 더 필요하다
- 가중치
- KV 캐시
- 계산 버퍼
- 런타임 오버헤드
는 이 길수록 커져요
실행 메모리 = 가중치 + KV 캐시 + 계산 버퍼 + 런타임 오버헤드자세히 보기
가중치 파일은 시작일 뿐입니다. 추론할 때는 이전 토큰을 기억하는 KV 캐시, 임시 , 런타임 도 필요합니다. 이론상 4GB인 모델도 실제로는 5~8GB 이상을 쓸 수 있고, 문맥이 길수록 보통 KV 캐시가 커집니다.
작은 숫자가 어떻게 많은 지식을 표현할까?
자세히 보기
8비트는 256단계를 표현하지만, 파라미터 하나에 ‘서울은 대한민국의 수도’ 같은 문장이 들어 있지는 않습니다. 지식은 여러 층에서 상호작용하는 수십억 개 파라미터의 패턴 전체에 분산됩니다.
하나는 단순한 색상값이지만 수백만 개가 배열되면 얼굴과 풍경이 나타납니다. 모델의 지식도 이와 비슷하게 분산된 숫자 패턴에서 드러납니다.
AI 모델은 벡터·행렬·텐서로 묶인 방대한 스칼라 파라미터의 패턴입니다. 정밀도가 이론상 가중치 용량을 정하고, 런타임은 가중치를 메모리에 올린 뒤 추가 작업 메모리를 사용해 하드웨어에서 실행합니다.
같은 길을, 한 칸씩 전부
- 1 내 손에서 프로그램까지
- 2 보낼 것을 싼다
- 3 인터넷을 건넌다
- 4 서버 문 앞
- 5 서버 안 — 기계와 런타임
- 6 모델이 계산한다
- 7 토큰 하나씩, 몇 번이고
- 8 돌아오는 길
- 9 프로그램이 받는다
- 10 손을 빌리는 반복
1 내 손에서 프로그램까지
-
키가 눌린다
키보드 안의 작은 컴퓨터가 어느 키가 움직였는지 알아채고, 그것을 숫자로 만들어 선으로 흘려보냅니다.
-
운영체제가 받는다
의 가 그 숫자를 으로 바꾸고, 지금 맨 앞에 있는 창을 향해 줄을 세웁니다.
-
프로그램이 줄에서 꺼낸다
모든 은 사건을 하나씩 꺼내 처리하는 반복문을 돌고 있습니다. 입력칸에 글자가 찍히는 것이 이 단계입니다.
-
마이크는 다른 길로 간다
소리는 1초에 수만 번 잰 숫자로 들어옵니다. 모델이 말소리를 글자로 바꾼 뒤에 글 모델에게 넘깁니다 — 다만 요즘은 소리를 직접 듣는 모델도 있습니다.
2 보낼 것을 싼다
-
시스템 프롬프트
프로그램을 만든 사람이 미리 써 둔 규칙이 맨 앞에 붙습니다 — 너는 무엇이고 어떻게 답해야 하는지.
-
지금까지의 대화
앞서 주고받은 말이 순서대로 들어갑니다. 한도가 있어서 앱이 오래된 것부터 빼거나 줄이거나 요약합니다 — 빠진 것은 모델이 그냥 보지 못합니다.
-
내가 붙인 것
이미지나 파일은 서비스가 받는 모양으로 붙습니다 — 날것의 바이트, 파일 번호, 링크, 또는 라는 긴 글자 줄. 는 서비스에 따라 안의 글을 뽑거나, 쪽마다 그림으로 찍거나, 로 읽습니다.
-
내 자료 뒤지기(RAG)
이것이 입니다. 질문을 숫자(또는 핵심 낱말)로 바꾸고, 내 문서에서 가장 잘 맞는 조각을 찾아 함께 싸 넣습니다. 모델을 다시 학습시키는 것이 아니며, 찾아온 조각도 맞는지 확인해야 합니다.
-
도구 목록
앱이 허락한 도구마다 이름과 입력 모양을 차림표처럼 적어 넣습니다. 앱이 자기 도구를 직접 적기도 하고, 서버에게서 받아 오기도 합니다.
-
스킬과 커맨드
누군가 미리 써 둔 지시문 묶음 — — 을 일에 필요할 때 끼워 넣습니다. 스킬에는 스크립트와 참고 파일도 들어 있을 수 있으니, 믿기 전에 읽어 보세요.
-
한도에 맞추기
가방 전체를 토큰으로 세어 봅니다. 한도를 넘으면 앱이 무언가를 자르거나 줄이거나 빼야 합니다 — 대개 오래된 것부터.
3 인터넷을 건넌다
-
주소 찾기
서버의 이름을 숫자로 된 주소로 바꿉니다().
-
길을 열고 자물쇠를 채운다
보내기 전에 내 컴퓨터와 서버가 길을 열고 비밀 열쇠를 나눠 가져, 중간에서 아무도 못 읽게 잠급니다( 와 . 새 은 으로 둘을 한 번에 합니다).
-
누구인지 밝히기
요청 머리에 열쇠()나 표(토큰)를 붙입니다. 누구 몫으로 계산할지가 여기서 정해집니다.
-
요청 보내기
지금까지 싼 것을 요청 하나로 — 대개 으로 — 만들어 보냅니다. 실시간 음성처럼 양쪽이 계속 주고받아야 하면 연결을 열어 둡니다.
4 서버 문 앞
-
문지기
열쇠가 맞는지, 너무 자주 부르지는 않는지 보고, 한가한 계산 기계에게 넘깁니다.
-
대기줄
요청은 바로 계산되지 않고 잠깐 줄을 섭니다. 차례가 되면 런타임이 이미 올려 둔 한 벌의 숫자로 기다리던 여러 질문을 한꺼번에 계산합니다.
-
들어온 것 살피기
계산을 시작하기 전에 규칙에 어긋나는 요청은 아닌지 먼저 봅니다.
5 서버 안 — 기계와 런타임
-
숫자 파일이 잠들어 있다
학습이 끝난 모델은 에 놓인 커다란 파일입니다. 그 자체로는 아무 계산도 하지 않습니다. 이 사이트의 도 파일 네 개, 다 합쳐 약 398MB 입니다.
-
런타임이 한 번 올린다
서버가 켜질 때(또는 앱이 준비될 때) 런타임이 그 파일을 읽어 실행할 수 있게 준비하고 메모리에 올려 둡니다. 질문마다 다시 여는 것이 아닙니다. 메모리가 모자라거나 서버가 다시 켜지면 다시 불러와야 합니다.
-
가속기가 곱셈을 맡는다
같은 곱셈을 엄청나게 많이 해야 해서, 바로 그 일을 위해 만든 부품에 맡깁니다. 그 옆의 빠른 기억에 숫자들이 머뭅니다. 보통 CPU 로도 할 수 있고, 그때는 느릴 뿐입니다.
런타임은 가속기 안에 들어 있는 것이 아닙니다. 파일을 읽어 그 부품 옆의 기억으로 숫자를 올려 두는, 따로 도는 프로그램입니다.
여러 요청을 묶는 일은 17번, 해 둔 계산을 아껴 두는 일은 27번 — 둘 다 이 프로그램이 합니다.
6 모델이 계산한다
-
토큰으로 자르기
글을 이 모델의 가 아는 조각으로 자르고, 조각마다 정해진 번호()를 붙입니다. 다른 모델은 같은 글을 다른 조각으로 자를 수 있습니다.
-
번호를 숫자 목록으로
번호마다 학습 때 익혀 둔 긴 숫자 목록(임베딩 벡터)을 꺼냅니다. 번호의 크기 자체에는 뜻이 없습니다 — 비슷하게 쓰이는 조각끼리 비슷해질 수 있는 것은 이 숫자 목록입니다.
-
순서 표시하기
몇 번째 토큰인지도 숫자로 알려 줍니다. 이것이 없으면 "개가 사람을 문다"와 "사람이 개를 문다"를 가르지 못합니다. 모델마다 방법이 다르며, (RoPE)이 흔한 방법 가운데 하나입니다.
-
서로 쳐다보기(어텐션)
— 토큰마다 앞의 어느 토큰을 얼마나 볼지를 계산하고, 그 비율대로 서로의 정보를 섞습니다. 앞쪽만 봅니다. 아직 쓰이지 않은 뒤쪽 토큰은 보지 않습니다.
-
층층이 곱하고 더하기
숫자들이 여러 층 — 큰 모델은 수십 층 — 을 통과합니다. 층마다 어텐션과 한 차례의 곱하고 더하기를 합니다. 층을 지날 때마다 값이 조금씩 옮겨 가며, 층이 몇 개인지는 모델마다 다릅니다.
-
전부에 점수 매기기
마지막 층이 아는 토큰 전부에 점수를 냅니다. 모델에 따라 수만~수십만 개에 한꺼번에 점수가 붙습니다.
-
하나 고르기
마지막 점수를 로 바꿉니다(). 는 확률을 뾰족하게 또는 평평하게 만들고, 와 top-p 는 가능성이 높은 몇 개만 남긴 뒤 하나를 뽑습니다. 언제나 가장 높은 점수만 고르는 것을 이라고 합니다.
7 토큰 하나씩, 몇 번이고
-
뒤에 이어 붙이기
-
해 둔 계산 아껴 쓰기
앞 토큰들에서 이미 계산한 값을 저장해 두고(KV 캐시) 다시 계산하지 않습니다. 시간을 아끼는 대신 메모리를 쓰며, 전체 빠르기는 여전히 글의 길이·서버가 얼마나 바쁜지·에 따라 달라집니다.
-
22번으로 되돌아감
토큰 하나만큼 길어진 글이 모델을 한 번 더 통과합니다 — 앞서 해 둔 계산은 27번 덕분에 다시 씁니다. "끝"을 뜻하는 토큰이 나오거나 정해 둔 길이에 닿을 때까지 돌고 돕니다.
답을 써 내려가는 반복이 이것입니다 — 토큰 하나마다 22번으로 되돌아갑니다.
8 돌아오는 길
-
토큰 번호를 읽을 수 있는 글자로 되돌리기
-
나오는 대로 흘려보내기
답 전체를 기다리지 않고, 만들어지는 대로 작은 덩어리로 밀어 보냅니다().
-
나가는 것 살피기
나가는 글도 규칙에 어긋나지 않는지 봅니다.
-
쓴 만큼 적어 두기
보낸 토큰과 받은 토큰의 수를 셉니다. 요금이 나오는 곳이 여기입니다.
9 프로그램이 받는다
-
도착한 조각을 순서대로 잇기
-
화면에 그리기
을 읽어 제목·목록· 상자로 바꿔 그립니다. 타자를 치는 것처럼 보이는 부분이 이것입니다.
-
도구 요청 찾아내기
답 안에 정해진 형식의 이 섞여 있는지 프로그램이 지켜봅니다.
-
인자 확인하기
그런 도구가 실제로 있는지, 인자 모양이 맞는지를 실행 전에 검사합니다.
10 손을 빌리는 반복
-
허락 묻기
파일 지우기나 명령 실행처럼 위험한 일이라면, 잘 만든 앱은 먼저 나에게 묻습니다. 그 확인은 모델이 아니라 앱 안에 있고, 그것을 꺼 두는 것도 사람이 정하는 일입니다.
-
실제로 하기
앱이 모델이 부탁한 일을 합니다 — 파일을 고치거나, 명령을 실행하거나, 다른 프로그램(MCP 서버)을 부릅니다. 받은 안에서만.
-
결과 담기
무엇이 나왔는지, 실패했다면 왜인지를 6번의 대화에 새 줄로 담습니다.
-
15번으로 되돌아감
그 결과를 담아 다시 채운 가방을 또 보냅니다. 모델이 끝났다고 하거나, 한도·취소·오류로 앱이 멈출 때까지 이 반복이 이어집니다.
사람들이 라고 부르는 반복이 이것입니다 — 15번으로 몇 번이고 되돌아갑니다.
이어서 읽기
불러오는 중…
취소할 대기 예약을 선택하세요. 각 예약은 확인 후 취소됩니다.
내 :