입력부터 답변까지, 한 번의 추론을 재생
단계를 누르거나 자동 재생하면 데이터의 타입·저장 위치·전송 경로가 함께 바뀝니다. 동작 순서는 전형적인 Decoder-only LLM 추론의 개념적 요약입니다.
입력 토큰을 병렬 처리
프롬프트의 여러 위치에서 각 층의 Q/K/V를 계산하고, 이후 출력 토큰 생성에 재사용할 K/V를 캐시에 남깁니다. 위치 간 인과적 마스킹을 적용합니다.
새 토큰을 한 번에 하나씩 결정
각 토큰 단계에서 모델을 다시 실행하고 새 토큰의 K/V를 누적합니다. 같은 프롬프트에 대한 가중치를 재학습하는 과정은 아닙니다.
벡터는 GPU 안에서 어떤 물질로 존재할까?
숫자의 비트가 DRAM의 전하 또는 SRAM 회로의 전기적 상태로 저장됩니다. GPU는 그 숫자를 주소로 읽고, 계산에 필요한 일부를 점점 빠른 메모리로 옮깁니다.
“토큰 1개 = 트랜지스터 1개”는 아닙니다.
토큰은 먼저 정수 ID입니다. 임베딩 계층이 그 ID로 가중치 행렬의 한 행을 읽어 여러 부동소수점 수로 된 벡터를 얻습니다. 하나의 BF16 숫자는 16비트이므로 4,096차원 BF16 벡터 하나에만 8,192바이트(8 KiB)가 필요합니다.
메모리 소자의 물리
DRAM / HBM: 전하를 담는 커패시터와 접근 트랜지스터(대표적인 1T1C 셀)를 이용하며 주기적 Refresh가 필요합니다.
SRAM / 레지스터·캐시 계열: 전원이 유지되는 동안 안정적인 회로 상태로 비트를 보유합니다. GPU의 모든 레지스터를 동일한 SRAM 셀로 단정할 수는 없습니다.
하드웨어 안쪽을 클릭해서 탐험
주소와 전기 신호의 흐름 · 개념도토큰화·요청 스케줄
PCIe 등
모델 텐서 상주
비트 1개 실험 A · HBM의 DRAM 셀
대표적 1T1C 모델 / 충전·방전비트 1개 실험 B · 온칩 SRAM 셀
대표적 6T 안정 상태 / 피드백그렇다면 무엇이 어디에 저장될까?
대상을 선택하세요BF16 값 1개를 16개 비트로 보기
전기 신호가 저장하는 것은 이진 상태BF16은 부호 1·지수 8·가수 7비트입니다. 셀에는 해석되지 않은 0/1만 저장됩니다. 이 비트가 어떤 숫자인지는 데이터 형식과 명령어가 결정합니다.
CPU / GPU의 역할을 로봇 제어 시스템에 대응하면
| LLM 서버 | 공장 자동화의 대응 개념 | 중요한 차이 |
|---|---|---|
| CPU · Runtime | 상위 제어기, 작업 스케줄러 | 대량 부동소수점 연산은 GPU 커널이 수행 |
| HBM · KV cache | 작업 데이터 버퍼·고속 메모리 | 캐시는 토큰의 K/V 숫자 텐서, 자연어 원문 DB가 아님 |
| SM · Warp | 다수의 병렬 실행 유닛 | 명령어·스레드를 스케줄하며 의미를 이해하지 않음 |
| Tensor Core | 행렬 연산 전용 가속기 | 의미 해석은 수많은 가중치 연산의 결과로 나타남 |
숫자 계산은 어떻게 문장의 관계를 반영할까?
단어 자체의 의미표를 찾는 것이 아니라, 학습된 행렬을 이용해 토큰의 문맥 의존 표현을 계속 갱신합니다. 아래 Attention 가중치는 계산 원리를 보이기 위한 가상 예시입니다.
문장: “로봇이 컵을 탁자에서 집었다”
토큰을 누르고 헤드를 전환하세요같은 단어도 문맥에 따라 표현이 변한다
“컵”을 강조하고 나머지 표현과의 상대적 배치를 움직입니다. 실제 모델의 임베딩과 중간 Hidden state는 수백~수천 차원이며 이처럼 의미별로 깨끗하게 분리된 2D 지도가 아닙니다.
표현은 여러 번 재구성됩니다
첫 임베딩은 학습된 숫자 표현입니다. Attention은 현재 위치가 다른 위치 정보를 취합하는 연산이고, MLP/FFN은 각 위치 표현을 비선형 변환합니다. 이 처리들이 잔차 연결 및 정규화 등과 함께 여러 층 반복되어 다음 토큰의 분포를 계산합니다.
무엇을 누가, 어떤 규칙으로 전송하는가?
라우터가 IP 패킷을 전달하는 일과 GPU가 주소로 데이터를 읽는 일, MoE가 Expert를 선택하는 일은 서로 다른 계층의 문제입니다. 관점을 전환해 각각의 이동 규칙을 확인하세요.
네트워크 라우팅
IP 목적지와 경로 정보를 기반으로 패킷을 네트워크 간 전달. Ethernet 스위칭은 MAC 기반.
GPU 메모리 접근
가상/물리 주소·캐시·메모리 컨트롤러·워프 스케줄러를 통한 데이터와 연산 배치.
GPU 간 통신
텐서 조각·레이어 출력·Expert 입력을 NVLink/NVSwitch/NIC 등으로 전달.
MoE Expert 선택
학습된 Router의 점수에 따라 일부 Expert를 활성화하는 알고리즘.
요청 전송 · 캡슐화
L7 ↓ L1 · 계층을 선택L5/L6을 독립 프로토콜로 뚜렷하게 분리하는 것은 교육용 OSI 모형입니다. 실무 TCP/IP·HTTP·TLS 구현은 정확히 7개 경계로 나뉘지 않습니다.
익숙한 FA 통신과 LLM API를 비교하면
각 스택은 대표 경로 · 모든 구현 공통은 아님산업 자동화 · EtherCAT
전형적인 순환 Process Data는 TCP/IP 없이 Ethernet 프레임에 직접 들어갑니다. 단, EtherCAT의 다른 IP 연계 방식도 존재합니다.
공장 데이터 · OPC UA
OPC UA의 opc.tcp 매핑입니다. OPC UA는 HTTPS·WebSockets 등의 다른 전송 방식도 지원합니다.
LLM 서버 · HTTPS API
서버 수신 후에는 OSI가 아닌 CPU 스케줄링·GPU 메모리 주소/커널 실행 경로로 넘어갑니다. HTTP/3이면 QUIC/UDP를 사용합니다.
같은 서버 안에서의 데이터 이동
각 장치를 클릭같은 모델을 여러 GPU에 배치하는 세 방식
어떤 Expert를 실행할 것인가?
입력 조건을 선택하면 가상 Router 점수와 선택 경로가 변경됩니다.
실제 MoE는 모든 층에서 모든 Expert를 실행하지 않을 수 있습니다. Router는 문맥별로 Expert 점수를 계산합니다.
Router logit → Softmax → Top-k
p = softmax(r)
selected = TopK(p, k=2)
모델을 GPU에 올리면 메모리가 얼마나 필요할까?
모델 가중치와 추론 시 누적되는 K/V 텐서 크기를 따로 계산합니다. 실제 시스템의 정확한 요구량이 아니라 개략 산식이며, 아키텍처와 병렬화 방식에 따라 달라집니다.
추론 환경 파라미터
변경 즉시 재계산이론적인 메모리 하한의 일부
GB / GiB 단위 구분KV = 2 × layers × tokens × batch
× KV_heads × head_dim × bytes_per_KV
head_dim = d_model / 32, bytes_per_KV = 2
이 산식이 계산하지 않는 것
CUDA 커널 작업 공간, 활성화 메모리, 임시 텐서, CUDA 그래프, allocator fragmentation, 양자화 스케일·제로포인트, LoRA·비전 인코더, 다양한 Attention 구현과 텐서 병렬의 통신 버퍼는 제외했습니다. 모델 파라미터 규모와 Hidden/Layer/KV-head 설정도 실제 특정 모델과 맞춘 조합이 아닐 수 있습니다.
또한 여러 GPU의 VRAM을 단순 합산한다고 하나의 연속 메모리가 되는 것은 아닙니다. Tensor/Pipeline/Expert/Context parallelism에 따라 가중치·KV의 배치와 통신량이 크게 달라집니다.
Kimi K3: 텍스트에서 GPU 연산을 거쳐 응답까지
공식 Kimi K3 기술보고서와 배포 코드를 바탕으로 전체 경로를 추적합니다. 수식과 구조는 실제 사양에 근거하지만, 클릭 가능한 스칼라·점수·토큰 실험은 교육용 축소 계산입니다.
추론 파이프라인 탐색기
01 / 17움직이는 점은 실제 신호 계측이 아니라 단계별 데이터 이동의 시각적 표현입니다.
수식을 직접 바꿔 보는 5개 실험
축소된 숫자를 사용해 곱셈·정규화·라우팅·확률이 출력에 주는 영향을 재현합니다. 실험마다 ‘실제 K3 사양’과 ‘교육용 샘플’을 따로 표기했습니다.
문자열 → TikToken/BPE → ID → 임베딩 행
정확한 K3 토크나이저는 tiktoken 기반 커스텀 TikTokenTokenizer입니다. 아래는 인터넷 없이 실행하기 위한 가상 토큰 경계·ID 실험이며 실제 K3의 토큰 ID를 출력하지 않습니다.
공식 vocab_size = 163,840(모델 카드의 ‘160K’는 반올림). 실제 hidden_size = 7,168. BF16 기준 한 임베딩 행은 14,336 바이트(약 14 KiB).
‘기억 유지·오차 수정’의 수치 변화
실제 K3의 KDA는 행렬 상태를 사용합니다. 아래는 한 채널(스칼라)로 줄여 동일한 delta-rule 갱신 구조만 재현합니다.
정규화된 1차원 예: k=1, q=1, S전=0.3 고정. 실제 K3에서는 α가 채널별, β가 토큰·헤드별로 정해지고 S는 행렬입니다.
이전 계층 중 어디의 정보를 더 많이 사용할까?
누적 합 대신 이전 블록 요약값을 softmax 가중합합니다. 아래는 네 블록 출력을 1차원으로 표현한 교육용 예시입니다.
실제 AttnRes는 학습된 pseudo-query와 RMSNorm된 블록 표현의 내적으로 가중치를 계산합니다. 위 시뮬레이터는 선택 효과만 단순화합니다.
896개 중 16개 Expert에만 전달
실제 공식 수식의 sigmoid(router) + expert bias → Top-16 선택을 작동시킵니다. 아래 896개 칸 중 밝은 칸이 선택된 Expert입니다. 점수는 가상값입니다.
Shared Expert 2개는 선택 과정과 별도로 항상 동작하며, 학습 중 Quantile Balancing으로 조정된 bias는 추론 중 고정됩니다. 실험에서는 bias를 의도적으로 변경할 수 있습니다.
Logit에서 다음 토큰을 뽑으면 출력이 어떻게 달라질까?
93개 계층을 통과한 hidden state에 출력 행렬을 곱하여 vocab=163,840개의 점수를 구합니다. 아래는 5개 후보로 줄인 가상 logit 예시입니다. 생성 후보 Top-p와 MoE Top-16은 서로 다른 연산입니다.
일반적인 스트리밍 API는 생성된 토큰을 디코딩한 뒤 가변 길이 텍스트 조각을 보내므로, HTTP 청크 하나가 토큰 하나와 항상 일치하는 것은 아닙니다.
GPU 라우팅 · 캐시 · 추론 엔진
토큰마다 계산 경로를 선택하는 모델 Router와, 여러 GPU 사이 텐서를 이동시키는 서빙 런타임을 비교합니다.
멀티 GPU 트래픽 흐름
하네스가 응답의 품질을 어떻게 바꾸는가?
도구 호출, 실행 환경, 검증, Context 관리, Reasoning effort는 추론 그래프 바깥에 있는 소프트웨어 오케스트레이션입니다. Kimi K3는 여러 하네스 구성을 혼합해 RL 학습했다는 점이 특징입니다.
에이전트 실행 경로 구성
XTML 구조 · 추론/도구/응답 분리
K3의 <|open|>·<|sep|>·<|close|>은 구조용 특수 토큰입니다. 일반적인 XML 태그를 단순 문자열로 넣는 방식과 다릅니다.
실제 사용 서비스는 think 채널의 노출 정책이 다를 수 있습니다. 본 블록은 프로토콜 구조를 설명하며 실제 추론 내용을 재현하지 않습니다.
출력 품질을 개선하는 기술 vs 처리량만 개선하는 기술
| 기술 | 주요 목적 | 품질과의 관계 |
|---|---|---|
| KDA + MLA | 효율적 장기 의존성 + 정확한 전역 조회 | 문맥 활용 능력을 높일 수 있으나 무조건 정답 보장 X |
| Block AttnRes | 과거 계층 표현의 선택적 재사용 | 깊이 방향의 정보 병목 완화 |
| Stable LatentMoE + QB | 큰 Expert 집합 활용, 학습 안정성·부하 균형 | 전문화·용량 향상 가능. Router는 진위 검증기가 아님 |
| SFT → 다중 effort RL → MOPD | 추론·도구 호출·작업 완수 역량 학습 | 학습된 행동 변화. 답변 생성 도중 실시간 학습 X |
| Harness: 도구 + 검증 + Context | 실측값·외부 정보·테스트 결과를 모델에 제공 | 검증 가능한 과제에서는 정확성 개선에 기여 가능 |
| QAT(MXFP4) / fused CUDA / PD 분리 | 정확도 손실 완화, 대역폭·지연·처리량 최적화 | 보통 성능 유지·속도 개선 목적, 근본 지식 증가 아님 |
| DSpark 등 speculative decoding | 초안 토큰 병렬 제안과 타깃 검증 | 정확한 확률 보정 구현에서는 타깃 분포 유지, 주로 속도 이점 |
| Fleet affinity / budget admission | 캐시 적중·응답 시간 예측 가능성 | 서비스 일관성 개선. 사실 정확도와는 별개 |
원문 및 공식 구현 자료
검증 기준: 2026-10-28. 독립형 HTML에서 외부 서버 없이 실행됩니다. 본 시각화는 추론 엔진이 아니라 교육용 실험입니다.
연산의 모양을 따라가다.
텐서를 펼쳐 보고, 한 토큰의 경로를 따라가고, 숫자 한 칸의 계산까지 내려갑니다.
블록 클릭 → 연산 해설
이 한 칸은 어떻게 만들어졌을까?
선택 토큰의 입력 행 × 가중치의 한 열. 출력 칸을 눌러 열을 바꾸세요.
표시는 소수 둘째 자리로 반올림합니다. 합계는 반올림 전 값으로 계산합니다. 실제 GPU는 이 같은 작은 연산을 타일로 묶어 수행합니다.
상태와 출력의 변화
α·β는 실제 K3에서 입력에 따라 학습된 투영으로 계산됩니다. 여기서는 효과를 확인하려고 수동 조절합니다.
선택되지 않은 Expert도 모델의 일부입니다.
896개 실제 개수 · 선택 16개만 발광 · 아래 점수와 가중치는 가상 계산입니다. Shared Expert 2개는 별도 경로입니다.
bias는 Top-16 선택에만 더합니다. 선택 후 혼합 비중은 원래 sigmoid 점수로 정규화합니다. 실제 추론에서는 학습 완료된 bias가 고정되며, 이 슬라이더는 가상의 개입 실험입니다.
검증 범위 · 생략한 연산 · 출처 확인 (2026-10-29)
교육용 계산: 임의 가중치, JavaScript 배정밀도, 토큰 경계·ID, 8차원 hidden / 4차원 attention 및 latent / 3차원 MLA cache, 고정된 예시 ShortConv, 가상 이전 블록 표현, 8개 후보 어휘. 실제 tokenizer·다중 헤드·전체 계층·양자화 커널·GPU 병렬 스케줄러·하네스는 실행하지 않습니다. Prefill/Decode 전환은 처리 범위와 캐시 재사용을 도식화하며, 소형 수치 실험은 짧은 입력 전체를 재계산합니다.
이미지/동영상 입력은 이 탐색기에서 제외했습니다. 도구 실행과 네트워크 흐름은 도식이며 외부 요청을 보내지 않습니다. 시각 배치는 연산 그래프의 설명용 정리이며 실제 커널 실행 순서나 시간 비율과 같지 않습니다.
참고 사이트의 입체 텐서 탐색 방식을 참고했고, 코드·그래픽은 별도로 구현했습니다. K3는 단순 GPT 구조와 다르므로 KDA/MLA/AttnRes/LatentMoE 경로로 재구성했습니다.
시각화 읽는 법
1. 큰 구조 → 작은 연산. 「전체 93층」에서 층을 선택한 뒤 「한 층 펼치기」로 이동합니다. 청록은 KDA, 보라는 MLA입니다. 아래 93칸 지도가 현재 위치를 표시합니다.
2. 블록과 숫자를 선택. 블록을 클릭하면 오른쪽에 목적·수식·입출력 형태가 나옵니다. 숫자 칸은 예시 활성값입니다. 아래 행렬 실험에서 출력 칸을 누르면 어떤 곱셈이 합쳐졌는지 확인할 수 있습니다.
3. 같은 데이터의 다른 관점. 「GPU·하네스 경로」는 같은 모델 연산을 메모리와 통신 관점으로 보여줍니다. 모델 Router, GPU 통신, 도구 선택은 서로 다른 과정입니다.
4. 경로 재생. 기존 17단계 설명과 연결되어 각 단계의 위치로 이동합니다. KDA/MLA/MoE는 매번 한 차례만 실행되는 단계가 아니라 층마다 반복되는 구성요소입니다.
드래그 회전 · Shift + 드래그 이동 · 휠 확대 · 방향키 회전 · +/− 확대 · 0 시점 초기화. 터치 한 손가락 회전, 두 손가락 확대.
이것은 실제 K3의 내부 활성값 측정 화면이 아닙니다. 공개된 구조를 지도 삼아, 임의의 작은 행렬로 작동 원리를 계산하는 학습 도구입니다.