KoreaDevKNOWLEDGE SHARING

콘텐츠 유형학습하기

LLM EDUCATION · 03 / 8

가속기와 시스템 선택

제품 이름보다 workload, 메모리, software ecosystem과 운영 조건을 먼저 비교합니다.

난이도
기초
구성
3개 핵심 단원 · 15개 장

CORE UNIT 1 / 3

CPU·GPU·NPU·TPU

CPU·GPU·NPU·TPU의 실행 구조를 memory·연산·compiler·runtime 경로로 나누고 내 workload와 장비 후보를 같은 측정 계약에서 검증합니다.

난이도
기초
구성
강의 5개 · 실습 2개 · 평가

도해·표 자료: 각 강의의 공식 1차 출처를 바탕으로 저자 구성. 원문과 검토일은 해당 강의 끝에서 확인합니다.

NEW HIRE ONBOARDING

첫 업무를 받는 순서로 시작합니다

중학교를 졸업하고 처음 IT 업무를 맡은 신입사원도 따라올 수 있도록, 어려운 정의보다 상황·할 일·증거·보고할 경계를 먼저 확인합니다.

  1. 01

    상황을 한 문장으로 읽기

    노트북 작업 관리자에 NPU가 보여도 선택한 LLM runtime이 NPU backend와 model operator를 지원하지 않으면 CPU 또는 GPU에서만 실행될 수 있습니다.

  2. 02

    오늘 맡은 일

    CPU·GPU·NPU·TPU의 실행 구조를 memory·연산·compiler·runtime 경로로 나누고 내 workload와 장비 후보를 같은 측정 계약에서 검증합니다.

  3. 03

    완료를 보여 주는 증거

    Peak 사양이 아니라 유효 값과 사용자 지표를 기록합니다.

  4. 04

    멈추고 선임에게 확인할 경계

    장치가 있어도 software가 model graph를 그 장치에 배치하지 못하면 사용되지 않습니다.

낯선 용어 먼저 풀기

Memory bandwidth
장치가 1초에 memory에서 읽고 쓸 수 있는 데이터 양으로 이론값과 실제 workload의 유효값을 구분해야 하는 지표
Operator
행렬 곱·attention·normalization처럼 model graph를 이루며 runtime과 장치가 지원해야 하는 연산 단위
TOPS
Tera Operations Per Second의 약어로 특정 precision·조건에서 초당 조 단위 연산을 나타내지만 실제 token/s와 같지 않은 peak 지표

PREREQUISITE CHECK

본문을 읽기 전에 확인할 세 가지

정답을 외우는 시험이 아닙니다. 질문을 먼저 생각한 뒤 해설을 열어 이번 과목에서 사용할 바탕 개념을 확인하십시오.

1Memory 용량과 memory bandwidth는 같은 뜻입니까?

같지 않습니다. 용량은 한 번에 담을 수 있는 byte이고 bandwidth는 1초에 읽고 쓸 수 있는 byte입니다. Model이 들어가는지와 들어간 model이 얼마나 빠르게 반복 읽히는지를 별도로 판단해야 합니다.

2제품 표의 TOPS를 LLM token/s로 바로 바꿀 수 있습니까?

바꿀 수 없습니다. TOPS는 특정 precision과 연산 조건의 peak이고 실제 token/s는 model graph, operator·kernel 지원, memory 이동, context, batch와 runtime에 따라 달라집니다. 같은 workload를 실행해 측정해야 합니다.

3컴퓨터가 가속기를 인식하면 모든 model 연산이 그 장치에서 실행됩니까?

아닙니다. Exact OS·driver·runtime이 장치를 지원하고 model의 operator·shape·precision을 kernel이나 compiler가 처리해야 합니다. Profiler에서 실제 execution device와 CPU fallback을 확인해야 합니다.

TEXTBOOK GUIDE

개념의 배경부터 판단 기준까지 읽는 본문

IT를 처음 접하는 독자도 용어를 암기하지 않고 원인과 결과를 연결할 수 있도록 한 절씩 이어서 설명합니다.

CONCEPT FLOW

각 장은 이렇게 연결됩니다

각 장은 따로 외우는 단답이 아닙니다. 왼쪽에서 오른쪽으로 따라가며 앞 장의 개념이 다음 판단에 어떻게 쓰이는지 먼저 살펴보세요.

  1. 1장가속기는 CPU가 준비한 실행 경로의 한 구간이다
  2. 2장연산량보다 먼저 memory 용량·bandwidth와 이동 byte를 계산한다
  3. 3장정밀도·operator·compiler·runtime이 실제 지원 경로를 결정한다
  4. 4장CPU·GPU·NPU·TPU를 역할과 software 생태계로 구분한다
  5. 5장동일 workload benchmark와 rollback으로 장비를 승인한다
CPU·GPU·NPU·TPU의 전체 지도입니다. 아래 장문 해설과 각 장을 읽다가 길을 잃으면 이 순서로 돌아오세요.

CONTROLLED EXPLANATION

개념이 이어지는 순서를 직접 살펴보기

자동으로 시작하지 않습니다. 재생하거나 이전·다음 단계를 선택하면 현재 개념과 다음 판단의 연결을 차례로 설명합니다.

현재 설명 · 1/5

가속기는 CPU가 준비한 실행 경로의 한 구간이다

가속기 이름보다 host·memory·driver·runtime·compiler·operator가 이어지는 전체 경로를 먼저 그려야 실행 실패와 느린 fallback을 설명할 수 있습니다.

CPU는 제어와 전처리·입출력을 맡고 가속기는 지원되는 tensor 연산을 실행합니다.

다음 연결: 연산량보다 먼저 memory 용량·bandwidth와 이동 byte를 계산한다에서 이 기준을 이어서 사용합니다.

전체 단계의 글 설명 보기
  1. 1. 가속기는 CPU가 준비한 실행 경로의 한 구간이다

    가속기 이름보다 host·memory·driver·runtime·compiler·operator가 이어지는 전체 경로를 먼저 그려야 실행 실패와 느린 fallback을 설명할 수 있습니다. CPU는 제어와 전처리·입출력을 맡고 가속기는 지원되는 tensor 연산을 실행합니다.

  2. 2. 연산량보다 먼저 memory 용량·bandwidth와 이동 byte를 계산한다

    LLM 추론은 큰 weight와 cache를 반복해 읽으므로 device에 들어가는지와 실제로 초당 몇 byte를 옮기는지가 peak 연산 수보다 먼저 병목이 될 수 있습니다. Capacity는 담을 수 있는 양이고 bandwidth는 초당 옮길 수 있는 양입니다.

  3. 3. 정밀도·operator·compiler·runtime이 실제 지원 경로를 결정한다

    장치의 FP16·BF16·INT8·INT4 같은 숫자는 model operator와 runtime kernel·compiler가 그 조합을 지원할 때만 실제 가속으로 이어집니다. Storage precision과 inference precision을 구분합니다.

  4. 4. CPU·GPU·NPU·TPU를 역할과 software 생태계로 구분한다

    네 장치는 우열표가 아니라 범용 제어, 대규모 병렬 계산, 저전력 on-device 추론, cloud-scale matrix system이라는 서로 다른 운영 경로입니다. CPU-only와 hybrid offload도 유효한 설계입니다.

  5. 5. 동일 workload benchmark와 rollback으로 장비를 승인한다

    장비 선택은 model·입력·동시성·품질을 고정한 반복 측정과 실패 후 이전 backend로 돌아가는 복구 시험까지 통과해야 끝납니다. Peak 사양이 아니라 유효 값과 사용자 지표를 기록합니다.

움직임을 보지 않아도 아래 글 설명에서 같은 내용을 확인할 수 있습니다. 운영체제의 움직임 줄이기 설정도 따릅니다.
개념 해설 01

가속기 성능을 host부터 응답까지의 system path로 읽기

사용자가 문장을 보내면 CPU가 network request를 받고 tokenizer로 token ID를 만들며 queue와 권한을 처리합니다. Storage의 model shard는 host memory에 mapping되거나 읽힌 뒤 runtime이 tensor를 device memory로 옮깁니다. GPU·NPU·TPU가 matrix kernel을 실행해도 sampling, 일부 normalization, tool 호출과 response serialization은 CPU에 남을 수 있습니다. 따라서 accelerator 계산 시간만으로 End-to-End latency(요청부터 최종 응답까지의 지연)를 설명할 수 없습니다.

Driver는 operating system과 장치 사이의 낮은 수준 통신을 제공하고 runtime은 model architecture를 kernel과 memory plan으로 바꿉니다. Compiler가 필요한 장치는 graph와 shape를 장치 명령으로 변환합니다. Model code가 새 operator를 사용하지만 설치된 runtime에 kernel이 없으면 load가 실패하거나 CPU fallback이 일어날 수 있습니다. 화면에 device가 표시되고 package import가 성공했다는 사실은 실제 model graph가 가속된다는 증거가 아닙니다.

실행 도해에서 storage, CPU host, runtime·compiler, device memory와 compute unit 사이 화살표를 따라가며 각 경계의 byte와 시간을 적습니다. Model load, prompt prefill, 한 token decode, cache allocation과 output 전송은 서로 다른 경로 비중을 가집니다. 첫 요청만 느리면 compile·load·warm-up을, 긴 생성이 계속 느리면 memory bandwidth·kernel·cache를, 동시 사용자에서만 느리면 queue·capacity를 먼저 조사합니다.

Profiler가 제공하는 execution device, kernel timeline, memory copy와 utilization을 요청 ID와 model revision에 연결합니다. GPU utilization 20%라는 숫자 하나는 CPU 준비가 느린지, 작은 batch인지, memory wait인지 알려 주지 못합니다. 반대로 100% utilization도 queue 지연이나 thermal throttling을 숨길 수 있습니다. 사용자의 TTFT·전체 latency, 처리 token과 오류를 장치 timeline과 같은 시간축에서 비교해야 합니다.

왜 이런가
가속기는 host가 준비한 graph와 data 중 지원되는 연산만 실행하며 요청은 여러 software·memory 경계를 왕복하기 때문입니다.
언제 문제가 되는가
장치 peak 사양은 높은데 첫 token이 늦거나 CPU 사용률과 transfer가 급증하면 전체 path의 다른 구간이 병목일 수 있습니다.
초보자가 자주 하는 오해
GPU·NPU가 보이면 모든 연산이 자동 offload되거나 낮은 utilization은 곧 hardware 결함이라는 뜻이 아닙니다.
직접 확인하는 방법
한 요청의 CPU 전처리, copy, compile, kernel, cache와 응답 시간을 trace하고 log의 execution device를 exact revision과 대조하십시오.
이 절을 정리하면CPU·GPU·NPU·TPU는 요청 전체를 혼자 처리하지 않으므로 storage·host memory·driver·runtime·compiler·device·network가 이어지는 경로에서 병목을 찾아야 합니다.
개념 해설 02

CPU를 느린 대체재가 아니라 범용 기준선과 memory host로 이해하기

CPU core 수는 일을 처리할 독립 실행 자원을 나타내지만 모든 core가 같은 model tensor를 효율적으로 읽는다는 뜻은 아닙니다. LLM matrix 연산은 Advanced Vector Extensions(AVX, 여러 숫자를 한 명령으로 처리하는 x86 vector 확장), ARM NEON과 matrix extension을 활용할 수 있습니다. Runtime이 이 instruction set에 맞게 build됐는지, physical core·thread와 Non-Uniform Memory Access(NUMA, socket에 따라 memory 접근 시간이 다른 구조)를 어떻게 배치하는지가 결과를 바꿉니다.

System RAM은 consumer GPU VRAM보다 클 수 있어 큰 quantized model을 담는 데 유리하지만 용량과 bandwidth를 구분해야 합니다. Dual-channel·multi-channel memory, socket과 page placement에 따라 유효 bandwidth가 달라집니다. Thread를 무조건 늘리면 같은 memory channel을 경쟁해 token/s가 더 이상 오르지 않거나 오히려 scheduling overhead가 커질 수 있습니다. Core·thread sweep와 effective bandwidth를 함께 측정합니다.

Llama.cpp는 CPU vector backend와 Metal·CUDA·HIP·Vulkan 등 여러 backend, CPU+GPU hybrid inference를 공개합니다. 이 사실은 모든 조합의 동일 성능을 보증하지 않습니다. Exact build flag와 commit, BLAS backend, model GGUF·quant, layer offload와 context를 기록해야 합니다. GPU에 들어가지 않는 layer를 CPU로 두면 실행 가능성은 높아지지만 PCIe transfer와 CPU bandwidth가 decode 지연을 키울 수 있습니다.

CPU-only 기준선은 장애 격리에 유용합니다. 같은 model·template·작은 입력이 CPU에서는 정확하지만 새 GPU backend에서 틀리면 artifact보다 kernel·precision 경로를 먼저 의심할 수 있습니다. 반대로 CPU와 가속기 모두 틀리면 tokenizer·prompt·model을 봅니다. 기준선은 production만큼 빨라야 하는 것이 아니라 재현 가능하고 단순한 경로로 기능·품질 회복 여부를 확인할 수 있어야 합니다.

왜 이런가
CPU는 다양한 instruction과 운영체제 기능을 직접 지원하고 큰 system memory를 host하므로 가속기와 다른 장점이 있습니다.
언제 문제가 되는가
Thread를 늘려도 속도가 멈추고 memory controller가 포화되거나 offload 때 PCIe wait가 커지면 CPU·memory 경로를 분리해야 합니다.
초보자가 자주 하는 오해
CPU는 AI를 전혀 못 하거나 core 수가 두 배면 token/s도 항상 두 배가 되는 것은 아닙니다.
직접 확인하는 방법
Runtime build·instruction set, physical core·thread, NUMA·memory bandwidth와 layer offload를 고정해 thread별 token/s·전력을 측정하십시오.
이 절을 정리하면CPU는 복잡한 제어와 넓은 software 지원·system RAM이 강점이며, vector instruction과 optimized kernel을 쓰는 기준선 또는 GPU offload의 host로 평가해야 합니다.
개념 해설 03

GPU의 병렬 kernel·VRAM·vendor software stack을 한 조합으로 검증하기

GPU는 많은 Arithmetic Logic Unit(ALU, 산술·논리 연산 장치)과 matrix unit이 동일한 kernel을 대량 data에 병렬 적용하도록 설계됩니다. LLM의 matrix multiplication은 이 구조를 활용하지만 작은 tensor, branch가 많은 code와 빈번한 host synchronization은 parallel unit을 충분히 채우지 못할 수 있습니다. Batch와 prefill은 병렬성을 높이는 반면 interactive decode의 batch 1은 memory 접근과 kernel launch 비중이 커질 수 있습니다.

VRAM에는 전체 또는 배치된 weight, activation, KV cache, kernel workspace와 allocator 예약이 함께 들어갑니다. 여러 GPU의 VRAM을 더한 값만으로 model이 들어간다고 결론 내리면 안 됩니다. Tensor parallel은 layer의 tensor를 나누고 pipeline parallel은 layer 구간을 나누며 각각 collective communication과 stage 대기가 생깁니다. PCIe, NVLink 같은 interconnect, 장치별 shard와 peak를 같은 topology에서 측정합니다.

NVIDIA CUDA, AMD ROCm, Intel XPU와 Apple Metal은 driver·compiler·library와 지원 platform이 다릅니다. VLLM의 최신 공식 설치 페이지는 NVIDIA compute capability, AMD GPU architecture와 ROCm, Intel XPU, Apple Silicon plugin 조건을 별도 tab으로 설명합니다. 지원 목록은 version에 따라 바뀌므로 블로그의 오래된 성공 사례나 vendor 이름만으로 현재 내 exact GPU·OS를 승인하지 않습니다.

GPU candidate는 clean environment 또는 고정 container에서 작은 공식 지원 model을 먼저 load합니다. 그다음 목표 architecture·quant, 최장 context와 동시성으로 넓히며 load log의 kernel, execution device, peak와 error를 저장합니다. Runtime wheel과 driver를 바꿀 때 model artifact까지 바꾸지 않습니다. 실패하면 이전 image·driver가 아니라 우선 이전 application container로 돌아갈 수 있는 범위를 정하고 같은 입력을 재시험합니다.

왜 이런가
GPU kernel은 architecture와 software binary에 맞아야 하고 VRAM과 interconnect가 병렬 계산에 data를 계속 공급해야 하기 때문입니다.
언제 문제가 되는가
Load는 되지만 CPU fallback, device 간 통신·한 장치 OOM 또는 낮은 batch utilization로 기대보다 느릴 수 있습니다.
초보자가 자주 하는 오해
CUDA core·stream processor 수나 VRAM 합만 크면 vendor·runtime·workload와 관계없이 같은 성능이 나오는 것은 아닙니다.
직접 확인하는 방법
Official matrix에서 exact GPU·OS·driver·runtime을 찾고 profiler의 kernel·placement·copy·collective와 p50·p95를 기록하십시오.
이 절을 정리하면GPU는 많은 병렬 연산과 높은 device memory bandwidth가 강점이지만 exact architecture·VRAM·driver·CUDA·ROCm·XPU·Metal runtime 조합이 맞아야 합니다.
개념 해설 04

NPU를 TOPS가 아니라 model export·operator·shape·전력 경로로 평가하기

NPU는 Neural Processing Unit의 약어이며 노트북·mobile System on Chip(SoC, 여러 기능을 한 칩에 통합한 장치)에 포함돼 지속적인 AI inference를 낮은 전력으로 처리하도록 설계되는 경우가 많습니다. 제품의 TOPS는 특정 integer precision, sparsity와 vendor 조건에서의 최대 operation 수일 수 있습니다. Model이 사용하는 precision과 operator, memory traffic·thermal 조건이 다르면 실제 latency와 energy는 표시 수치에서 직접 나오지 않습니다.

Framework model은 Open Neural Network Exchange(ONNX, model graph 교환 형식)나 vendor format으로 export·compile해야 할 수 있습니다. Attention·rotary embedding, dynamic sequence, KV cache update와 quant decompose가 NPU compiler에서 지원되지 않으면 compile error 또는 HETERO·CPU execution이 생깁니다. “NPU 사용” 설정이 성공해도 일부 핵심 연산이 CPU에서 실행되면 전체 token 지연과 전력이 기대와 달라질 수 있습니다.

Intel OpenVINO 2026 NPU 문서는 지원 property, default latency mode와 일부 HETERO 조건을 제시합니다. Exact compiled model에서 available device, execution device, driver·compiler version과 supported property를 질의해야 합니다. 다른 vendor NPU는 같은 property·driver나 model format을 사용하지 않으므로 OpenVINO 절차를 모든 NPU의 표준이라고 일반화하지 않습니다.

NPU benchmark는 wall power와 battery, cold compile·warm latency, input shape·batch 1과 목표 model 품질을 함께 기록합니다. CPU·integrated GPU와 같은 model·업무로 비교하고 fallback을 켠 결과와 목표 device-only 결과를 구분합니다. Compile cache를 지운 뒤에도 복구 가능한지, driver update 후 이전 compiled artifact가 호환되는지 확인해야 일회성 demo가 아닌 운영 경로가 됩니다.

왜 이런가
NPU는 제한된 operator·precision과 compiler 경로를 효율화하므로 지원 graph를 실제로 배치하는 과정이 핵심입니다.
언제 문제가 되는가
Compile error, static shape 요구, CPU fallback이나 작은 shared memory 때문에 TOPS 기대와 다른 지연·품질이 생깁니다.
초보자가 자주 하는 오해
AI PC에 NPU가 있으면 Ollama·vLLM 등 모든 local LLM이 설치 없이 자동으로 NPU를 사용한다고 생각하지 않습니다.
직접 확인하는 방법
Exact model을 compile하고 execution device·operator partition·precision·driver version, wall power와 CPU fallback 유무를 확인하십시오.
이 절을 정리하면NPU는 지원 graph의 저전력 on-device 추론에 유리할 수 있지만 model 변환·precision·shape·driver와 execution provider가 맞지 않으면 LLM이 자동 가속되지 않습니다.
개념 해설 05

Cloud TPU를 ASIC·XLA·HBM·slice topology의 system으로 이해하기

Tensor Processing Unit(TPU)은 Google이 machine learning workload를 위해 설계한 Application-Specific Integrated Circuit입니다. 공식 architecture 문서는 TensorCore 안의 Matrix Multiply Unit(MXU), vector unit과 scalar unit, High Bandwidth Memory를 구분합니다. Matrix unit은 multiply-accumulate를 systolic array에서 처리하지만 activation·softmax와 control, address 계산은 다른 unit과 host가 담당합니다. TPU도 모든 프로그램을 한 unit에서 실행하지 않습니다.

PyTorch나 JAX가 만든 graph는 Accelerated Linear Algebra(XLA) compiler를 거쳐 TPU machine code가 됩니다. Host VM은 input을 준비하고 compile·runtime과 device를 관리합니다. 처음 보는 shape나 graph에서 compile 시간이 늘 수 있고 dynamic Python control이 device 실행을 방해할 수 있습니다. GPU용 custom CUDA kernel을 그대로 TPU에서 실행할 수 없으며 framework·XLA 지원과 model implementation을 확인해야 합니다.

여러 TPU chip은 Inter-Chip Interconnect(ICI, TPU chip 사이 고속 연결)로 묶인 slice와 topology를 이룹니다. Model·data parallel collective는 chip 수뿐 아니라 topology와 mapping에 영향을 받습니다. Multi-host에서는 host와 network, input pipeline도 병목이 될 수 있습니다. “TPU N개”라는 수치만 기록하지 않고 version, slice·topology, TensorCore·chip 단위와 software version을 정확히 남깁니다.

Cloud candidate에는 quota·region, provisioning·compile 시간, storage와 data 이동, failure·checkpoint와 비용을 포함합니다. 같은 code가 chip 수가 다른 type에서 tuning 없이 같은 효율을 보장하지 않는다는 공식 문서의 조건을 고려합니다. Small local inference와 대규모 training을 하나의 순위로 비교하지 않고, TPU를 선택한 workload가 matrix 규모와 반복 사용으로 compile·distributed overhead를 상쇄하는지 실제 job으로 측정합니다.

왜 이런가
TPU 성능은 ASIC 내부 unit뿐 아니라 XLA graph, host, HBM과 chip topology가 data를 공급하고 집단 통신하는 방식에 달려 있습니다.
언제 문제가 되는가
Compile 반복, input starvation, collective와 topology mismatch가 생기면 chip peak가 높아도 job step이 느리거나 중단됩니다.
초보자가 자주 하는 오해
TPU는 일반 PC용 GPU의 더 빠른 이름이거나 모든 Python code와 CUDA kernel을 수정 없이 실행하는 장치는 아닙니다.
직접 확인하는 방법
TPU version·slice·topology, XLA compile·step trace, HBM, input queue와 collective 시간을 같은 job revision에서 확인하십시오.
이 절을 정리하면TPU는 Google Cloud의 machine learning ASIC이며 host·XLA compile·HBM·MXU·interconnect와 slice를 함께 구성해야 workload를 실행할 수 있습니다.
개념 해설 06

Capacity·bandwidth·compute ceiling을 서로 다른 단위로 계산하기

Capacity 예산은 weight artifact의 실제 loaded byte, KV cache, activation·workspace와 운영 여유의 합입니다. Decimal GB와 binary GiB를 구분하고 unified memory에서는 운영체제·다른 process가 쓰는 공간을 뺍니다. 90% 같은 안전선은 보편 법칙이 아니라 출발점이며 allocator, burst와 recovery를 실제 peak로 교체해야 합니다. 한 번 load된 결과보다 최장 context·동시성에서 반복되는 peak가 중요합니다.

Bandwidth 상한은 같은 workload의 read·write byte를 실행 시간으로 나눈 effective bandwidth에서 시작합니다. Product sheet의 theoretical bandwidth는 memory clock과 bus 조건의 상한이며 access pattern, cache, quant unpack과 contention을 포함하지 않습니다. NVIDIA CUDA guide가 제시하는 effective bandwidth 관점처럼 profiler에서 kernel이 읽고 쓴 byte와 시간을 측정하고 prefill·decode를 따로 계산합니다.

Compute 상한은 지원 precision에서 실제 유효 operation rate를 token당 operation으로 나눕니다. TOPS의 Tera는 10의 12승 operation/s이고 token당 수치는 Giga Operations(GOPS, 10의 9승)로 쓸 수 있습니다. 하지만 multiply와 accumulate를 몇 operation으로 세는지, sparsity·matrix shape와 utilization 조건이 다를 수 있어 서로 다른 vendor 표를 바로 나누지 않습니다. 같은 profiler·benchmark 정의를 사용합니다.

Roofline 모형은 memory ceiling과 compute ceiling 중 작은 쪽이 먼저 닿는 상한임을 보여 줍니다. 관측값이 훨씬 낮으면 host transfer, kernel launch, unsupported fallback, queue나 thermal을 조사합니다. 관측값이 단순 상한보다 높으면 cache reuse를 빠뜨렸거나 GB·GiB, prefill과 decode, 서로 다른 batch 측정을 섞었는지 확인합니다. 모형의 목적은 정확한 예언이 아니라 단위가 맞는 반증 질문을 만드는 것입니다.

왜 이런가
저장 공간, data 이동과 연산 처리량은 각각 다른 물리 자원이며 workload가 그중 작은 공급률에 제한되기 때문입니다.
언제 문제가 되는가
TOPS는 높은데 token/s가 낮거나 계산 상한보다 관측이 큰 모순이 생기면 단위·조건·effective byte를 다시 확인해야 합니다.
초보자가 자주 하는 오해
VRAM이 충분하면 속도도 충분하거나 TOPS를 parameter 수로 나누면 정확한 token/s가 나온다고 생각하지 않습니다.
직접 확인하는 방법
Loaded peak GiB, kernel read·write GB/s, precision별 유효 operation과 token당 byte·operation을 같은 run에서 수집하십시오.
이 절을 정리하면Model이 들어가는지, 초당 byte를 공급하는지, 연산 unit이 계산하는지는 서로 다른 질문이므로 GiB·GB/s·TOPS와 token/s를 중간 식 없이 섞지 않습니다.
개념 해설 07

Storage precision·inference precision과 operator fallback을 분리하기

INT4 weight는 FP16보다 file과 weight read를 줄일 수 있지만 scale·zero point, group metadata와 dequantization이 필요합니다. Activation과 accumulation은 FP16·BF16·FP32 또는 integer로 섞일 수 있습니다. Hardware의 INT8 TOPS가 높아도 runtime이 model quant format을 해당 matrix unit에 맞게 변환하지 못하면 weight를 풀어 floating-point kernel을 사용할 수 있습니다. 저장량 이득과 계산 가속을 별도 결과로 보고합니다.

BF16은 FP16과 같은 16bit지만 exponent와 precision 배치가 달라 numeric range와 오차 특성이 다릅니다. Device가 BF16을 이름상 지원해도 특정 operator와 generation에서 kernel이 있는지 확인합니다. Softmax, normalization이나 sampling 같은 부분은 높은 precision으로 남을 수 있습니다. Mixed precision은 오류가 아니라 정확도와 속도의 설계일 수 있으므로 profiler와 runtime 문서를 통해 실제 tensor dtype을 확인합니다.

OpenVINO 공식 precision control 설명처럼 model storage precision과 inference precision은 같은 개념이 아니며 hardware acceleration이 없는 integer type은 다른 실행 precision을 사용할 수 있습니다. 이 원칙을 모든 runtime의 세부 동작으로 일반화하지는 않지만, file 이름만으로 실행 unit을 확정하면 안 된다는 확인법은 공통입니다. Runtime option, compiled graph와 device capability query를 함께 기록합니다.

Precision candidate는 같은 prompt·seed·template에서 숫자, 희귀 한국어, JSON·tool schema, 긴 context와 안전 거부 품질을 평가합니다. Token/s와 memory만 좋아도 필수 품질이 gate를 넘지 못하면 보류합니다. 새 precision이 실패하면 artifact·kernel·device 중 하나만 이전 기준선으로 되돌려 재시험하고, 변환 recipe와 source revision·hash를 보존해 같은 결과를 다시 만들 수 있게 합니다.

왜 이런가
Weight 저장 형식과 operator가 사용할 activation·accumulation dtype은 runtime과 hardware capability에 따라 따로 결정될 수 있습니다.
언제 문제가 되는가
INT4 file이 작아도 kernel이 fallback해 느리거나 특정 값에서 overflow·품질 회귀가 나면 실제 inference precision을 봐야 합니다.
초보자가 자주 하는 오해
Model 이름의 Q4나 device의 INT8 TOPS가 전체 graph의 모든 계산 precision을 뜻하지 않습니다.
직접 확인하는 방법
Compiled graph·profiler에서 operator별 device·dtype을 확인하고 같은 평가 세트의 품질·memory·지연을 FP16·BF16 기준선과 비교하십시오.
이 절을 정리하면낮은 bit model file과 장치가 실제로 실행하는 activation·accumulation precision은 다를 수 있으므로 kernel·compiler 결과와 품질을 확인해야 합니다.
개념 해설 08

공식 compatibility matrix를 exact version의 실행 manifest로 옮기기

Compatibility는 “AMD GPU”, “NVIDIA GPU”, “NPU”처럼 넓은 범주가 아니라 exact tuple입니다. Device architecture, firmware·driver, OS·kernel, runtime·compiler, framework·Python, container image와 model feature를 한 행에 적습니다. AMD ROCm과 vLLM 공식 문서는 GPU·ROCm·OS와 wheel 조건을 version별로 나누며 지원 범위가 release마다 변합니다. 검토 날짜와 URL, 사용한 version을 함께 남깁니다.

공식 production support, preview, community-enabled와 source build 가능은 같은 상태가 아닙니다. Community patch로 한 번 실행됐더라도 security update, regression test와 장애 지원 경로가 없으면 production 위험이 큽니다. 반대로 공식 목록에 없다고 기술적으로 절대 불가능하다는 뜻도 아니지만, 실험 환경과 운영 승인 수준을 구분해 표시해야 의사결정자가 비용을 알 수 있습니다.

Container는 user-space dependency를 고정하지만 host driver·kernel·firmware와 physical topology까지 담지 못합니다. `latest` tag 대신 image digest를 기록하고 base library와 runtime가 요구하는 host 조건을 확인합니다. Token이나 비밀번호를 image layer·command history에 넣지 않습니다. Model cache와 compiled artifact도 source revision·license·hash와 함께 관리하며 서로 다른 test의 cache를 같은 결과로 오인하지 않습니다.

Manifest 검증은 작은 model import에서 시작해 목표 model load, 최장 input, 목표 concurrency와 feature까지 단계적으로 넓힙니다. Structured output, quant, prefix cache, tensor parallel 같은 기능은 hardware backend마다 지원 시점이 다를 수 있습니다. 설치 page의 “GPU 지원” 아래에 별도 feature matrix가 있다면 둘 다 확인하고, log에서 조용한 feature disable·CPU fallback이 없는지 확인합니다.

왜 이런가
Kernel binary와 compiler는 device architecture·driver·library ABI와 맞아야 하며 backend별 feature 구현 속도가 다르기 때문입니다.
언제 문제가 되는가
Import는 되지만 model load·quant kernel·distributed feature에서 crash 또는 fallback이 나면 tuple 일부가 맞지 않을 수 있습니다.
초보자가 자주 하는 오해
Container를 쓰면 host driver 조건이 사라지거나 같은 vendor의 모든 GPU가 한 runtime version에서 공식 지원된다고 생각하지 않습니다.
직접 확인하는 방법
Exact tuple과 image digest를 manifest에 적고 official matrix·feature table, load log와 목표 workload 재시험을 연결하십시오.
이 절을 정리하면Vendor·framework 이름이 아니라 device ID·OS·kernel·driver·runtime·Python·model architecture와 feature를 정확히 고정해야 재현 가능한 지원 상태가 됩니다.
개념 해설 09

Prefill·decode·batch·training이 요구하는 가속기 자원을 분리하기

Prefill은 입력 token 전체를 attention과 feed-forward layer에 통과시켜 첫 KV cache를 만드는 단계입니다. 여러 token을 matrix에 묶을 수 있어 compute unit을 비교적 잘 채우고 arithmetic intensity가 높아질 수 있습니다. 입력이 길면 Time to First Token이 늘고 activation·temporary workspace가 커집니다. 같은 GPU라도 200-token 질문과 30,000-token 문서의 prompt token/s와 peak가 다르므로 input 길이별로 표를 나눕니다.

Decode는 이미 만든 cache를 사용해 다음 token을 한 step씩 생성합니다. Batch 1에서는 매 step 큰 weight를 읽는 memory-bound 성격과 kernel launch가 두드러질 수 있습니다. 여러 sequence를 continuous batching하면 weight를 재사용해 전체 throughput이 좋아질 수 있지만 짧은 요청이 긴 요청 뒤에서 기다리거나 cache block이 늘어 p95가 나빠질 수 있습니다. 사용자별 token/s와 server 전체 token/s를 같은 지표로 보고하지 않습니다.

Training과 fine-tuning은 forward뿐 아니라 gradient, optimizer state와 backward activation을 저장하고 통신합니다. Inference에서 16GiB에 들어간 model이 같은 장치에서 그대로 full training된다고 생각하면 안 됩니다. LoRA 같은 parameter-efficient tuning도 activation·optimizer와 batch memory를 필요로 합니다. Training candidate는 step time, sample throughput, gradient·checkpoint와 failure recovery를 별도 workload로 평가합니다.

평가 계약에는 목적을 한 문장으로 씁니다. 한 사용자의 interactive chat인지, 네 사용자의 API throughput인지, 긴 문서 prefill인지, adapter training인지에 따라 최적 장치와 runtime이 달라집니다. 각 단계의 input·output token, batch와 concurrency를 고정하고 profiler에서 compute·memory·communication 비율을 확인합니다. “LLM benchmark”라는 이름 하나로 서로 다른 단계를 섞지 않습니다.

왜 이런가
Prefill은 token 축 병렬성이 크고 decode는 반복적인 작은 step이며 training은 gradient·optimizer를 더해 같은 model에서도 자원 사용이 달라집니다.
언제 문제가 되는가
긴 prompt의 TTFT, batch 1 decode, 동시 요청 throughput 또는 training OOM 중 하나만 실패해도 평균 token/s가 원인을 숨길 수 있습니다.
초보자가 자주 하는 오해
한 번 측정한 token/s나 inference load 성공이 모든 context·batch·training 성능을 대표하지 않습니다.
직접 확인하는 방법
Cold·warm 상태에서 prefill·decode, concurrency 1·목표값과 training step을 분리해 token·sample, peak, p50·p95와 profiler 비율을 기록하십시오.
이 절을 정리하면같은 model도 prompt를 한꺼번에 처리하는 prefill, token을 하나씩 만드는 decode, 여러 요청 batch와 training에서 계산·memory·통신의 비중이 달라집니다.
개념 해설 10

여러 가속기의 parallelism과 interconnect 비용을 device 수에 숨기지 않기

Tensor parallelism은 한 layer의 matrix를 여러 device에 나누고 partial result를 collective communication으로 합칩니다. Model weight는 분산할 수 있지만 token step마다 all-reduce 같은 통신이 필요할 수 있습니다. Device 내부 HBM bandwidth가 높아도 GPU 사이 PCIe나 network가 느리면 작은 batch decode에서 통신 비중이 커집니다. Parallel size, shard와 collective byte를 exact topology에 맞춰 측정합니다.

Pipeline parallelism은 layer 묶음을 stage로 나눕니다. Stage마다 memory를 분배할 수 있지만 앞 stage의 출력을 기다리고 micro-batch가 작으면 빈 구간인 pipeline bubble이 생깁니다. 한 stage에 큰 layer나 느린 device가 몰리면 나머지가 기다리는 straggler가 됩니다. GPU utilization 평균 대신 device·stage별 active·wait time과 peak를 봐야 불균형을 찾을 수 있습니다.

Data parallelism은 model replica가 서로 다른 batch를 처리하고 training에서는 gradient를 동기화합니다. Serving replica는 request routing과 cache locality, health·failure domain을 고려해야 합니다. Cloud TPU slice와 GPU cluster는 interconnect와 topology 표현이 다르며 같은 device 개수라도 collective path가 달라집니다. Vendor의 peak interconnect 숫자만이 아니라 실제 message size와 collective trace를 확인합니다.

Scale-out 시험은 1→2→4개처럼 단계적으로 늘리고 처리량 증가와 latency·전력·비용 증가를 같이 기록합니다. 두 장치가 1.6배 빨라졌다면 실패가 아니라 workload와 communication의 결과일 수 있지만 목표 비용 대비 이득은 평가해야 합니다. 한 device 기준선과 이전 parallel config를 보존하고 node 한 개 장애, collective timeout과 재시작 뒤 같은 checkpoint·request가 회복되는지 시험합니다.

왜 이런가
분산 계산은 partial tensor와 상태를 장치 사이에 교환하고 가장 느린 stage·device가 전체 step 완료를 제한하기 때문입니다.
언제 문제가 되는가
Device 수를 늘렸는데 throughput이 거의 오르지 않거나 p95가 튀면 collective, pipeline bubble, shard imbalance와 network를 확인합니다.
초보자가 자주 하는 오해
VRAM과 TOPS를 장치 수만큼 더하면 통신 없이 정확히 같은 배수의 model 크기·속도를 얻는 것은 아닙니다.
직접 확인하는 방법
1·2·목표 device에서 shard·collective byte, stage active·wait, interconnect utilization, throughput·p95·전력과 장애 복구를 비교하십시오.
이 절을 정리하면Tensor·pipeline·data parallel은 계산과 memory를 나누지만 collective·stage 대기와 host·network 비용을 만들므로 장치 수의 선형 배수로 속도를 예측하지 않습니다.
개념 해설 11

Peak 성능과 지속 성능 사이의 전력·온도·clock 조건 측정하기

Processor는 온도와 전력 한도 안에서 clock을 조절합니다. 노트북 GPU·NPU와 desktop GPU가 같은 silicon 이름을 공유해도 configured power와 cooling이 다르면 지속 성능이 달라질 수 있습니다. 첫 20초의 빠른 생성 뒤 clock이 내려가면 짧은 benchmark는 실제 회의 요약이나 긴 batch를 대표하지 못합니다. Warm-up 후 목표 시간만큼 반복하고 시간에 따른 token/s를 저장합니다.

Device software가 보고하는 chip power는 system 전체 전력이 아닐 수 있습니다. CPU host, DRAM, fan, storage와 power supply 손실을 포함하려면 신뢰할 수 있는 wall measurement가 필요합니다. Energy per token 또는 job을 계산할 때 input·output token과 성공 여부를 함께 기록합니다. 느리지만 낮은 전력인 장치와 빠르지만 idle·peak가 높은 장치의 비용은 실제 요청률과 duty cycle로 비교합니다.

Thermal throttling은 token/s 하락, clock 변화와 온도 상승을 같은 timeline에서 확인합니다. Error correction, device reset과 compiler crash도 장시간·고온에서 나타날 수 있습니다. Fan을 무조건 고정하거나 power limit을 높이는 변경은 소음·수명·안전과 warranty 조건을 포함하므로 교육 site에서 보편 명령으로 강요하지 않습니다. Vendor 도구와 장비 운영 규칙 안에서 보수적으로 시험합니다.

승인 기준에는 peak가 아니라 예를 들어 30분 반복의 p95·최저 throughput, 최대 온도·wall energy와 error 0처럼 지속 조건을 넣습니다. 시간 자체를 강의 소요 시간으로 표시하지 않고 workload 측정 조건으로 명시합니다. Cooling 변경이나 driver update 뒤 같은 장문·동시성 세트를 다시 실행하고 이전 power profile로 돌아갔을 때 성능·안정성이 회복되는지 확인합니다.

왜 이런가
장치는 전력·온도 한도를 지키기 위해 clock을 동적으로 바꾸므로 짧은 peak와 지속 workload의 공급률이 다를 수 있습니다.
언제 문제가 되는가
처음에는 빠르지만 시간이 지나 token/s가 떨어지거나 reset·오류가 생기면 온도·clock·power와 cooling 조건을 확인합니다.
초보자가 자주 하는 오해
제품의 peak TOPS나 한 번의 빠른 응답이 하루 종일 같은 성능·전력·소음으로 유지된다는 보장은 없습니다.
직접 확인하는 방법
충분히 긴 반복에서 시간별 token/s, clock·온도·device와 wall power, 오류를 기록하고 같은 cooling·room 조건으로 재시험하십시오.
이 절을 정리하면짧은 burst의 peak TOPS·token/s는 cooling과 power limit 뒤의 지속 처리량을 보증하지 않으므로 충분히 긴 반복에서 전력·온도·clock·오류를 함께 측정합니다.
개념 해설 12

Local·cloud 선택에 data boundary·비용·가용성과 운영 책임 포함하기

Local CPU·GPU·NPU는 입력을 조직 내부 장치에 둘 수 있지만 이것만으로 보안이 완성되지는 않습니다. Model download, telemetry, remote management, shared account와 log 경로를 확인해야 합니다. Device memory와 local disk의 cache·prompt가 누가 볼 수 있는지, 퇴사·분실·수리 때 어떻게 삭제하는지 정합니다. 민감한 원문을 benchmark log에 그대로 남기지 않고 익명 정상·경계 세트를 사용합니다.

Cloud TPU·GPU는 큰 장비를 바로 사용할 수 있지만 region·quota, VM·slice provisioning, storage와 data egress, network latency와 service limit이 있습니다. Hardware 시간만이 아니라 compile·idle, attached storage, traffic과 운영 인력 비용을 포함합니다. Local 구매는 감가, 전력·냉각, rack·소음, spare와 장애 시간까지 더합니다. 서로 다른 기간과 사용률을 섞지 않고 같은 workload당 비용으로 비교합니다.

가용성은 장치 한 개의 안정성이 아니라 failure domain과 복구 시간입니다. Local workstation 한 대는 단순하지만 고장 시 전체 중단이 될 수 있고 cloud slice는 교체 가능하지만 capacity 부족이나 region 장애를 만날 수 있습니다. Checkpoint·model artifact와 config를 다른 failure domain에 보존하고, 새 장치를 얻었을 때 exact manifest로 복원할 수 있는지 시험합니다.

구매·cloud 승인표에는 data classification, 허용 region·network, 담당자, 월간·workload당 비용 상한, 지원 계약과 종료 절차를 넣습니다. 최고 token/s 후보가 data boundary를 위반하거나 복구 시간을 못 맞추면 보류합니다. 반대로 느린 CPU local이 traffic과 privacy 요구에 충분하면 더 복잡한 cluster를 만들지 않는 것도 기술적으로 성숙한 결정입니다.

왜 이런가
실제 서비스는 장치 외에 data 이동, account·network, 비용과 장애 복구 자원에 의존하며 이 조건이 사용 가능성을 제한하기 때문입니다.
언제 문제가 되는가
Cloud quota·network 또는 local 단일 장치 고장, 예상 밖 비용과 log 노출이 생기면 hardware benchmark만으로는 복구할 수 없습니다.
초보자가 자주 하는 오해
Local이면 자동으로 안전·무료이고 cloud면 자동으로 확장·복구되거나 가장 빠른 장치가 전체 비용도 가장 낮은 것은 아닙니다.
직접 확인하는 방법
Data flow, failure domain, quota·region, wall energy·cloud bill과 복원 절차를 같은 workload·기간 기준으로 기록하십시오.
이 절을 정리하면가속기 선택은 hardware 속도뿐 아니라 data가 머무는 위치, cloud quota·network, local 유지보수와 전체 비용·장애 책임을 포함한 운영 결정입니다.
개념 해설 13

Load 실패·OOM·느린 응답·품질 회귀를 서로 다른 첫 증거로 진단하기

Load 실패는 exact model architecture·quant와 runtime feature, driver·binary compatibility, artifact integrity와 memory allocation log부터 봅니다. Error message를 지우고 무작정 package를 upgrade하면 처음 실패 조건을 잃습니다. 작은 공식 support model이 같은 backend에서 load되는지 확인해 device·driver 경로와 목표 model 지원을 분리합니다. Community patch를 적용하기 전 현재 environment manifest와 rollback image를 보존합니다.

OOM은 file 크기만 보지 않고 load, prefill, decode와 concurrency 순간의 device·host peak를 기록합니다. Context·batch·sequence를 작은 성공 값으로 줄이고 하나씩 늘립니다. Quant를 낮추거나 offload를 동시에 켜면 quality와 transfer라는 새 변수가 생깁니다. Admission limit으로 새 요청을 보호하고 실패 request가 작은 기준선과 이전 backend에서 회복되는지 확인합니다.

응답이 느리면 CPU preparation, compile, host-device copy, kernel, collective, cache·queue와 thermal timeline을 나눕니다. 조용한 fallback과 unsupported fused kernel은 장치 utilization만으로 놓칠 수 있습니다. Cold만 느린지, prefill·decode 중 어디인지, concurrency에 따른 변곡점을 찾습니다. 더 큰 장치로 교체하기 전 profiler의 가장 긴 구간을 한 항목씩 바꿉니다.

출력 품질이 달라지면 model·tokenizer·template·sampling이 같은지 확인한 뒤 operator device와 inference precision, quant artifact를 대조합니다. Runtime kernel 차이를 원인으로 단정하지 않고 같은 실패 입력이 CPU 또는 높은 precision 기준선에서 회복되는지 시험합니다. Runbook에는 각 증상의 첫 log·metric, 안전 한도, 변경 순서, 이전 container·artifact와 종료 gate를 적어 다음 담당자가 같은 절차를 재현하게 합니다.

왜 이런가
Load·memory·latency·quality는 서로 다른 system layer에서 생길 수 있어 증상에 맞는 가장 싼 증거부터 분리해야 하기 때문입니다.
언제 문제가 되는가
재시작·upgrade·quant 변경을 동시에 하면 잠시 성공해도 원인을 잃고 같은 workload에서 장애가 반복됩니다.
초보자가 자주 하는 오해
가속기 장애는 모두 driver 문제이거나 더 큰 VRAM·높은 TOPS 장치로 바꾸면 자동으로 해결된다고 생각하지 않습니다.
직접 확인하는 방법
Exact 실패 입력과 manifest를 보존하고 작은 지원 model·짧은 context·concurrency 1·높은 precision 기준선에서 한 변수씩 비교하십시오.
이 절을 정리하면가속기 장애는 증상별로 model·memory·kernel·transfer·queue·precision의 첫 증거가 다르므로 재시작 전에 조건을 보존하고 작은 기준선에서 분리합니다.
개념 해설 14

같은 workload의 cold·warm·prefill·decode·동시성으로 후보를 승인하기

평가표는 후보 이름보다 workload에서 시작합니다. Exact model·revision·artifact, tokenizer·template, normal·boundary·failure input, input·output token, sampling, batch·concurrency와 필수 품질을 고정합니다. 장치마다 지원되는 quant가 달라 완전히 같은 artifact를 못 쓰면 차이를 공개하고 높은 precision 기준선과 업무 품질을 함께 둡니다. 결과를 본 뒤 prompt나 목표 latency를 후보별로 바꾸지 않습니다.

Cold 측정에는 process 시작, model load와 compile·첫 요청을 포함하고 warm 측정은 cache가 준비된 반복 요청을 봅니다. Prefill token/s, TTFT, decode token/s, End-to-End latency와 target concurrency throughput을 분리합니다. Average뿐 아니라 p50·p95·최대, 성공률과 실제 token을 기록합니다. Power와 temperature, clock throttling도 장시간 요청에서 측정해 짧은 burst 사양이 지속 성능처럼 보이지 않게 합니다.

첫 실습은 memory 계산, official compatibility와 execution log가 모두 있어야 후보를 통과시킵니다. 둘째 실습은 memory·compute ceiling과 관측값의 차이를 보여 줍니다. Browser 통과는 장비 증거가 아니며 실제 profiler 값으로 입력을 교체해야 합니다. 서로 다른 장치의 결과가 좋더라도 업무 정확도·형식·안전 gate가 실패하면 speed 순위를 이유로 승인하지 않습니다.

Runtime update 뒤 p95가 튀면 model·quant·driver를 동시에 바꾸지 않습니다. 이전 container·같은 model·실패 request로 작은 성공 기준선을 복구하고, context와 concurrency를 한 항목씩 늘립니다. 최종 runbook에는 증상, 먼저 볼 device·copy·kernel·queue 지표, admission limit, 이전 image·artifact와 회복 조건을 적습니다. 31과목 품질 gate와 마찬가지로 장비 승격도 검증되지 않은 빈칸이 있으면 hold가 정상입니다.

왜 이런가
장치 이점은 compile·cache 상태, prompt 단계, batch와 workload 품질에 따라 달라 한 숫자로 재현할 수 없기 때문입니다.
언제 문제가 되는가
평균 token/s는 높지만 cold start·p95·품질·전력 또는 목표 concurrency가 실패하면 실제 서비스에는 맞지 않습니다.
초보자가 자주 하는 오해
한 번의 짧은 benchmark나 vendor demo가 내 model·runtime·업무의 구매·배포 승인을 대신하지 않습니다.
직접 확인하는 방법
고정 manifest로 cold·warm, prefill·decode, concurrency와 품질·전력을 반복하고 이전 backend rollback 후 같은 실패 입력을 재시험하십시오.
이 절을 정리하면가속기 비교는 model·입력·품질을 고정하고 사용자 지연과 처리량·memory·전력을 단계별로 반복한 뒤 rollback까지 재현해야 합니다.

CONCRETE CASES

서로 다른 상황에서 개념을 확인하기

정의를 외우기 전에 개인 PC와 실제 업무에서 어떤 모습으로 나타나는지 비교해 보십시오.

  1. 사례 1 · 가속기는 CPU가 준비한 실행 경로의 한 구간이다

    노트북 작업 관리자에 NPU가 보여도 선택한 LLM runtime이 NPU backend와 model operator를 지원하지 않으면 CPU 또는 GPU에서만 실행될 수 있습니다.

    이 사례에서 확인할 핵심: CPU는 제어와 전처리·입출력을 맡고 가속기는 지원되는 tensor 연산을 실행합니다.
  2. 사례 2 · 연산량보다 먼저 memory 용량·bandwidth와 이동 byte를 계산한다

    8GB weight 상당량을 token마다 효과적으로 읽는 workload가 유효 bandwidth 400GB/s라면 단순 memory ceiling은 약 50 token/s이며 TOPS만 높여도 이 상한은 바뀌지 않습니다.

    이 사례에서 확인할 핵심: Capacity는 담을 수 있는 양이고 bandwidth는 초당 옮길 수 있는 양입니다.
  3. 사례 3 · 정밀도·operator·compiler·runtime이 실제 지원 경로를 결정한다

    INT4 weight model이 NPU memory에는 들어가도 dynamic shape나 필요한 attention operator가 compiler에서 지원되지 않으면 compile이 실패하거나 CPU fallback으로 지연이 늘 수 있습니다.

    이 사례에서 확인할 핵심: Storage precision과 inference precision을 구분합니다.
  4. 사례 4 · CPU·GPU·NPU·TPU를 역할과 software 생태계로 구분한다

    개인 문서 요약은 CPU·Apple GPU·노트북 NPU 후보를 비교할 수 있지만 수백 사용자 학습·serving은 datacenter GPU나 TPU의 network·compiler·운영 도구가 더 중요한 조건이 됩니다.

    이 사례에서 확인할 핵심: CPU-only와 hybrid offload도 유효한 설계입니다.
  5. 사례 5 · 동일 workload benchmark와 rollback으로 장비를 승인한다

    새 GPU에서 평균 token/s가 높아도 목표 동시성의 p95 TTFT와 JSON 품질이 실패하고 이전 CPU 기준선 복구가 안 되면 production 후보는 보류합니다.

    이 사례에서 확인할 핵심: Peak 사양이 아니라 유효 값과 사용자 지표를 기록합니다.

CHAPTER 1 / 5

가속기는 CPU가 준비한 실행 경로의 한 구간이다

Central Processing Unit(CPU, 중앙 처리 장치)은 운영체제, file과 network 입출력, tokenizer, scheduler와 오류 처리를 포함한 범용 제어를 수행합니다. Graphics Processing Unit(GPU, 그래픽 처리 장치), Neural Processing Unit(NPU, 신경망 처리 장치), Tensor Processing Unit(TPU, 텐서 처리 장치)는 큰 행렬 곱이나 특정 tensor 연산을 높은 병렬성으로 처리하도록 설계됐습니다. 그러나 가속기는 독립된 마법 상자가 아니라 CPU host가 준비한 data와 명령을 driver·runtime을 통해 받는 시스템 구성 요소입니다.

실행은 model artifact를 storage에서 읽고 host memory에 mapping하거나 복사하는 단계에서 시작합니다. Runtime은 graph와 tensor를 해석하고 device용 kernel 또는 compiler 결과를 준비한 뒤 weight·activation·cache를 device memory에 배치합니다. Tokenizer와 request queue는 CPU에 남고 matrix multiplication은 GPU로 가더라도 sampling, network response와 일부 미지원 operator가 host에서 실행될 수 있습니다. 한 구간이 느리면 accelerator peak 사양이 높아도 전체 요청은 그 병목을 기다립니다.

GPU는 많은 thread가 같은 형태의 연산을 병렬로 수행하고 높은 device memory bandwidth를 활용하는 데 강합니다. NPU와 TPU 같은 domain-specific accelerator는 지원 연산·precision과 dataflow를 더 좁게 최적화해 전력 효율이나 대규모 matrix throughput을 높일 수 있습니다. 대신 dynamic shape, 새로운 operator, custom kernel이나 framework version이 맞지 않으면 compile 실패 또는 다른 device fallback이 발생할 수 있습니다. 범용성·효율·software 성숙도는 서로 교환되는 조건입니다.

구조 도해는 요청이 CPU host, runtime·compiler, device memory와 compute unit을 지나 다시 응답으로 돌아오는 경로를 보여 줍니다. 직접 점검할 때는 장치 이름이 아니라 실제 execution device, loaded byte, kernel 목록과 host-device transfer를 profiler에서 확인합니다. CPU utilization이 높다고 CPU가 병목이라고 단정하거나 GPU utilization이 낮다고 장치가 불량이라고 단정하지 않고, queue·transfer·kernel·memory wait와 요청 단계의 시간을 함께 봅니다.

CPU host의 tokenizer와 request queue에서 시작해 model artifact load, runtime과 compiler의 지원 확인, device memory 배치, GPU와 NPU, TPU 연산기를 지나 다시 host로 돌아오는 다섯 구간과 구간이 끊겼을 때의 증상 표
그림 읽는 법 가속기는 전체 경로의 한 구간입니다. 장치가 보여도 runtime이 model과 operator를 그 device에 배치하지 못하면 실행은 오류 없이 CPU로 돌아갑니다.

핵심을 다시 정리하면

  • CPU는 제어와 전처리·입출력을 맡고 가속기는 지원되는 tensor 연산을 실행합니다.
  • 장치가 있어도 software가 model graph를 그 장치에 배치하지 못하면 사용되지 않습니다.

현실에서 이렇게 연결됩니다

노트북 작업 관리자에 NPU가 보여도 선택한 LLM runtime이 NPU backend와 model operator를 지원하지 않으면 CPU 또는 GPU에서만 실행될 수 있습니다.

이 장을 정리하면가속기 이름보다 host·memory·driver·runtime·compiler·operator가 이어지는 전체 경로를 먼저 그려야 실행 실패와 느린 fallback을 설명할 수 있습니다.

CHAPTER 2 / 5

연산량보다 먼저 memory 용량·bandwidth와 이동 byte를 계산한다

Memory capacity는 한 번에 담을 수 있는 byte이고 memory bandwidth는 1초에 읽고 쓸 수 있는 byte입니다. 16GiB GPU가 12GiB artifact를 담을 수 있어도 KV cache, activation, graph·workspace와 allocator 여유까지 합치면 긴 context나 두 번째 요청에서 Out of Memory(OOM, 메모리 부족)가 날 수 있습니다. 반대로 64GiB system RAM에 model이 넉넉히 들어가도 CPU memory bandwidth가 낮으면 생성할 때 weight를 반복 읽는 시간이 길어 token이 천천히 나올 수 있습니다.

Decoder generation의 작은 batch는 각 token step에서 큰 weight를 읽는 memory-bound workload가 되기 쉽습니다. 단순 근사로 token마다 8GB를 읽고 유효 bandwidth가 400GB/s라면 400÷8=50 token/s가 memory ceiling입니다. 이 계산은 cache hit, quant kernel, shared weight와 실제 access를 단순화하지만 왜 peak TOPS가 두 배인 장치가 항상 두 배 빠르지 않은지 설명합니다. NVIDIA 공식 CUDA best practices도 theoretical뿐 아니라 실제 read·write byte와 시간으로 effective bandwidth를 측정하라고 권고합니다.

Prefill은 여러 input token의 행렬 연산을 묶을 수 있어 arithmetic intensity, 즉 옮긴 byte당 계산량이 decode보다 높아질 수 있습니다. Batch를 키우면 weight 재사용과 throughput이 좋아질 수 있지만 KV cache와 queue가 늘고 개별 사용자의 Time to First Token(TTFT, 첫 token 지연)이 길어질 수 있습니다. 같은 model에서도 prefill과 decode, 동시성 1과 목표 batch를 분리해 측정해야 “이 GPU는 빠르다”를 실제 사용 형태로 번역할 수 있습니다.

Host-device offload는 capacity 문제를 풀 수 있지만 매 layer 또는 선택 weight가 PCI Express(PCIe, CPU와 확장 장치의 연결 규격)를 오가면 device 내부 bandwidth보다 낮은 연결이 병목이 될 수 있습니다. Apple Silicon에서 MLX가 활용하는 unified memory는 CPU와 GPU가 같은 memory pool의 array에 접근해 명시적 복사를 줄이지만 용량·bandwidth·동시 접근과 runtime 지원이 사라지는 것은 아닙니다. 물리 구조가 달라도 실제 이동 byte와 대기 시간을 profiler로 확인해야 합니다.

핵심을 다시 정리하면

  • Capacity는 담을 수 있는 양이고 bandwidth는 초당 옮길 수 있는 양입니다.
  • Host와 device 사이 전송은 device 내부 접근과 다른 경로입니다.

현실에서 이렇게 연결됩니다

8GB weight 상당량을 token마다 효과적으로 읽는 workload가 유효 bandwidth 400GB/s라면 단순 memory ceiling은 약 50 token/s이며 TOPS만 높여도 이 상한은 바뀌지 않습니다.

이 장을 정리하면LLM 추론은 큰 weight와 cache를 반복해 읽으므로 device에 들어가는지와 실제로 초당 몇 byte를 옮기는지가 peak 연산 수보다 먼저 병목이 될 수 있습니다.

CHAPTER 3 / 5

정밀도·operator·compiler·runtime이 실제 지원 경로를 결정한다

Floating Point 32-bit(FP32), FP16, Brain Floating Point 16-bit(BF16), integer 8-bit(INT8)과 INT4는 byte·범위·정확도와 hardware unit을 바꿉니다. Model file이 INT4라는 사실과 activation·accumulation까지 INT4로 계산한다는 말은 다릅니다. Mixed precision kernel은 weight를 낮은 bit로 저장하면서 일부 계산을 FP16·BF16·FP32로 수행할 수 있습니다. 따라서 제품의 “N TOPS INT8”을 FP16 model의 실제 throughput이나 LLM token/s로 직접 환산하지 않습니다.

Operator는 matrix multiplication, normalization, attention, activation처럼 graph를 이루는 연산 단위입니다. Hardware가 낮은 precision matrix unit을 가져도 runtime에 해당 architecture와 fused attention kernel이 없으면 일반 kernel, CPU 또는 다른 device로 fallback할 수 있습니다. Dynamic shape, sequence 길이, quant group과 cache format도 compile 가능성에 영향을 줍니다. OpenVINO의 NPU 문서는 device property와 부분적인 HETERO 지원 조건을 따로 제공하므로 exact model에서 `execution_devices`와 지원 property를 질의해야 합니다.

Compiler는 framework graph를 장치가 실행할 kernel과 memory 계획으로 변환합니다. TPU workload는 XLA(Accelerated Linear Algebra, 가속 선형대수 compiler)를 거치며 host program과 TPU에서 실행할 부분이 나뉩니다. Compile 시간이 길거나 shape가 바뀔 때 다시 compile되면 첫 요청 지연이 커질 수 있습니다. GPU에서도 CUDA·ROCm·Metal kernel과 library version이 model code, driver와 맞아야 하며 binary compatibility 때문에 새 environment나 공식 container가 요구될 수 있습니다.

지원 확인은 marketing page가 아니라 네 단계로 합니다. 먼저 operating system이 device를 인식하는지, 다음 driver와 runtime이 exact architecture를 지원하는지, model·quant·operator가 feature matrix에 있는지, 마지막으로 log와 profiler에서 실제 execution device와 kernel이 보이는지 확인합니다. “설치 성공”은 Python import가 된 상태일 뿐 model load, 최장 입력, 목표 동시성, 품질과 rollback이 통과한 상태가 아닙니다.

핵심을 다시 정리하면

  • Storage precision과 inference precision을 구분합니다.
  • 지원표는 exact device·OS·driver·runtime version으로 읽습니다.

현실에서 이렇게 연결됩니다

INT4 weight model이 NPU memory에는 들어가도 dynamic shape나 필요한 attention operator가 compiler에서 지원되지 않으면 compile이 실패하거나 CPU fallback으로 지연이 늘 수 있습니다.

이 장을 정리하면장치의 FP16·BF16·INT8·INT4 같은 숫자는 model operator와 runtime kernel·compiler가 그 조합을 지원할 때만 실제 가속으로 이어집니다.

CHAPTER 4 / 5

CPU·GPU·NPU·TPU를 역할과 software 생태계로 구분한다

CPU는 branch와 다양한 operator를 유연하게 실행하고 비교적 큰 system RAM을 사용할 수 있어 작은 model, batch 1, 개발 기준선과 GPU에 들어가지 않는 layer의 offload에 유용합니다. Llama.cpp는 x86 vector extension, ARM과 여러 GPU backend, CPU+GPU hybrid 경로를 공개합니다. CPU-only가 항상 틀린 선택은 아니며 낮은 traffic, 큰 RAM과 단순 운영이 중요한 환경에서는 느린 token/s를 받아들이고도 비용·복구 측면에서 적합할 수 있습니다.

GPU는 행렬 연산과 높은 memory bandwidth, 넓은 training·serving 생태계가 강점입니다. NVIDIA CUDA, AMD ROCm, Intel XPU와 Apple Metal은 같은 “GPU”지만 driver·OS·library·지원 model이 다릅니다. VLLM 공식 설치 문서도 vendor별 exact GPU와 software 조건을 나누므로 일반적인 “GPU 지원” 문장만으로 후보를 승인하면 안 됩니다. Consumer GPU와 datacenter GPU도 memory, error correction, interconnect와 운영 지원이 다릅니다.

NPU는 노트북·mobile 같은 전력 제한 환경에서 지원되는 neural network를 효율적으로 실행하도록 통합되는 경우가 많습니다. 하지만 모든 local LLM runtime이 NPU를 자동 사용하지 않으며 model export, quantization, static·dynamic shape와 operator coverage가 필요합니다. Intel OpenVINO, Windows ML, Qualcomm·Apple의 실행 경로는 서로 다른 API와 지원표를 가집니다. 광고 TOPS보다 내 model의 execution device, 전력·latency와 CPU fallback을 확인합니다.

Google Cloud TPU는 machine learning을 위한 Application-Specific Integrated Circuit(ASIC, 특정 용도 집적회로)이며 matrix multiply unit, vector·scalar unit, High Bandwidth Memory(HBM)와 chip 사이 interconnect를 system으로 사용합니다. PyTorch·JAX graph는 XLA로 compile되고 TPU VM host와 장치가 함께 동작합니다. 일반 PC에 꽂는 범용 GPU와 동일한 설치 절차가 아니며 slice topology, compile, cloud quota·비용과 data 이동까지 workload 계약에 넣어야 합니다.

CPU와 GPU, NPU, TPU를 역할과 memory 구조, 강한 workload, software 경로, 대표 실패, 직접 확인할 것이라는 여섯 축으로 나란히 비교한 표
그림 읽는 법 장치 종류는 순위가 아니라 제약 묶음입니다. 같은 workload contract를 네 열에 그대로 대입하고 지원 항목이 비면 그 후보는 보류합니다.

핵심을 다시 정리하면

  • CPU-only와 hybrid offload도 유효한 설계입니다.
  • NPU·TPU는 이름이 비슷해도 platform과 programming model이 다릅니다.

현실에서 이렇게 연결됩니다

개인 문서 요약은 CPU·Apple GPU·노트북 NPU 후보를 비교할 수 있지만 수백 사용자 학습·serving은 datacenter GPU나 TPU의 network·compiler·운영 도구가 더 중요한 조건이 됩니다.

이 장을 정리하면네 장치는 우열표가 아니라 범용 제어, 대규모 병렬 계산, 저전력 on-device 추론, cloud-scale matrix system이라는 서로 다른 운영 경로입니다.

CHAPTER 5 / 5

동일 workload benchmark와 rollback으로 장비를 승인한다

Benchmark 전에 workload contract를 씁니다. Exact model·revision·artifact·quant, tokenizer·template, input·output token 분포, batch와 동시성, 정상·경계·실패 품질, 목표 TTFT·decode 속도·throughput, 최대 memory·전력과 비용을 정합니다. CPU·GPU·NPU·TPU 후보마다 가능한 한 같은 조건을 사용하고 불가피한 compiler·dtype 차이는 별도 변수로 공개합니다. 결과를 본 뒤 목표를 낮추면 장비 선택이 아니라 결과 합리화가 됩니다.

Warm-up과 compile을 포함한 cold start, cache가 준비된 warm request, prefill과 decode, concurrency 1·목표값을 나눠 반복합니다. 평균뿐 아니라 p50·p95·최장, 실제 output token 수, energy와 error를 남깁니다. Effective bandwidth는 read·write byte와 시간에서, device utilization은 profiler에서 확인합니다. 높은 utilization이 곧 좋은 사용자 경험은 아니며 queue가 길거나 memory thrashing이 있으면 지연과 실패를 함께 설명해야 합니다.

장애 시험은 잘못된 model shape, memory 부족 직전 context, 목표보다 많은 burst와 runtime update를 포함합니다. Failure가 났을 때 입력을 잃지 않고 admission limit으로 보호하는지, compile·load error가 명확한지, CPU fallback이 조용히 성능을 망치지 않는지 확인합니다. GPU driver나 NPU compiler를 바꿀 때 model·quant까지 동시에 바꾸지 않고 이전 version과 같은 실패 입력으로 회귀를 재현합니다.

최종 승인표에는 장치 exact ID, firmware·driver, operating system, runtime·compiler·container digest, model manifest, 실행 device·precision, workload와 결과, 알려진 제한, 비용과 rollback을 넣습니다. 새 가속기가 gate를 넘지 못하면 더 작은 model, 검증된 quant, CPU 기준선 또는 이전 장치로 되돌리고 같은 요청이 회복되는지 시험합니다. “최신 가속기”가 아니라 측정과 복구가 가능한 조합이 운영 가능한 선택입니다.

핵심을 다시 정리하면

  • Peak 사양이 아니라 유효 값과 사용자 지표를 기록합니다.
  • 한 번에 backend·driver·quant를 함께 바꾸지 않습니다.

현실에서 이렇게 연결됩니다

새 GPU에서 평균 token/s가 높아도 목표 동시성의 p95 TTFT와 JSON 품질이 실패하고 이전 CPU 기준선 복구가 안 되면 production 후보는 보류합니다.

이 장을 정리하면장비 선택은 model·입력·동시성·품질을 고정한 반복 측정과 실패 후 이전 backend로 돌아가는 복구 시험까지 통과해야 끝납니다.

INTERACTIVE LAB 1 / 2

실습 1 · 가속기 실행 경로 승인 실습

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

가속기 이름을 실제 실행 경로와 호환성 gate로 바꾸기

Model byte, 실행 여유, 공식 software 지원, fallback과 rollback을 함께 확인합니다. 기본값은 일부러 memory와 operator gate가 실패합니다.

상황
16GiB 장치에 12GiB weight가 들어간다는 이유만으로 후보를 승인했지만 긴 입력에서 OOM이 나고 두 operator는 CPU로 돌아갑니다.
목표
Host→runtime→device memory→kernel 경로의 필수 조건과 이동 비용을 한 장부에서 판정합니다.
준비 조건
Exact model·artifact byte, 최장 입력 peak, 장치·OS·driver·runtime 지원표와 profiler의 execution device를 준비합니다.
성공 조건
90% memory 안전선, 공식 지원, fallback 0, precision·operator 호환과 이전 backend 복구가 모두 통과합니다.
  1. 후보 장치와 실제 weight·cache·workspace, 장치 memory를 입력합니다.
  2. Profiler로 확인한 이동량·fallback 수와 공식 지원·precision·rollback 증거를 반영합니다.
  3. 호환성 gate 실행 후 실패 이유를 하나씩 고쳐 같은 model·입력으로 다시 판정합니다.

한계: 전송 하한은 GiB와 GB 차이, protocol·page migration·overlap을 단순화하며 unified memory를 무한히 빠르거나 복사가 전혀 없는 구조로 보증하지 않습니다. 실제 profiler와 전력계를 사용하십시오.

INTERACTIVE LAB 2 / 2

실습 2 · Bandwidth·연산 상한 진단 실습

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

Memory·compute ceiling과 사용자 지표로 benchmark 승인하기

Token당 byte·연산량과 같은 실행의 유효 공급률로 두 상한을 만든 뒤 실제 decode·p95 TTFT와 측정 계약을 함께 판정합니다.

상황
새 장치의 peak TOPS는 높지만 한 번의 짧은 생성만 재고 “두 배 빠르다”고 보고했습니다.
목표
Memory와 compute 중 먼저 닿는 단순 상한, 사용자가 체감하는 TTFT·token/s를 같은 gate로 비교합니다.
준비 조건
같은 model·revision·quant·prompt·output·동시성, profiler의 token당 byte·연산과 유효 bandwidth·compute, 품질 결과를 준비합니다.
성공 조건
측정값이 사전 목표와 두 물리적 sanity check를 통과하고 3회 이상 반복·동일 계약·rollback을 증명합니다.
  1. Profiler에서 추정한 token당 weight read·연산량과 유효 bandwidth·compute를 넣습니다.
  2. 결과를 보기 전에 목표 decode와 p95 TTFT를 정하고 동일 workload의 측정값을 넣습니다.
  3. 측정 계약 판정으로 보류 이유를 고친 뒤 cold·warm과 목표 동시성을 별도 표로 재실행합니다.

한계: bandwidth÷byte와 compute÷operation 식은 작은 batch decode의 교육용 상한입니다. Prefill, cache hit, quantized kernel, speculative decoding, batch 재사용과 통신을 단순화하므로 실제 profiler·품질 측정을 대체하지 않습니다.

KEY TERMS

이번 단원 핵심 용어

Memory bandwidth
장치가 1초에 memory에서 읽고 쓸 수 있는 데이터 양으로 이론값과 실제 workload의 유효값을 구분해야 하는 지표
Operator
행렬 곱·attention·normalization처럼 model graph를 이루며 runtime과 장치가 지원해야 하는 연산 단위
TOPS
Tera Operations Per Second의 약어로 특정 precision·조건에서 초당 조 단위 연산을 나타내지만 실제 token/s와 같지 않은 peak 지표
Fallback
지원되지 않는 연산이나 장치 경로를 CPU 또는 다른 backend에서 대신 실행해 기능은 유지할 수 있지만 지연·memory가 달라지는 동작

UNIT WORKBOOK

개념을 새로운 상황에 적용하는 문제와 기록지

기본 원리 확인에서 시작해 실제 업무 판단으로 확장합니다. 답을 제출하면 정답만이 아니라 모든 선택지가 맞거나 틀린 이유를 확인할 수 있습니다.

기본 문제 1

가속기를 사용하는 LLM 요청의 실행 경로를 가장 정확하게 설명한 것은 무엇입니까?

답 선택
기본 문제 2

12GiB weight와 4GiB cache·workspace를 사용 가능한 16GiB 장치에 배치하려 합니다. 90% 안전선을 적용한 판단은 무엇입니까?

답 선택
적용 문제 3

노트북 NPU에서 INT8 model이 compile되지만 profiler에는 attention 두 operator가 CPU에서 실행되고 p95 지연이 목표를 넘습니다. 첫 대응은 무엇입니까?

답 선택
적용 문제 4

Token당 유효 weight read가 8GB이고 측정 유효 bandwidth가 400GB/s인 작은 batch decode의 단순 memory ceiling은 얼마이며 어떻게 사용해야 합니까?

답 선택
종합 문제 5

CPU 기준선을 새 GPU·NPU 또는 Cloud TPU 후보로 바꾸는 승인 계획 중 가장 완성된 것은 무엇입니까?

한국어 문서 상담, 동시 사용자 4명, p95 TTFT 1.5초, JSON 형식 99%와 장애 시 기존 backend 복구가 필수입니다.

답 선택

PERSONAL WORKSHEET

내 환경에 옮겨 적는 학습 기록지

입력 내용은 현재 브라우저 화면에만 머물며 저장하거나 외부로 전송하지 않습니다. 민감한 실제 정보 대신 범주와 가명을 사용하십시오.

OFFICIAL SOURCES

공식 자료에서 다시 확인하기

기술·호환성·모델 정보 검토 연월: 2026년 8월

CORE UNIT 2 / 3

AMD·NVIDIA GPU별 모델 선택

내 업무와 exact GPU·OS·runtime 조합을 고정하고 memory·호환성·품질·지연·전력 증거로 구매 또는 배포 후보를 승인합니다.

난이도
실전
구성
강의 5개 · 실습 2개 · 평가

도해·표 자료: 각 강의의 공식 1차 출처를 바탕으로 저자 구성. 원문과 검토일은 해당 강의 끝에서 확인합니다.

NEW HIRE ONBOARDING

첫 업무를 받는 순서로 시작합니다

중학교를 졸업하고 처음 IT 업무를 맡은 신입사원도 따라올 수 있도록, 어려운 정의보다 상황·할 일·증거·보고할 경계를 먼저 확인합니다.

  1. 01

    상황을 한 문장으로 읽기

    한국어 문서 상담이라면 8K 입력, 800 token 출력, 동시 2명, p95 첫 token 2초, 인용 정확도 95%를 후보를 보기 전에 적습니다.

  2. 02

    오늘 맡은 일

    내 업무와 exact GPU·OS·runtime 조합을 고정하고 memory·호환성·품질·지연·전력 증거로 구매 또는 배포 후보를 승인합니다.

  3. 03

    완료를 보여 주는 증거

    Cold·warm, prefill·decode, 동시성 단계와 장시간 부하를 분리해 최소 3회 반복합니다.

  4. 04

    멈추고 선임에게 확인할 경계

    현재 보유 장비에서 가장 작은 통과 model을 baseline으로 남깁니다.

낯선 용어 먼저 풀기

VRAM
Discrete GPU가 직접 사용하는 memory로 제품 총량과 현재 process가 안전하게 사용할 수 있는 양을 구분해야 하는 자원
Offload
가중치·연산 일부를 CPU RAM이나 다른 GPU에 배치해 용량을 보완하지만 이동·계산 병목을 새로 만들 수 있는 실행 방식
TTFT
Time To First Token으로 요청을 보낸 뒤 첫 출력 token이 보일 때까지의 사용자 지연

PREREQUISITE CHECK

본문을 읽기 전에 확인할 세 가지

정답을 외우는 시험이 아닙니다. 질문을 먼저 생각한 뒤 해설을 열어 이번 과목에서 사용할 바탕 개념을 확인하십시오.

1GPU 제품의 VRAM과 현재 LLM process가 안전하게 쓸 수 있는 VRAM은 같은 값입니까?

같지 않습니다. 제품 VRAM에서 display·다른 process, runtime workspace와 변동 여유를 고려해야 합니다. Exact artifact와 최대 context·동시성 부하의 실제 peak를 측정해야 합니다.

2같은 16GB NVIDIA와 AMD GPU는 같은 model·runtime에서 자동으로 같은 결과를 냅니까?

아닙니다. Memory 용량이 같아도 GPU architecture, bandwidth·power, OS·driver와 CUDA·ROCm·application backend의 operator·quant 지원이 달라 실제 배치·속도·품질이 달라질 수 있습니다.

3Peak TOPS·TFLOPS와 LLM token/s는 같은 지표입니까?

같지 않습니다. Peak 수치는 특정 precision·연산 조건의 이론 상한이고 LLM은 memory 이동, model graph·kernel, context·batch·동시성과 runtime에 좌우됩니다. 같은 workload의 실제 사용자 지표를 측정해야 합니다.

TEXTBOOK GUIDE

개념의 배경부터 판단 기준까지 읽는 본문

IT를 처음 접하는 독자도 용어를 암기하지 않고 원인과 결과를 연결할 수 있도록 한 절씩 이어서 설명합니다.

CONCEPT FLOW

각 장은 이렇게 연결됩니다

각 장은 따로 외우는 단답이 아닙니다. 왼쪽에서 오른쪽으로 따라가며 앞 장의 개념이 다음 판단에 어떻게 쓰이는지 먼저 살펴보세요.

  1. 1장GPU보다 먼저 workload 계약 쓰기
  2. 2장VRAM을 weight·cache·workspace 장부로 나누기
  3. 3장NVIDIA 후보는 CUDA 전체 연결 고리로 검증하기
  4. 4장AMD 후보는 ROCm matrix와 backend 실제 경로로 검증하기
  5. 5장같은 workload로 구매·배포를 승인하고 되돌리기
AMD·NVIDIA GPU별 모델 선택의 전체 지도입니다. 아래 장문 해설과 각 장을 읽다가 길을 잃으면 이 순서로 돌아오세요.

CONTROLLED EXPLANATION

개념이 이어지는 순서를 직접 살펴보기

자동으로 시작하지 않습니다. 재생하거나 이전·다음 단계를 선택하면 현재 개념과 다음 판단의 연결을 차례로 설명합니다.

현재 설명 · 1/5

GPU보다 먼저 workload 계약 쓰기

GPU 추천은 model 이름이 아니라 입력 길이·동시 사용자·품질·응답 지연·운영 위치를 고정한 업무 계약에서 시작합니다.

정상·경계·실패 입력과 출력 채점 기준을 장비 후보보다 먼저 정합니다.

다음 연결: VRAM을 weight·cache·workspace 장부로 나누기에서 이 기준을 이어서 사용합니다.

전체 단계의 글 설명 보기
  1. 1. GPU보다 먼저 workload 계약 쓰기

    GPU 추천은 model 이름이 아니라 입력 길이·동시 사용자·품질·응답 지연·운영 위치를 고정한 업무 계약에서 시작합니다. 정상·경계·실패 입력과 출력 채점 기준을 장비 후보보다 먼저 정합니다.

  2. 2. VRAM을 weight·cache·workspace 장부로 나누기

    실행 가능 용량은 제품의 VRAM보다 weight artifact, KV cache, runtime workspace, 다른 process와 안전 여유를 모두 뺀 뒤 결정합니다. 공유 system memory를 전용 VRAM과 같은 속도의 한 pool로 더하지 않습니다.

  3. 3. NVIDIA 후보는 CUDA 전체 연결 고리로 검증하기

    NVIDIA GPU가 장착됐다는 사실과 exact driver·CUDA runtime·framework·model operator가 지원된다는 사실은 서로 다른 gate입니다. 공식 GPU 사양과 로컬 device query를 대조하고 driver·toolkit 요구조건을 version으로 고정합니다.

  4. 4. AMD 후보는 ROCm matrix와 backend 실제 경로로 검증하기

    AMD GPU는 VRAM 대비 후보 범위를 정한 뒤 exact Radeon·OS·ROCm release·framework와 operator 지원을 하나의 조합으로 확인합니다. ROCm latest라는 이름 대신 release별 Radeon·OS·framework matrix의 exact 행을 기록합니다.

  5. 5. 같은 workload로 구매·배포를 승인하고 되돌리기

    최종 선택은 최고 peak 사양이 아니라 동일 조건에서 필수 품질, memory, p95 지연, 지속 처리량, 전력·소음과 rollback을 모두 통과한 후보입니다. Cold·warm, prefill·decode, 동시성 단계와 장시간 부하를 분리해 최소 3회 반복합니다.

움직임을 보지 않아도 아래 글 설명에서 같은 내용을 확인할 수 있습니다. 운영체제의 움직임 줄이기 설정도 따릅니다.
개념 해설 01

추천 질문을 실행 가능한 workload manifest로 바꾸기

“16GB GPU면 충분한가”라는 질문은 모델, context와 사용자가 빠져 있어 판정할 수 없습니다. 업무 manifest에는 exact model ID·revision·artifact·quantization, tokenizer와 chat template, 정상 입력과 최대 입력 token, 최대 출력 token, 동시에 처리할 sequence 수와 sampling을 적습니다. 대화형 서비스라면 Time To First Token(TTFT), 생성 속도와 p95 End-to-End 지연을 나누고, batch 처리라면 시간당 완료 건수와 실패율을 우선합니다. 이 계약이 없으면 후보마다 유리한 조건으로 측정하게 됩니다.

품질은 장비 선택의 바깥 조건이 아닙니다. 예를 들어 규정 상담은 정답과 인용 일치, 모르면 보류하는 비율, JSON 추출은 schema 유효성과 field별 정확도, coding은 test 통과와 보안 규칙을 측정합니다. Q4 model이 memory와 지연을 통과해도 필수 정확도가 실패하면 그 GPU에 맞는 후보라고 승인할 수 없습니다. 더 높은 precision이나 큰 model이 필요해지면 memory 장부부터 다시 계산해야 하므로 품질과 장비는 하나의 반복 과정입니다.

필수 gate와 선호 지표를 구분합니다. “인용 정확도 95% 이상, p95 TTFT 2초 이하, peak VRAM 90% 이하, 목표 동시성에서 오류 0”은 하나라도 실패하면 보류할 조건입니다. 평균 token/s, fan 소리, 확장 여지는 통과 후보끼리 순위를 정하는 선호 항목일 수 있습니다. 모든 값을 임의 점수로 더하면 필수 품질 실패가 높은 peak 성능에 가려지므로 먼저 통과·실패를 판정한 뒤 선호를 비교합니다.

현재 보유한 CPU나 GPU에서 필수 품질을 통과하는 가장 작은 model을 baseline으로 보존합니다. 새 후보가 해결해야 할 문제를 “32K context”, “동시 사용자 4명”, “더 높은 precision”처럼 한 문장으로 적습니다. 구매 후 문제가 생기면 이 baseline은 서비스 지속과 원인 분리를 위한 rollback 경로가 됩니다. 기존 장비가 목표를 이미 충족한다면 최고 사양으로 교체하지 않는 것도 유효한 결론입니다.

왜 이런가
GPU의 적합성은 장치 자체가 아니라 실행할 model·입력·동시성·품질과 지연 목표의 조합에서만 정의되기 때문입니다.
언제 문제가 되는가
후보별로 prompt·context·quant와 합격선을 바꾸면 결과가 좋아 보여도 장치 차이의 원인을 설명하거나 재현할 수 없습니다.
초보자가 자주 하는 오해
모델 parameter와 VRAM만 알면 모든 사용자의 추천이 정해지거나 가장 큰 model이 항상 업무 품질도 가장 높다는 생각은 틀립니다.
직접 확인하는 방법
후보 이름을 지운 상태에서 exact artifact, 정상·경계·실패 입력, 동시성, 품질·p95 gate와 현재 baseline을 한 장에 먼저 작성하십시오.
이 절을 정리하면GPU 후보를 보기 전에 exact model·입출력 길이·동시성·필수 품질과 사용자 지연을 고정해야 비교 결과가 구매 결정으로 이어집니다.
개념 해설 02

제품명·VRAM variant·노트북 전력까지 exact 장치로 식별하기

GPU 기록에는 vendor, full model name, desktop add-in board인지 notebook 내장형인지, 전용 VRAM, board manufacturer와 power limit을 포함합니다. “RTX 4060 Ti”처럼 같은 이름에 memory variant가 있거나 “RTX 3080”처럼 여러 용량이 유통된 사례에서는 이름만으로 모델 범위를 추천할 수 없습니다. 운영체제의 장치 조회와 실제 총 VRAM을 확인하고, 다른 process를 제외한 시작 시 available VRAM도 별도로 기록합니다. Shared GPU memory 표시는 discrete VRAM과 같은 자원으로 더하지 않습니다.

공식 NVIDIA·AMD 제품 페이지는 memory size·type, bandwidth, board power와 지원 OS 같은 사실의 1차 자료입니다. 그러나 partner card는 길이·cooler·전원 connector와 factory clock이 달라질 수 있고 notebook은 제조사가 전력을 제한합니다. 예를 들어 desktop과 notebook에 같은 계열 숫자가 붙어도 장시간 LLM 처리량을 같은 값으로 예상할 수 없습니다. 완제품 제조사 사양과 firmware power mode까지 확인한 뒤 로컬 device query로 대조합니다.

중고 장비는 BIOS 변경, cooling 상태, power connector와 실제 memory 오류를 추가로 봅니다. 부팅과 짧은 화면 출력이 정상이어도 큰 VRAM allocation이나 긴 compute에서 오류가 날 수 있습니다. 구매 승인 전에 memory test와 반복 inference를 실행하고 temperature·clock·error log를 저장합니다. 외관과 판매자의 게임 benchmark만으로 LLM workload 안정성을 대신하지 않습니다.

장치 manifest에는 공식 URL의 검토 월과 로컬 조회 결과, driver version, OS build를 함께 남깁니다. 제품 페이지는 업데이트되고 driver 지원 범위도 변하므로 “최신”이라는 단어 대신 exact version을 적습니다. 장비를 교체하거나 OS를 재설치한 뒤 같은 이름이 보여도 이전 검증이 자동 승계되지 않습니다. 새 manifest가 이전과 같은지 대조한 뒤 smoke test부터 다시 실행합니다.

왜 이런가
Model name의 일부만 같아도 memory·power·cooling과 driver 경로가 달라 실제 load와 지속 처리량이 바뀔 수 있기 때문입니다.
언제 문제가 되는가
판매 제목의 VRAM을 믿고 구매하면 다른 variant나 notebook power 제한 때문에 예상 model이 들어가지 않거나 장시간 성능이 낮을 수 있습니다.
초보자가 자주 하는 오해
새 세대 숫자가 크면 더 오래된 큰 VRAM 제품보다 언제나 더 큰 model을 안정적으로 실행한다는 순위는 성립하지 않습니다.
직접 확인하는 방법
공식 사양, board 또는 notebook 제조사 문서, 로컬 device name·VRAM·power limit을 세 줄로 대조하고 서로 다른 값은 승인 전에 해소하십시오.
이 절을 정리하면같은 계열 이름도 memory와 power limit이 다를 수 있으므로 공식 사양과 운영체제의 로컬 조회를 함께 보존해야 합니다.
개념 해설 03

Weight·KV cache·workspace·다른 process를 같은 VRAM 장부에 넣기

가중치 이론값은 parameter 수와 저장 bit로 시작하지만 exact artifact에는 quantization scale, tensor별 mixed type, metadata와 alignment가 포함됩니다. Dense와 Mixture of Experts의 total weight, vision projector 같은 추가 artifact도 확인합니다. 이름이 8B Q4라고 해서 모든 파일이 정확히 4GB이거나 같은 runtime allocation을 쓰는 것은 아닙니다. 다운로드한 파일 byte, checksum과 model load 뒤 device allocation을 출발식 대신 기록합니다.

KV cache는 layer 수, KV head, head dimension, token, cache precision과 동시 sequence에 따라 늘어납니다. Runtime workspace, graph·kernel buffer와 allocator reserve도 필요합니다. 예를 들어 weight 9GiB가 12GiB GPU에 load되어도 긴 입력의 KV cache 2.2GiB와 workspace 1.5GiB가 더해지면 안전선이 사라집니다. 평균 대화가 아니라 최대 허용 입력·출력과 목표 concurrency에서 peak를 측정합니다.

Desktop display와 브라우저, 다른 compute process도 VRAM을 사용합니다. 시작 전 free VRAM과 요청 중 peak를 모두 기록하고, model reload나 여러 worker가 동시에 뜨는 배포 절차도 시험합니다. 고정 10% 또는 20%를 모든 환경에 기계적으로 적용하는 대신 부하 반복에서 관찰한 변동과 실패점을 근거로 headroom을 정합니다. 여유가 없는 후보는 한 번 성공해도 안정적이라고 승인하지 않습니다.

Out of Memory가 나면 작은 context·동시 1의 성공 기준선으로 돌아갑니다. Model, quant, context, batch와 offload를 동시에 바꾸지 않고 한 항목만 낮춰 같은 실패 입력을 재시험합니다. 실패 시점의 설정과 log를 버리지 않아야 용량 경계를 설명할 수 있습니다. 다음 실습에서는 제품 VRAM이 아니라 weight·cache·workspace 합계, 90% 안전선, 공식 지원과 rollback을 함께 판정합니다.

왜 이런가
LLM 실행 memory는 정적인 weight 외에 요청 길이와 동시성에 따라 변하는 cache·workspace를 포함하므로 peak가 제품 용량에 먼저 닿을 수 있습니다.
언제 문제가 되는가
파일 load만 시험하면 최대 context prefill이나 동시 요청에서 처음으로 발생하는 OOM과 allocator 변동을 구매 전에 발견하지 못합니다.
초보자가 자주 하는 오해
VRAM이 model file보다 크면 남은 모든 공간을 context에 쓸 수 있거나 일정 비율의 여유가 모든 runtime에서 똑같이 안전한 것은 아닙니다.
직접 확인하는 방법
정상·최대 context, 동시성 1·목표값, reload에서 weight·KV·workspace·다른 process와 peak를 측정해 한 장부에 적으십시오.
이 절을 정리하면가중치 파일이 들어가는지는 load gate일 뿐이며 목표 context·동시성의 실제 peak와 안전 여유가 안정성 gate를 결정합니다.
개념 해설 04

GPU offload와 multi-GPU를 하나의 큰 VRAM으로 오해하지 않기

일부 runtime은 model layer를 GPU에 가능한 만큼 올리고 나머지를 CPU RAM에서 계산합니다. 이 방식은 더 큰 model을 실행할 수 있게 하지만 host-device link를 통한 tensor 이동과 CPU 계산이 decode 병목이 될 수 있습니다. System RAM 64GB와 VRAM 16GB를 동일한 80GB 고속 memory로 더하지 않습니다. Offloaded layer 수, host RAM peak, 전송 byte, CPU utilization과 p95를 완전 GPU 기준선과 비교합니다.

여러 GPU도 단순 VRAM 합계가 아닙니다. Tensor parallel, pipeline 또는 layer split은 각 장치에 weight와 cache를 나누는 방식, 통신량과 지원 operator가 다릅니다. 예를 들어 12GB 카드 두 장이 24GB 한 장과 같은 model을 담을 수 있는 경우에도 GPU 사이 link가 느리거나 runtime split이 제한되면 token/s와 안정성이 다릅니다. Motherboard slot bandwidth, peer access, 전원·냉각과 backend multi-GPU 지원을 함께 확인합니다.

llama.cpp 공식 multi-backend·operator 문서는 CUDA·ROCm·Vulkan 등의 기능 범위가 같지 않음을 보여 줍니다. Backend가 장치를 인식해도 특정 quant, Flash Attention, KV cache 기능이나 multi-GPU mode가 부분 지원일 수 있습니다. Startup log의 offloaded layer, backend별 tensor allocation과 CPU fallback을 보존합니다. “GPU 99% 사용” 한 숫자는 모든 operator가 예상 경로에 있다는 증거가 아닙니다.

복구할 때는 단일 GPU·작은 model·짧은 context로 돌아가고, offload layer 또는 두 번째 GPU를 한 항목씩 추가합니다. Output 품질도 함께 비교해 잘못된 kernel이나 불안정한 peer path를 놓치지 않습니다. OOM만 사라졌다는 이유로 승인하지 않고 목표 동시성의 p95와 반복 오류까지 통과시킵니다. Multi-GPU가 비용·전력·복잡성까지 포함해 단일 큰 VRAM 후보보다 나은지 같은 workload로 판단합니다.

왜 이런가
Memory 위치가 나뉘면 계산 사이에 data를 이동하거나 동기화해야 하므로 총 용량과 실제 처리량이 독립적으로 변하기 때문입니다.
언제 문제가 되는가
VRAM 합계만 보고 설계하면 model은 load되지만 CPU fallback·PCIe·GPU간 통신 때문에 p95와 token/s가 목표를 크게 벗어날 수 있습니다.
초보자가 자주 하는 오해
두 GPU의 VRAM을 더하면 모든 runtime에서 같은 크기의 단일 GPU처럼 자동으로 사용되거나 system RAM offload가 공짜라는 생각은 틀립니다.
직접 확인하는 방법
단일 GPU, offload, multi-GPU를 같은 manifest로 실행해 tensor 배치, 전송·통신, host/device peak, 품질과 p95를 비교하십시오.
이 절을 정리하면CPU RAM 또는 여러 GPU에 tensor를 나누면 용량을 보완할 수 있지만 이동·동기화·backend 기능이 새 성능·안정성 조건이 됩니다.
개념 해설 05

NVIDIA는 GPU·driver·CUDA·framework·quant kernel의 사슬로 확인하기

NVIDIA 경로는 GPU architecture, installed driver, application이 요구하는 CUDA runtime, framework wheel 또는 container와 model feature가 연결됩니다. `nvidia-smi`가 장치를 표시한다고 vLLM container와 quant kernel까지 보증되는 것은 아닙니다. NVIDIA CUDA compatibility 문서는 major release별 minimum driver와 minor-version compatibility의 제한을 설명합니다. 배포 기록에는 driver, toolkit 또는 container CUDA, framework와 application version을 각각 적습니다.

새 application이 오래된 driver에서 initialization error를 내거나 새 feature에 필요한 PTX·driver 지원이 없을 수 있습니다. 반대로 새 driver가 오래된 CUDA application을 실행할 수 있는 backward compatibility 범위도 조건을 갖습니다. Error를 model 크기나 VRAM 문제로 바꾸어 설명하지 않고 device query와 작은 공식 smoke test로 software 사슬부터 확인합니다. Driver update 전 이전 package·image와 rollback 절차를 보존합니다.

Quantization method도 GPU 세대와 독립적이지 않습니다. vLLM 공식 quantization 문서의 hardware compatibility 표는 method별 지원이 달라지고 바뀔 수 있음을 밝힙니다. 예를 들어 특정 FP8·AWQ·GPTQ 조합의 지원을 다른 GPU 또는 오래된 vLLM version에 일반화하지 않습니다. Exact build의 startup log와 profiler에서 선택한 quant kernel, attention feature와 execution device를 확인하고 CPU fallback이나 feature disable을 기록합니다.

문제를 분리하는 순서는 device query, 작은 matrix 또는 runtime smoke test, 지원이 명확한 작은 model, 목표 artifact load, 짧은 generation, 최대 context와 동시성입니다. 한 번에 driver·CUDA·framework·model을 모두 업데이트하지 않습니다. 이전 image에서 같은 실패 입력이 회복되면 한 구성 요소씩 올려 최초 실패 경계를 찾습니다. 최종 승인은 “CUDA 지원”이 아니라 exact version manifest와 실행 log를 근거로 합니다.

왜 이런가
GPU에서 실행되는 application은 user-space library와 kernel driver, architecture별 compiled code와 model feature가 모두 맞아야 하기 때문입니다.
언제 문제가 되는가
장치가 보여도 initialization error, no kernel image, 미지원 quant 또는 조용한 fallback으로 load·속도·품질이 실패할 수 있습니다.
초보자가 자주 하는 오해
`nvidia-smi`의 CUDA 숫자가 설치한 모든 toolkit·framework version과 feature를 뜻하거나 NVIDIA GPU면 모든 CUDA build가 실행되는 것은 아닙니다.
직접 확인하는 방법
Exact driver·container·framework·application·quant를 기록하고 작은 공식 model에서 device·kernel·feature log를 확인한 뒤 목표 model로 넓히십시오.
이 절을 정리하면CUDA-capable GPU가 보이는 것과 선택한 application build·quant·operator가 exact 장치에서 지원되는 것은 다른 검증 단계입니다.
개념 해설 06

AMD는 Radeon·OS·ROCm release·framework와 backend를 exact 행으로 확인하기

AMD 공식 제품 페이지는 exact Radeon의 memory size·type·bandwidth와 board power 같은 하드웨어 사실을 제공합니다. 예를 들어 RX 9070 XT의 공식 16GB 사양은 그 제품의 용량 근거이지 모든 RX 9000 partner board나 LLM runtime의 성능 보증이 아닙니다. Peak FP·INT 수치도 특정 precision·matrix 조건의 이론 상한입니다. NVIDIA의 같은 VRAM 후보와 token/s가 같거나 다르다고 이 숫자만으로 결론 내리지 않습니다.

ROCm 지원은 GPU 이름 하나가 아니라 운영체제·kernel 또는 Windows/WSL, driver, ROCm release와 framework version의 조합입니다. AMD compatibility matrix는 최신 release와 이전 release, Radeon·Ryzen·Instinct 경로를 구분합니다. 배포할 exact version의 행을 저장하고 다른 release의 성공 사례를 옮겨 쓰지 않습니다. 목록 밖 GPU를 override로 실행한 community 절차는 실험 가능성이지 공식 production support가 아닙니다.

llama.cpp의 HIP/ROCm과 Vulkan, PyTorch ROCm, vLLM ROCm은 서로 다른 application 경로입니다. 한 경로에서 GGUF model이 실행된 사실이 다른 framework의 지원을 뜻하지 않습니다. 예를 들어 Vulkan backend가 답을 생성해도 ROCm용 training library와 동일한 kernel·feature 집합을 쓰는 것은 아닙니다. Exact build option, device discovery, offloaded layer와 operator 표를 확인하고 목적에 맞는 backend를 고릅니다.

작은 공식 지원 구성에서 device discovery와 generation을 성공시킨 뒤 목표 quant·context·concurrency를 한 항목씩 올립니다. 실패를 install, driver, architecture·operator, memory, latency와 quality 단계로 분류합니다. Workaround가 필요하면 upgrade 때 깨질 가능성, 지원 주체와 이전 build 복구 절차를 승인표에 적습니다. AMD인지 NVIDIA인지에 대한 선호가 아니라 업무 gate를 통과한 exact 조합을 선택합니다.

왜 이런가
ROCm과 application 지원 범위는 release·platform·framework별로 바뀌며 backend마다 operator·quant 기능이 다르기 때문입니다.
언제 문제가 되는가
GPU VRAM만 보고 구매하면 선택한 OS에서 framework가 설치되지 않거나 CPU fallback·미지원 quant로 목표 성능과 기능을 잃을 수 있습니다.
초보자가 자주 하는 오해
Radeon이면 모든 ROCm release·Windows·Linux에서 같은 지원을 받거나 Vulkan·HIP·ROCm application을 하나의 동일 backend로 볼 수 없습니다.
직접 확인하는 방법
공식 matrix의 GPU·OS·driver·ROCm·framework 행과 application build·device log·operator 실행을 exact version으로 연결하십시오.
이 절을 정리하면AMD 후보는 VRAM만 비교하지 않고 공식 compatibility matrix의 GPU·OS·ROCm·framework 조합과 실제 operator 경로를 함께 검증합니다.
개념 해설 07

Peak 사양 대신 cold·warm·prefill·decode와 지속 부하를 측정하기

Cold run에는 process 시작, model load·compile과 첫 요청을 포함하고 warm run은 준비된 cache에서 반복 요청을 측정합니다. Prefill은 긴 입력을 읽는 단계, decode는 새 token을 한 개씩 만드는 단계이므로 병목이 다를 수 있습니다. TTFT, prefill token/s, decode token/s와 End-to-End latency를 나누고 목표 concurrency에서 request throughput과 오류율을 기록합니다. 한 번의 짧은 token/s만으로 사용자가 기다리는 시간을 설명하지 않습니다.

각 조건을 최소 3회 반복하고 평균뿐 아니라 p50·p95·최대와 run별 변동을 남깁니다. 예를 들어 후보 A가 warm decode 50 token/s여도 cold compile이 길고 동시 4에서 p95 TTFT가 5초라면 대화 서비스 gate를 실패할 수 있습니다. 후보 B가 decode 40 token/s지만 필수 품질과 p95를 안정적으로 통과하면 더 적합할 수 있습니다. 결과를 본 뒤 목표를 낮춰 통과시키지 않습니다.

Profiler와 system metric에는 peak device·host memory, GPU utilization, host-device transfer, CPU queue, power·temperature와 clock을 같은 시간축으로 기록합니다. 30초 burst는 빠르지만 20분 뒤 thermal throttling으로 처리량이 떨어질 수 있습니다. Desktop의 fan noise와 room power, notebook의 battery·power mode도 실제 사용 조건입니다. 냉각이나 power limit을 후보마다 다르게 두면 그 조건을 숨기지 않고 별도 configuration으로 기록합니다.

측정 도구가 실제 workload를 왜곡하지 않는지도 확인합니다. 출력 token 수와 종료 조건을 같게 하고, cache hit 여부와 concurrent arrival pattern을 고정합니다. Browser 실습의 숫자는 판정 절차를 배우는 예시이며 실제 장비 증거가 아닙니다. Exact runtime의 log·profiler와 익명화한 업무 평가를 사용하고, 변경된 driver·model·prompt가 있으면 새 run으로 분리합니다.

왜 이런가
LLM 요청의 입력 처리·생성·queue와 장시간 power·thermal 상태는 서로 다른 병목을 가지므로 peak 한 숫자가 실제 체감을 대표하지 못합니다.
언제 문제가 되는가
한 번의 warm decode만 비교하면 cold start, 긴 입력, 목표 동시성, p95 지연과 지속 부하 오류가 배포 후 처음 드러날 수 있습니다.
초보자가 자주 하는 오해
TOPS·TFLOPS나 최고 token/s가 큰 후보가 모든 context·batch와 사용자 수에서 항상 더 빠르고 안정적인 것은 아닙니다.
직접 확인하는 방법
고정 manifest로 cold·warm, prefill·decode, 동시성 단계와 20분 지속 부하를 3회 이상 실행해 품질·지연·memory·전력을 함께 저장하십시오.
이 절을 정리하면제품의 peak 연산률은 후보 정보일 뿐이며 같은 workload의 사용자 지연·처리량·memory·전력과 품질을 반복해야 실제 적합성을 판단할 수 있습니다.
개념 해설 08

전원·chassis·냉각·가격과 유지보수를 기술 gate에 포함하기

Desktop 후보는 GPU 길이와 두께, motherboard slot 간격, power supply 용량·품질과 connector, case airflow를 확인합니다. 고출력 카드가 들어가도 cable bend나 막힌 intake 때문에 안정적이지 않을 수 있습니다. CPU와 system RAM, storage에서 model을 읽는 속도도 cold start와 offload에 영향을 줍니다. GPU만 바꾸는 비용표에 필요한 PSU·case·fan·UPS 교체가 빠지지 않게 합니다.

전력과 소음은 단순 취향이 아니라 지속 운용 조건입니다. 예를 들어 공동 사무실에서 fan noise 제한이 있거나 notebook battery로 작업해야 하면 peak power mode의 결과를 기본값으로 쓸 수 없습니다. Wall power와 장치 power, room temperature, fan profile을 측정 조건에 적습니다. Power limit을 낮춘 효율 후보도 같은 품질·지연 gate로 시험하면 작은 성능 손실로 운영 조건을 만족하는 선택을 찾을 수 있습니다.

가격은 제품의 고정 기술 속성이 아니라 지역, 재고, 세금, 중고 상태와 날짜가 붙는 견적입니다. 교육 본문에 특정 가격 대비 순위를 영구 규칙으로 넣지 않고, 구매 시점의 두세 견적과 warranty·반품·지원 조건을 별도 표에 적습니다. 총비용에는 전력, 추가 부품, 설치와 driver 문제를 해결할 시간, 장애 시 대체 장비를 포함합니다. 최고 VRAM/가격 비율이 지원 공백과 긴 복구 시간을 상쇄한다고 가정하지 않습니다.

유지보수 책임도 선택 기준입니다. 개인 실험은 community backend를 감수할 수 있지만 다중 사용자 서비스는 지원되는 release, 보안 update, monitoring과 rollback image가 더 중요합니다. 다음 분기의 OS·runtime upgrade 시 matrix를 누가 다시 검토할지 정합니다. 장비 수령 후 반품 가능 기간 안에 대표 workload와 실패 복구를 완료하고 필수 gate를 못 맞추면 작은 model, 다른 GPU 또는 cloud 후보로 돌아갑니다.

왜 이런가
GPU는 전원·공간·열·host system과 software maintenance에 의존하며 이 비용과 제한이 실제 사용 가능 시간을 결정하기 때문입니다.
언제 문제가 되는가
카드만 구매한 뒤 PSU·공간·온도 문제가 생기거나 지원되지 않는 update에 운영 시간이 소모되면 benchmark 이익을 얻지 못합니다.
초보자가 자주 하는 오해
GPU 가격만 비교하면 총비용을 알 수 있거나 가장 비싼·최신 제품이 내 장소와 지원 인력에도 가장 적합한 것은 아닙니다.
직접 확인하는 방법
설치 치수·전원·냉각·소음, wall power, 날짜 있는 견적, warranty와 update·rollback 담당자를 승인표에 넣으십시오.
이 절을 정리하면GPU가 benchmark를 통과해도 전원·공간·냉각·소음과 driver 운영 비용이 설치 환경을 넘으면 실제 선택으로 승인할 수 없습니다.
개념 해설 09

승인 기록과 rollback으로 추천을 재현 가능한 변경으로 만들기

최종 비교표의 행은 exact GPU·OS·driver·runtime·artifact 조합입니다. 열에는 공식 hardware·compatibility 근거, weight·cache·workspace와 peak, 정상·경계·실패 품질, cold·warm·p95·동시성, 지속 전력·온도와 설치 조건을 둡니다. 측정 날짜, command와 config, log·screenshot 위치를 연결합니다. Vendor 전체를 한 행으로 만들거나 “AMD는 저렴함”, “NVIDIA는 호환됨” 같은 일반 평가로 exact 증거를 대신하지 않습니다.

실패 결과도 지우지 않습니다. 예를 들어 16GB 후보가 32K·동시 2에서 OOM이면 8K·동시 1의 성공 기준선과 최초 실패점을 함께 기록합니다. 더 작은 model 또는 quant로 복구했으면 품질 회귀를 다시 측정합니다. 이 정보는 구매를 보류하는 근거이면서 실제 운영에서 admission limit을 정하는 자료입니다. 빈칸은 평균값으로 메우지 않고 확인 책임자와 재시험 조건을 적습니다.

승인 전에는 이전 CPU/GPU backend 또는 이전 driver·container로 rollback하고 같은 실패 입력이 회복되는지 시험합니다. Hardware 장애라면 요청을 이전 장치나 작은 model로 전환하고 새 요청을 제한하는 절차가 필요합니다. Rollback artifact, command, 예상 복구 시간과 확인 지표를 다른 담당자가 실행할 수 있게 씁니다. Checkbox만 선택한 browser 실습은 절차 이해 증거일 뿐 실제 복구 증거가 아닙니다.

추천의 유효 범위는 날짜와 manifest에 묶입니다. Driver·ROCm·CUDA·runtime, model revision, context·동시성 또는 업무 품질 기준이 바뀌면 공식 matrix와 회귀 세트를 다시 실행합니다. 결론은 “NVIDIA가 AMD보다 우수”가 아니라 “이 exact 후보가 이 workload의 모든 필수 gate를 통과했고, 이 조건 밖에서는 재검증한다”여야 합니다. 그래야 다른 사람이 같은 장비를 사거나 업데이트할 때 판단을 재현할 수 있습니다.

왜 이런가
Hardware와 software 지원, workload는 계속 변하므로 선택 근거와 복구 경로가 없으면 같은 이름의 추천을 재사용할 수 없기 때문입니다.
언제 문제가 되는가
통과 값만 남기면 업데이트 후 회귀 원인을 찾지 못하고, 문제 발생 시 이전 안정 구성으로 돌아갈 수 없어 서비스 중단이 길어집니다.
초보자가 자주 하는 오해
한 번 통과한 GPU 추천은 모든 model·runtime·OS에 영구 적용되거나 브랜드별 순위표가 exact 검증을 대신할 수 없습니다.
직접 확인하는 방법
다른 사람이 manifest·artifact·command와 실패 입력만 보고 동일 결과와 rollback을 재현할 수 있는지 독립 검토하십시오.
이 절을 정리하면GPU 선택의 최종 산출물은 브랜드 순위가 아니라 exact 조합의 통과 증거, 한계와 이전 backend 복구 절차입니다.

CONCRETE CASES

서로 다른 상황에서 개념을 확인하기

정의를 외우기 전에 개인 PC와 실제 업무에서 어떤 모습으로 나타나는지 비교해 보십시오.

  1. 사례 1 · GPU보다 먼저 workload 계약 쓰기

    한국어 문서 상담이라면 8K 입력, 800 token 출력, 동시 2명, p95 첫 token 2초, 인용 정확도 95%를 후보를 보기 전에 적습니다.

    이 사례에서 확인할 핵심: 정상·경계·실패 입력과 출력 채점 기준을 장비 후보보다 먼저 정합니다.
  2. 사례 2 · VRAM을 weight·cache·workspace 장부로 나누기

    16GB GPU에서 9GB weight, 4GB cache·workspace와 2GB 안전 여유를 쓰면 남는 1GB가 동시 요청 증가를 견디는지 peak 측정으로 확인합니다.

    이 사례에서 확인할 핵심: 공유 system memory를 전용 VRAM과 같은 속도의 한 pool로 더하지 않습니다.
  3. 사례 3 · NVIDIA 후보는 CUDA 전체 연결 고리로 검증하기

    새 GPU가 운영체제에는 보이지만 오래된 driver 위의 새 CUDA build가 initialization error를 내면 model 크기를 줄여도 호환성 문제는 해결되지 않습니다.

    이 사례에서 확인할 핵심: 공식 GPU 사양과 로컬 device query를 대조하고 driver·toolkit 요구조건을 version으로 고정합니다.
  4. 사례 4 · AMD 후보는 ROCm matrix와 backend 실제 경로로 검증하기

    RX 9070 XT의 공식 16GB 사양이 확인돼도 선택한 Windows 또는 Linux release와 vLLM·PyTorch·llama.cpp 경로가 지원되지 않으면 배포 후보는 보류합니다.

    이 사례에서 확인할 핵심: ROCm latest라는 이름 대신 release별 Radeon·OS·framework matrix의 exact 행을 기록합니다.
  5. 사례 5 · 같은 workload로 구매·배포를 승인하고 되돌리기

    후보 A가 decode는 빠르지만 p95 첫 token과 fan noise가 실패하고 후보 B가 모든 필수 gate를 통과한다면 peak token/s가 낮아도 B를 승인할 수 있습니다.

    이 사례에서 확인할 핵심: Cold·warm, prefill·decode, 동시성 단계와 장시간 부하를 분리해 최소 3회 반복합니다.

CHAPTER 1 / 5

GPU보다 먼저 workload 계약 쓰기

“RTX 5090이면 어떤 LLM까지 되나요?” 또는 “Radeon 16GB면 NVIDIA 16GB와 같나요?”라는 질문은 조건이 빠져 있습니다. 같은 GPU에서도 2K 대화 한 건과 32K 문서 두 건은 Key·Value cache와 queue가 다르고, 대화형 생성과 batch 문서 처리는 첫 token 지연과 throughput의 우선순위가 다릅니다. 먼저 exact model·revision·quantization, 최대 입력·출력 token, 동시 sequence, 필요한 기능과 품질 기준을 한 줄의 workload manifest로 고정해야 비교가 시작됩니다.

품질 기준은 “답이 좋아 보임”이 아니라 업무 결과로 씁니다. 예를 들어 사내 규정 질의는 정답·인용 일치·모르면 보류, coding assistant는 test 통과와 금지 API 사용 여부, 구조화 추출은 schema 유효성과 field 정확도를 측정합니다. 장비가 빨라도 필수 품질이 낮으면 더 큰 model이나 다른 quant를 검토해야 하며, 이때 memory와 latency 조건도 다시 계산합니다. 후보별로 다른 prompt나 쉬운 문제를 주면 GPU 비교가 아니라 서로 다른 시스템 비교가 됩니다.

장비 이름도 exact하게 적습니다. Desktop add-in board, notebook GPU, 메모리 용량 variant, 제조사 board power와 실제 power limit을 분리하고 운영체제에서 device name·VRAM·driver를 확인합니다. 같은 계열 이름이라도 8GB와 16GB variant가 존재할 수 있고 notebook은 전력·냉각 한계가 다릅니다. 판매 페이지 제목이나 검색 결과만 기록하지 말고 공식 사양 URL과 로컬 장치 조회 결과를 함께 보존합니다.

첫 baseline은 이미 가진 CPU나 GPU에서 필수 품질을 통과하는 가장 작은 model로 만듭니다. 그러면 새 GPU의 가치는 단순히 “더 빠름”이 아니라 더 긴 context, 더 높은 precision, 더 큰 model, 더 많은 동시 사용자 또는 더 낮은 전력 중 어떤 요구를 해결하는지 설명할 수 있습니다. 구매 목표가 명확하지 않으면 최고 사양을 사도 실제 업무는 그대로이고, 문제가 생겼을 때 돌아갈 검증된 기준선도 없습니다.

GPU 후보를 업무 계약, 품질 기준, exact 장비 확인, memory 장부, baseline 비교의 다섯 단계로 검증하고 단계마다 남길 증거와 통과 기준, 되돌아갈 자리를 적은 표
그림 읽는 법 GPU 이름이 아니라 업무 계약과 각 단계의 증거가 후보를 통과시킵니다. 통과하지 못한 단계는 보류로 적고 backend·driver·quantization을 한 번에 바꾸지 않습니다.

핵심을 다시 정리하면

  • 정상·경계·실패 입력과 출력 채점 기준을 장비 후보보다 먼저 정합니다.
  • 현재 보유 장비에서 가장 작은 통과 model을 baseline으로 남깁니다.

현실에서 이렇게 연결됩니다

한국어 문서 상담이라면 8K 입력, 800 token 출력, 동시 2명, p95 첫 token 2초, 인용 정확도 95%를 후보를 보기 전에 적습니다.

이 장을 정리하면GPU 추천은 model 이름이 아니라 입력 길이·동시 사용자·품질·응답 지연·운영 위치를 고정한 업무 계약에서 시작합니다.

CHAPTER 2 / 5

VRAM을 weight·cache·workspace 장부로 나누기

가중치의 첫 근사는 parameter 수×저장 bit÷8이지만 실제 artifact에는 tensor별 정밀도, scale·zero point, metadata와 alignment가 들어갑니다. Dense와 Mixture of Experts는 total weight를 저장해야 하고, multimodal model은 vision projector 같은 추가 artifact를 포함할 수 있습니다. 따라서 이름의 B와 Q만 곱한 숫자는 후보를 거르는 출발값이며, 다운로드한 exact 파일 byte와 load 뒤 device allocation으로 교체해야 합니다.

생성 중에는 layer별 Key·Value cache가 context token과 동시 sequence에 따라 증가합니다. Runtime은 graph, kernel workspace, allocator reserve와 임시 tensor도 사용합니다. Desktop compositor, 다른 CUDA·ROCm process가 같은 GPU를 쓰면 model 시작 전 사용 가능 VRAM이 제품 사양보다 작습니다. 안전 장부에는 model weight, cache, workspace, 다른 process와 10~20% 같은 임의 문구가 아니라 실제 부하 변동에서 확인한 headroom을 각각 적습니다.

System RAM과 discrete GPU VRAM은 주소와 이동 경로가 다릅니다. 일부 runtime은 layer 또는 tensor를 CPU RAM에 남기는 offload를 지원하지만, 요청마다 필요한 data가 PCIe를 오가거나 CPU가 연산하면 token/s와 p95가 달라집니다. “RAM 64GB+VRAM 16GB=동일한 80GB GPU”라고 계산하지 않습니다. Offload layer 수, host memory peak, 전송 byte와 link utilization을 profiler에서 확인하고 완전 GPU 기준선과 같은 prompt로 비교합니다.

Memory 실패는 load 성공 여부만으로 끝나지 않습니다. 가장 긴 입력을 prefill한 순간, 목표 출력 길이에 접근할 때, 동시 요청이 겹칠 때와 model reload 중에 peak가 달라질 수 있습니다. 작은 context·동시 1의 성공 기준선부터 한 변수씩 늘리고, Out of Memory가 나면 model·quant·context·batch를 동시에 바꾸지 않습니다. 실패한 입력과 설정을 보존하고 한 항목만 낮춰 같은 요청이 복구되는지 확인해야 장비 한계가 재현됩니다.

16GB GPU의 VRAM을 model weight 9GB, KV cache·runtime workspace 4GB, 안전 여유 2GB, 남음 1GB로 나눈 누적 막대와 항목별 증가 요인·초과 시 바꿀 한 항목을 적은 장부 표
그림 읽는 법 VRAM 총량은 model에게 그대로 주어지지 않습니다. 다섯 항목을 따로 적고 대표·경계 부하의 실제 peak가 안전 여유 안에 들어오는지 확인합니다.

핵심을 다시 정리하면

  • 공유 system memory를 전용 VRAM과 같은 속도의 한 pool로 더하지 않습니다.
  • 부분 offload는 용량 복구일 수 있지만 host-device 이동과 CPU 계산을 새 병목으로 만듭니다.

현실에서 이렇게 연결됩니다

16GB GPU에서 9GB weight, 4GB cache·workspace와 2GB 안전 여유를 쓰면 남는 1GB가 동시 요청 증가를 견디는지 peak 측정으로 확인합니다.

이 장을 정리하면실행 가능 용량은 제품의 VRAM보다 weight artifact, KV cache, runtime workspace, 다른 process와 안전 여유를 모두 뺀 뒤 결정합니다.

CHAPTER 3 / 5

NVIDIA 후보는 CUDA 전체 연결 고리로 검증하기

NVIDIA 공식 제품 사양은 memory 용량·형식, board power와 세대별 기능을 확인하는 1차 자료입니다. 그러나 add-in-card 제조사의 실제 길이·전원 connector·cooler와 notebook power limit은 별도 사양일 수 있습니다. 구매 전 chassis 공간, power supply 용량과 connector, 냉각과 지속 온도를 확인합니다. 30초 생성에서 빠르더라도 20분 부하에서 clock이 낮아지고 소음 제한을 넘으면 일상 업무 조건을 충족하지 못할 수 있습니다.

CUDA application은 CUDA-capable GPU뿐 아니라 build에 맞는 NVIDIA driver가 필요합니다. NVIDIA의 CUDA compatibility 문서는 major release별 minimum driver와 minor-version compatibility의 제한된 feature 조건을 설명합니다. `nvidia-smi` 상단의 CUDA 표시는 설치한 toolkit 전체를 뜻하지 않으므로 driver, application이 포함한 CUDA runtime, framework wheel·container tag를 각각 기록합니다. Initialization error나 missing kernel을 model 품질 문제로 오진하지 않습니다.

Framework가 NVIDIA를 지원해도 모든 GPU와 precision·quantization 조합이 같은 것은 아닙니다. vLLM의 quantization 문서는 method별 supported hardware 표가 바뀔 수 있음을 명시합니다. Exact vLLM version에서 선택한 AWQ·GPTQ·bitsandbytes·FP8 등이 GPU architecture에 맞는지 확인하고, startup log에서 fallback 또는 미지원 feature disable을 찾습니다. Compute capability 숫자 하나도 최종 증거가 아니며 model architecture와 kernel 조합을 실제로 실행해야 합니다.

복구는 알려진 작은 model·공식 container·단일 GPU부터 시작합니다. Device query, 작은 matrix 또는 runtime smoke test, model load, 짧은 generation, 목표 context와 concurrency 순으로 넓힙니다. Driver·CUDA·framework·model을 동시에 최신화하면 어느 경계가 깨졌는지 알 수 없습니다. 이전 image와 driver 조합으로 같은 실패 입력이 회복되는지 확인한 뒤 한 layer씩 바꾸고, 승인 manifest에 성공·실패 log와 version을 함께 남깁니다.

핵심을 다시 정리하면

  • 공식 GPU 사양과 로컬 device query를 대조하고 driver·toolkit 요구조건을 version으로 고정합니다.
  • Compute capability·quant kernel·attention 기능이 실제 build에서 활성화됐는지 log와 profiler로 확인합니다.

현실에서 이렇게 연결됩니다

새 GPU가 운영체제에는 보이지만 오래된 driver 위의 새 CUDA build가 initialization error를 내면 model 크기를 줄여도 호환성 문제는 해결되지 않습니다.

이 장을 정리하면NVIDIA GPU가 장착됐다는 사실과 exact driver·CUDA runtime·framework·model operator가 지원된다는 사실은 서로 다른 gate입니다.

CHAPTER 4 / 5

AMD 후보는 ROCm matrix와 backend 실제 경로로 검증하기

AMD 공식 제품 페이지는 exact Radeon의 memory size·type·bandwidth, board power와 OS 범위를 제공합니다. 예를 들어 RX 9070 XT 공식 페이지의 수치는 그 제품의 사양 근거이지 모든 RX 9000, partner board 또는 LLM runtime의 성능 근거가 아닙니다. Peak FP·INT 수치 역시 정해진 precision과 matrix 조건의 상한입니다. 같은 GB의 NVIDIA와 실제 token/s가 같거나 다르다고 사양표만으로 결론 내리지 않습니다.

ROCm 지원은 GPU만의 속성이 아니라 GPU·운영체제·kernel 또는 Windows/WSL·driver·ROCm·framework version의 조합입니다. AMD 공식 compatibility matrix는 release와 platform에 따라 지원 행을 나눕니다. 다른 release의 표, Instinct용 문서와 Radeon용 문서를 섞지 않고 배포할 exact version의 행을 저장합니다. 목록에 없는 GPU를 환경 변수 override로 실행한 사례는 실험 정보일 수 있지만 공식 production support로 표기하지 않습니다.

llama.cpp는 CUDA, HIP/ROCm, Vulkan 등 여러 backend를 제공하지만 공식 operator 표에도 backend별 완전·부분·미지원이 나뉩니다. Model이 한 번 답했다고 모든 layer와 quant kernel이 GPU에서 실행된 것은 아닙니다. Build option, backend device 목록, offloaded layer 수와 CPU fallback, Flash Attention·KV quant 같은 feature 상태를 log로 확인합니다. Vulkan 성공을 ROCm framework 지원으로 바꾸어 기록하지 않습니다.

AMD 경로의 작은 성공 기준선도 exact build에서 만듭니다. 공식 지원 OS와 driver, 단일 GPU, 지원이 명확한 작은 model·quant로 시작한 뒤 목표 artifact와 context를 한 항목씩 올립니다. 실패하면 error가 install·device discovery·operator·memory·quality 어느 단계인지 분류합니다. 이전 build와 동일 prompt가 복구되는지 확인하고, community workaround를 쓰는 경우 지원 공백·upgrade 위험과 되돌리는 절차를 별도 승인합니다.

핵심을 다시 정리하면

  • ROCm latest라는 이름 대신 release별 Radeon·OS·framework matrix의 exact 행을 기록합니다.
  • HIP·Vulkan·llama.cpp 같은 backend 이름이 같아도 operator·quant·multi-GPU 기능과 속도가 같은 것으로 보지 않습니다.

현실에서 이렇게 연결됩니다

RX 9070 XT의 공식 16GB 사양이 확인돼도 선택한 Windows 또는 Linux release와 vLLM·PyTorch·llama.cpp 경로가 지원되지 않으면 배포 후보는 보류합니다.

이 장을 정리하면AMD GPU는 VRAM 대비 후보 범위를 정한 뒤 exact Radeon·OS·ROCm release·framework와 operator 지원을 하나의 조합으로 확인합니다.

CHAPTER 5 / 5

같은 workload로 구매·배포를 승인하고 되돌리기

비교 manifest에는 model·revision·artifact hash, tokenizer·template, quant, runtime·build·driver, prompt·output token, sampling, context와 concurrency를 고정합니다. 정상 입력뿐 아니라 최대 문서, 빈 검색 결과, 잘못된 형식과 안전 거절 같은 경계·실패 입력을 포함합니다. 후보마다 가장 잘 나오는 별도 설정을 허용해야 한다면 그 차이와 품질 영향을 공개하고, 공통 baseline을 함께 실행해 원인을 해석할 수 있게 합니다.

지표는 단계를 나눕니다. Cold start와 model load·compile, warm Time To First Token(TTFT), prefill token/s, decode token/s, End-to-End latency, 동시 사용자별 request throughput과 실패율을 측정합니다. 평균 하나 대신 p50·p95·최대와 run별 변동을 저장합니다. Peak VRAM, host RAM, GPU utilization, transfer, power·temperature·clock을 함께 보면 memory, CPU queue, thermal throttling과 kernel 병목을 분리할 수 있습니다.

구매 판단에는 장비 가격 하나뿐 아니라 power supply·chassis·냉각 변경, 전력, 설치·driver 유지보수와 장애 시간을 포함합니다. 숫자를 임의의 종합 점수 하나로 합치면 필수 조건 실패가 평균에 숨을 수 있습니다. “품질 95% 이상, p95 TTFT 2초 이하, peak VRAM 90% 이하, 20분 지속 부하에서 오류 0”처럼 반드시 통과할 gate와 선호 지표를 구분합니다. 가격은 시점·지역별 견적을 별도 날짜로 기록합니다.

승인 전에는 이전 CPU/GPU backend로 rollback하고 같은 실패 workload가 회복되는지 재시험합니다. 새 driver나 runtime이 문제라면 장비 교체 없이 image를 되돌릴 수 있어야 하고, hardware 장애라면 요청을 이전 장치나 더 작은 model로 제한하는 runbook이 필요합니다. 최종 기록은 “NVIDIA가 AMD보다 낫다”가 아니라 “이 exact 조합이 이 workload 계약을 이 날짜의 증거로 통과했다”여야 하며, version이나 업무가 바뀌면 다시 평가합니다.

핵심을 다시 정리하면

  • Cold·warm, prefill·decode, 동시성 단계와 장시간 부하를 분리해 최소 3회 반복합니다.
  • 통과하지 못한 후보를 결과를 본 뒤 낮춘 목표로 승인하지 않고 보류 사유와 대안을 남깁니다.

현실에서 이렇게 연결됩니다

후보 A가 decode는 빠르지만 p95 첫 token과 fan noise가 실패하고 후보 B가 모든 필수 gate를 통과한다면 peak token/s가 낮아도 B를 승인할 수 있습니다.

이 장을 정리하면최종 선택은 최고 peak 사양이 아니라 동일 조건에서 필수 품질, memory, p95 지연, 지속 처리량, 전력·소음과 rollback을 모두 통과한 후보입니다.

INTERACTIVE LAB 1 / 2

실습 1 · GPU 용량·호환성 승인 실습

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

Exact GPU의 memory·software 적합성 승인하기

GPU 제품명만 고르는 대신 weight·cache·workspace와 exact 지원·실행·rollback 증거를 하나의 gate에서 판정합니다. 기본값은 일부러 실패합니다.

상황
RTX 4060 Ti 8GB에 5.2GiB artifact가 들어간다는 이유로 승인했지만 최대 context에서 OOM이 나고 일부 layer는 CPU로 실행됩니다.
목표
Exact 장치의 VRAM 안전선과 공식 GPU·OS·driver·runtime·quant 조합, 실제 execution path를 함께 확인합니다.
준비 조건
공식 제품 사양, 로컬 device·VRAM 조회, exact artifact, 목표 부하의 cache·workspace peak, compatibility matrix와 profiler log를 준비합니다.
성공 조건
실행 예산이 VRAM 90% 이하이고 exact 지원, GPU 배치·fallback 0과 이전 backend 복구가 모두 확인됩니다.
  1. 실제 장치와 VRAM variant를 선택하고 artifact·cache·workspace의 측정값을 넣습니다.
  2. 공식 matrix의 exact 행과 startup log·profiler, rollback 증거를 반영합니다.
  3. GPU 적합성 gate 실행 후 작은 성공 기준선에서 한 항목씩 바꿔 같은 실패 입력을 복구합니다.

증빙 한계: GPU 목록과 model 범위는 후보를 좁히는 보수적 출발점입니다. 이 browser는 실제 device, driver, artifact 또는 profiler를 실행하지 않으므로 공식 matrix·로컬 peak·품질 결과를 대체하지 않습니다.

INTERACTIVE LAB 2 / 2

실습 2 · 동일 workload 구매 승인 실습

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

같은 workload의 품질·p95·지속 성능으로 구매 승인하기

Peak TOPS나 한 번의 token/s가 아니라 사전에 정한 품질, 사용자 지연, memory와 장시간 안정성, rollback을 함께 판정합니다. 기본값은 일부러 실패합니다.

상황
새 16GB GPU가 짧은 warm 생성에서는 빨랐지만 한국어 정확도가 기준에 못 미치고 p95 TTFT가 목표를 초과하며 20분 뒤 clock이 떨어졌습니다.
목표
Baseline과 candidate를 동일 manifest에서 비교하고 필수 품질·지연·memory·지속 부하 gate를 모두 통과시킵니다.
준비 조건
Exact artifact·runtime·driver, 정상·경계·실패 평가, cold·warm·동시성 3회 이상 결과, profiler·전력·온도와 rollback log를 준비합니다.
성공 조건
품질·p95·decode·90% memory·20분 지속 처리량이 목표를 통과하고 동일 계약·thermal·rollback 증거가 있습니다.
  1. 결과를 보기 전에 필수 품질·p95 TTFT·decode 목표와 candidate VRAM을 고정합니다.
  2. 동일 workload의 측정값, peak VRAM과 20분 뒤 처리량 유지율을 넣습니다.
  3. 구매 benchmark gate 실행 후 목표를 낮추지 말고 candidate 또는 실행 조건 하나만 바꿔 재시험합니다.

증빙 한계: 입력값과 checkbox는 측정 절차를 연습하기 위한 자기 보고입니다. 실제 구매 승인은 command·log·평가 원본, 전력·온도 시계열과 tested rollback artifact를 요구합니다.

KEY TERMS

이번 단원 핵심 용어

VRAM
Discrete GPU가 직접 사용하는 memory로 제품 총량과 현재 process가 안전하게 사용할 수 있는 양을 구분해야 하는 자원
Offload
가중치·연산 일부를 CPU RAM이나 다른 GPU에 배치해 용량을 보완하지만 이동·계산 병목을 새로 만들 수 있는 실행 방식
TTFT
Time To First Token으로 요청을 보낸 뒤 첫 출력 token이 보일 때까지의 사용자 지연
Compatibility matrix
GPU·OS·driver·runtime·framework·feature의 공식 지원 조합을 version별로 나타낸 표

UNIT WORKBOOK

개념을 새로운 상황에 적용하는 문제와 기록지

기본 원리 확인에서 시작해 실제 업무 판단으로 확장합니다. 답을 제출하면 정답만이 아니라 모든 선택지가 맞거나 틀린 이유를 확인할 수 있습니다.

기본 문제 1

온라인 판매 제목에 “RTX 4060 Ti”라고만 적힌 GPU를 LLM 장비 표에 기록하는 방법으로 가장 안전한 것은 무엇입니까?

답 선택
기본 문제 2

8GiB GPU에서 weight 5.2GiB, 목표 부하 KV cache 1.8GiB, runtime workspace 1.0GiB를 쓸 때 90% 안전선 판단은 무엇입니까?

답 선택
적용 문제 3

NVIDIA GPU가 nvidia-smi에는 보이지만 새 vLLM container에서 initialization error가 납니다. 첫 진단으로 가장 적절한 것은 무엇입니까?

답 선택
적용 문제 4

16GB Radeon 후보에서 GGUF가 Vulkan으로 한 번 답했습니다. 이를 production ROCm·vLLM 지원 증거로 기록해도 됩니까?

답 선택
종합 문제 5

한국어 문서 상담용 NVIDIA·AMD GPU 후보를 구매 승인하는 계획 중 가장 완성된 것은 무엇입니까?

Exact model·quant, 16K 입력, 동시 2명, 인용 정확도 95%, p95 TTFT 2초, peak VRAM 90% 이하가 필수이며 장애 시 기존 CPU backend로 돌아가야 합니다.

답 선택

PERSONAL WORKSHEET

내 환경에 옮겨 적는 학습 기록지

입력 내용은 현재 브라우저 화면에만 머물며 저장하거나 외부로 전송하지 않습니다. 민감한 실제 정보 대신 범주와 가명을 사용하십시오.

OFFICIAL SOURCES

공식 자료에서 다시 확인하기

기술·호환성·모델 정보 검토 연월: 2026년 8월

CORE UNIT 3 / 3

DGX Spark와 AI 워크스테이션

개인용 AI system을 통합 메모리 용량·대역폭·CPU architecture·software 생태계와 실제 inference·LoRA·서비스 workload 증거로 선택합니다.

난이도
실전
구성
강의 5개 · 실습 2개 · 평가

도해·표 자료: 각 강의의 공식 1차 출처를 바탕으로 저자 구성. 원문과 검토일은 해당 강의 끝에서 확인합니다.

NEW HIRE ONBOARDING

첫 업무를 받는 순서로 시작합니다

중학교를 졸업하고 처음 IT 업무를 맡은 신입사원도 따라올 수 있도록, 어려운 정의보다 상황·할 일·증거·보고할 경계를 먼저 확인합니다.

  1. 01

    상황을 한 문장으로 읽기

    70B Q4 개인 대화와 14B model 동시 사용자 8명의 API는 비슷한 memory를 요구할 수 있어도 throughput·운영 기준은 완전히 다릅니다.

  2. 02

    오늘 맡은 일

    개인용 AI system을 통합 메모리 용량·대역폭·CPU architecture·software 생태계와 실제 inference·LoRA·서비스 workload 증거로 선택합니다.

  3. 03

    완료를 보여 주는 증거

    Training 가능 문구는 full training, LoRA·QLoRA의 precision·batch·checkpoint 조건으로 풀어 씁니다.

  4. 04

    멈추고 선임에게 확인할 경계

    한 대가 실패했을 때 멈춰도 되는지와 cloud·기존 장비 복구 경로를 적습니다.

낯선 용어 먼저 풀기

Unified memory
CPU와 GPU가 하나의 물리 memory pool에 접근하는 구조로 실제 allocation·동기화와 OS·application 경합을 runtime별로 확인해야 하는 방식
Memory bandwidth
1초에 memory에서 읽고 쓸 수 있는 data 양이며 공식 peak와 workload의 effective 값을 구분하는 지표
ARM64
DGX Spark 등에서 쓰이는 64-bit Arm instruction set architecture로 x86_64 전용 binary·container와 호환성을 별도 확인해야 하는 host 조건

PREREQUISITE CHECK

본문을 읽기 전에 확인할 세 가지

정답을 외우는 시험이 아닙니다. 질문을 먼저 생각한 뒤 해설을 열어 이번 과목에서 사용할 바탕 개념을 확인하십시오.

1Unified memory의 전체 용량은 GPU가 독점하는 전용 VRAM과 같은 뜻입니까?

아닙니다. CPU와 GPU가 같은 physical pool에 접근하며 운영체제, display, application, weight·cache·workspace가 함께 사용합니다. 실제 단계별 peak와 사용 가능량을 측정해야 합니다.

2Model을 memory에 load할 수 있으면 대화 속도와 LoRA·다중 사용자 서비스도 자동으로 충분합니까?

아닙니다. Load는 capacity gate 하나입니다. Decode bandwidth, prefill·training compute, activation·optimizer, queue·p95와 장시간 power·thermal, 운영 복구를 목적별로 시험해야 합니다.

3ARM64와 x86_64는 왜 AI system 선택에 중요합니까?

CPU instruction set이 달라 container image, wheel과 native extension이 한 architecture만 지원할 수 있습니다. GPU runtime뿐 아니라 RAG·database·OCR·monitoring 전체 dependency를 exact host에서 실행해야 합니다.

TEXTBOOK GUIDE

개념의 배경부터 판단 기준까지 읽는 본문

IT를 처음 접하는 독자도 용어를 암기하지 않고 원인과 결과를 연결할 수 있도록 한 절씩 이어서 설명합니다.

CONCEPT FLOW

각 장은 이렇게 연결됩니다

각 장은 따로 외우는 단답이 아닙니다. 왼쪽에서 오른쪽으로 따라가며 앞 장의 개념이 다음 판단에 어떻게 쓰이는지 먼저 살펴보세요.

  1. 1장제품보다 먼저 개인 AI system의 역할 정하기
  2. 2장통합 memory의 큰 용량과 bandwidth·경합 분리하기
  3. 3장DGX Spark의 ARM64·CUDA 조건과 최대 model 문구 해석하기
  4. 4장Ryzen AI Max+와 Apple Silicon을 memory·runtime 경로로 비교하기
  5. 5장Inference·LoRA·다중 사용자 운영을 분리해 승인하기
DGX Spark와 AI 워크스테이션의 전체 지도입니다. 아래 장문 해설과 각 장을 읽다가 길을 잃으면 이 순서로 돌아오세요.

CONTROLLED EXPLANATION

개념이 이어지는 순서를 직접 살펴보기

자동으로 시작하지 않습니다. 재생하거나 이전·다음 단계를 선택하면 현재 개념과 다음 판단의 연결을 차례로 설명합니다.

현재 설명 · 1/5

제품보다 먼저 개인 AI system의 역할 정하기

큰 model을 load하는 개인 실험, adapter 학습, 여러 사용자의 24시간 API는 서로 다른 memory·지연·가용성 계약을 요구합니다.

Exact model·precision·context·동시성과 필수 품질을 장비 후보보다 먼저 고정합니다.

다음 연결: 통합 memory의 큰 용량과 bandwidth·경합 분리하기에서 이 기준을 이어서 사용합니다.

전체 단계의 글 설명 보기
  1. 1. 제품보다 먼저 개인 AI system의 역할 정하기

    큰 model을 load하는 개인 실험, adapter 학습, 여러 사용자의 24시간 API는 서로 다른 memory·지연·가용성 계약을 요구합니다. Exact model·precision·context·동시성과 필수 품질을 장비 후보보다 먼저 고정합니다.

  2. 2. 통합 memory의 큰 용량과 bandwidth·경합 분리하기

    CPU와 GPU가 주소 공간을 공유하면 별도 VRAM보다 큰 artifact를 배치하기 쉽지만 OS·CPU·GPU가 같은 용량과 bandwidth를 나누므로 전체 memory를 weight로 채울 수 없습니다. 제품 총 memory에서 OS·display·application·cache·workspace와 안전 여유를 각각 뺍니다.

  3. 3. DGX Spark의 ARM64·CUDA 조건과 최대 model 문구 해석하기

    DGX Spark는 128GB LPDDR5x unified memory와 NVIDIA software stack을 제공하지만 ARM64 host·273GB/s 공식 bandwidth·software version과 model 조건을 함께 검증해야 합니다. 공식 최대 model 수치는 exact precision·software·workload의 조건부 capability로 기록합니다.

  4. 4. Ryzen AI Max+와 Apple Silicon을 memory·runtime 경로로 비교하기

    Ryzen AI Max+ 계열과 Mac Studio는 모두 큰 unified memory 구성이 가능하지만 x86·ROCm/other backend와 Apple MLX·Metal 생태계, 제품별 bandwidth·memory 구성이 다릅니다. Processor 최대 memory와 실제 완제품 configuration·firmware GPU 할당을 구분합니다.

  5. 5. Inference·LoRA·다중 사용자 운영을 분리해 승인하기

    큰 model load, adapter 학습과 24시간 service는 필요한 memory·storage·network·관측·가용성이 달라 별도의 workload와 rollback 시험을 가져야 합니다. Training 가능 문구는 full training, LoRA·QLoRA의 precision·batch·checkpoint 조건으로 풀어 씁니다.

움직임을 보지 않아도 아래 글 설명에서 같은 내용을 확인할 수 있습니다. 운영체제의 움직임 줄이기 설정도 따릅니다.
개념 해설 01

AI box라는 제품군보다 해결할 업무와 failure domain을 먼저 정한다

Personal AI system은 CPU와 GPU가 통합된 compact box, Apple Silicon workstation, NVIDIA software stack을 묶은 개발 system처럼 서로 다른 제품을 포함합니다. 모두 책상 위에서 큰 model을 다룬다고 설명할 수 있지만 CPU architecture, memory bandwidth, accelerator와 운영체제·runtime이 다릅니다. 제품 크기나 “AI computer” 이름은 내 artifact가 load되고 필요한 operator가 실행된다는 근거가 아닙니다. Exact 구성과 workload를 한 행으로 만들어 비교합니다.

업무를 한 사용자의 대화형 inference, 문서 batch, LoRA·QLoRA, 여러 사용자의 API로 나눕니다. 예를 들어 70B Q4 한 명 대화는 큰 weight를 담는 capacity가 중요하지만 14B 동시 8명 service는 KV cache·queue와 p95가 더 중요할 수 있습니다. LoRA는 activation·gradient·optimizer와 checkpoint가 필요해 동일한 base model의 inference보다 memory·storage를 더 씁니다. 하나의 최대 model 숫자로 세 목적을 동시에 승인하지 않습니다.

Data boundary와 가용성도 먼저 씁니다. Local system은 원문을 내부에 둘 수 있지만 account, telemetry, remote management, model download와 log가 외부와 연결될 수 있습니다. Box 한 대와 내부 SSD 한 개에 service와 artifact가 모두 있으면 hardware 장애가 전체 중단과 data 손실로 이어집니다. 허용 downtime, backup 위치, spare·cloud 또는 기존 장비 fallback과 실제 복구 시간을 업무 계약에 넣습니다.

현재 장비의 품질·지연 baseline을 남기고 새 box가 해결할 한계를 명시합니다. 목표가 없는 상태에서 큰 memory만 구매하면 model은 load돼도 속도·software·운영이 맞지 않을 수 있습니다. 후보를 가린 채 동일 artifact·입력·출력·동시성과 평가 rubric을 실행하고, 필수 gate에 실패한 system은 광고의 최대 수치와 관계없이 보류합니다.

왜 이런가
같은 memory 용량도 inference·training·service가 요구하는 cache·activation·queue와 복구 책임이 다르기 때문입니다.
언제 문제가 되는가
목적을 섞으면 큰 model load 성공을 LoRA·동시 사용자·24시간 availability의 통과로 오판할 수 있습니다.
초보자가 자주 하는 오해
AI box라는 이름이 같은 제품은 비슷한 runtime과 속도·가용성을 제공하거나 한 대면 개발부터 production까지 모두 충분한 것이 아닙니다.
직접 확인하는 방법
Exact model·precision·context·동시성, 품질·p95·job 시간과 장애 허용·fallback을 후보 이름 없이 먼저 작성하십시오.
이 절을 정리하면Compact AI system은 큰 model 실험·LoRA·개인 RAG·다중 사용자 service 중 무엇을 맡는지와 한 대 장애를 얼마나 허용하는지에 따라 평가가 달라집니다.
개념 해설 02

Unified memory 총량에서 OS·application·cache·workspace를 차감한다

Unified memory는 CPU와 GPU가 하나의 physical pool에 접근할 수 있어 discrete VRAM보다 큰 weight를 배치하기 쉽습니다. 그러나 운영체제, desktop display, filesystem cache, tokenizer와 database도 같은 총량을 사용합니다. 예를 들어 128GB system에서 OS·application 10GB, weight 82GB, KV·workspace 22GB와 안전 여유 12GB를 잡으면 새 concurrency에 남는 공간은 2GB입니다. 제품 memory 전체를 artifact byte와 같다고 두지 않습니다.

Model 이름으로 weight를 추정한 뒤 exact file byte와 load allocation으로 교체합니다. Quant scale·metadata, mixed tensor, vision projector와 MoE total weight가 이름 계산에 빠질 수 있습니다. KV cache는 context와 concurrent sequence에 따라 늘고 training은 activation·gradient·optimizer가 추가됩니다. Load, 최대 prefill, 긴 decode, 목표 concurrency와 training step에서 system 전체와 accelerator allocation peak를 따로 측정합니다.

Memory 보고 도구의 의미도 system별로 확인합니다. Unified architecture에서는 CPU와 GPU 사용량을 중복 또는 다른 관점으로 보일 수 있고 display reserved memory·firmware 설정이 가용량을 바꿀 수 있습니다. 한 숫자만 저장하지 말고 process resident, system available, GPU allocation과 swap·memory pressure를 시간축으로 수집합니다. Tool이 “VRAM 0” 또는 unsupported라고 표시하는 경우 공식 문서의 권장 보고 경로를 사용합니다.

실패 복구는 가장 작은 model·context·batch로 돌아가 한 항목씩 확장합니다. Swap이 켜져 OOM 없이 계속됐더라도 storage I/O 때문에 p95 지연이나 training step 소요 시간이 급증할 수 있으므로 성공으로 처리하지 않습니다. Quant를 낮췄다면 품질 회귀를, context를 줄였다면 업무 completeness를 다시 평가하고 이전 artifact·설정으로 같은 실패가 회복되는지 확인합니다.

왜 이런가
하나의 physical pool을 여러 system component가 공유하고 workload 단계마다 allocation이 달라 제품 총량이 process의 안전 예산과 같지 않기 때문입니다.
언제 문제가 되는가
Weight load만 확인하면 최대 context·동시성·training step에서 memory pressure, swap과 OOM이 처음 나타날 수 있습니다.
초보자가 자주 하는 오해
Unified memory는 GPU가 총 memory를 독점하거나 capacity 부족과 data movement·동기화 비용을 없애는 기술이 아닙니다.
직접 확인하는 방법
시작·load·prefill·decode·목표 concurrency 또는 training step에서 OS·app·weight·cache·workspace·swap peak를 한 장부로 기록하십시오.
이 절을 정리하면128GB unified memory는 GPU 전용 128GB가 아니며 CPU·GPU·OS와 application이 함께 쓰는 pool이므로 단계별 실제 peak로 사용 가능량을 정해야 합니다.
개념 해설 03

Capacity와 bandwidth·compute·power ceiling을 분리한다

작은 batch decode는 weight를 반복 읽는 비중이 커 memory bandwidth 제한을 받기 쉽습니다. 예를 들어 token당 유효 read 80GB, effective bandwidth 240GB/s라면 단순 memory ceiling은 약 3 token/s입니다. Cache reuse와 quant kernel에 따라 가정이 달라지므로 이 식은 정확한 예측이 아니라 실측과 단위의 모순을 찾는 sanity check입니다. 공식 peak bandwidth를 그대로 넣지 않고 profiler의 유효값을 사용합니다.

긴 prompt prefill과 training은 matrix compute와 activation·memory traffic의 조합이 다릅니다. 제품의 FP4 sparsity TOPS를 BF16 LoRA throughput이나 모든 LLM token/s로 바꾸지 않습니다. Exact operator·precision이 hardware unit을 사용하고 runtime kernel이 지원하는지 profiler에서 확인합니다. Candidate가 다른 quant만 지원하면 품질과 artifact 차이를 공개하고 공통 높은 precision baseline을 함께 둡니다.

Power와 thermal도 ceiling을 움직입니다. Compact system은 짧은 burst에서 높은 clock을 보이다가 장시간 생성·training에서 temperature 또는 power limit에 닿을 수 있습니다. Wall power, SoC 또는 package power, clock·temperature와 token/s·step/s를 같은 시간축으로 기록합니다. 30초 demo와 30분 job을 같은 지속 성능으로 보고하지 않으며 사무실 소음·room temperature 조건도 적습니다.

두 번째 실습에서는 공식 bandwidth·TOPS를 직접 순위로 만들지 않고 업무 품질, p95·job time, memory peak와 30분 유지율을 함께 판정합니다. 결과가 실패하면 목표를 사후에 낮추지 않고 model·runtime·power mode나 system 후보 중 한 항목만 바꿉니다. 더 느려도 모든 필수 gate를 안정적으로 통과하는 후보가 실제로 더 적합할 수 있습니다.

왜 이런가
Capacity, data 공급률, 연산률과 장시간 power 상태는 서로 다른 물리 제약이며 workload 단계마다 먼저 닿는 제한이 달라집니다.
언제 문제가 되는가
최대 model load 또는 peak TOPS만 보면 대화 token/s, 긴 prefill과 training step·지속 부하 실패를 구매 후 발견하게 됩니다.
초보자가 자주 하는 오해
Memory가 크면 반드시 빠르거나 공식 bandwidth·TOPS가 큰 system이 모든 precision·runtime에서 항상 우세한 것은 아닙니다.
직접 확인하는 방법
같은 manifest에서 load·prefill·decode·training과 30분 부하의 effective bandwidth, 지연·처리량, power·temperature를 분리해 측정하십시오.
이 절을 정리하면큰 model이 memory에 들어가도 매 token에 읽는 byte와 유효 bandwidth, operator compute·전력 제한이 실용 속도를 따로 결정합니다.
개념 해설 04

DGX Spark 공식 사양과 200B 문구를 조건부 capability로 읽는다

NVIDIA 공식 hardware 문서는 DGX Spark가 Grace Blackwell architecture, 20-core Arm processor, 128GB LPDDR5x unified system memory와 273GB/s bandwidth를 사용한다고 명시합니다. 240W supplied power adapter와 140W GB10 TDP, storage와 10GbE·ConnectX-7도 system 조건입니다. 이 사양을 desktop RTX의 GDDR VRAM 또는 datacenter GPU HBM과 같은 memory path로 표시하지 않습니다.

공식 최대 200B model 또는 dual system의 더 큰 model 지원은 어떤 artifact·precision·context·software에서 가능한지 풀어 써야 합니다. 200B parameter가 200GB file이나 일정 token/s를 뜻하지 않으며 MoE는 activated보다 total weight가 load 조건을 정할 수 있습니다. 먼저 official example의 exact image·model을 재현하고 file byte·memory peak·token/s를 확인한 뒤 내 업무 model과 평가 세트로 교체합니다.

한 대와 두 대도 같은 system이 아닙니다. Dual configuration은 network link, model split·runtime 지원과 통신을 추가합니다. 두 system의 memory 합계를 단일 pool처럼 처리하지 않고 placement, link byte·latency, 실패 시 partial system과 recovery를 검증합니다. 큰 model이 분산 load되어도 단일 사용자의 p95와 동시 처리량이 목표를 만족하는지 별도 측정합니다.

제품 페이지와 user guide는 업데이트되므로 검토 날짜와 exact DGX OS·driver·CUDA, firmware를 고정합니다. Release note의 known issue와 unified memory reporting 변경을 확인하고 update 전 이전 image와 model artifact를 보존합니다. Update 뒤 작은 sample→목표 model→경계 workload 순으로 재시험하며 문제가 나면 이전 system image에서 같은 요청이 회복되는지 확인합니다.

왜 이런가
제품 capability는 특정 architecture·memory·power·software와 artifact 조건의 결합이며 parameter 숫자만으로 실행 결과를 정할 수 없기 때문입니다.
언제 문제가 되는가
최대 model 문구를 구매 보증으로 쓰면 실제 artifact·context가 들어가지 않거나 속도·quality·dual 통신이 목표를 못 맞출 수 있습니다.
초보자가 자주 하는 오해
DGX 이름이 datacenter GPU와 동일한 HBM·x86 environment를 뜻하거나 200B 이하 모든 model이 같은 속도와 기능으로 실행되는 것은 아닙니다.
직접 확인하는 방법
Exact DGX OS·firmware·container·model·precision·context에서 official example와 내 workload의 file byte·peak·품질·p95를 각각 저장하십시오.
이 절을 정리하면DGX Spark의 128GB·273GB/s·ARM64·CUDA stack과 최대 model 문구는 exact hardware·software 조건이며 내 model의 품질·속도 보증이 아닙니다.
개념 해설 05

ARM64 host와 NVIDIA software stack의 전체 workflow 호환성을 확인한다

DGX Spark의 CPU는 ARM64입니다. Model server가 공식 ARM image를 제공하더라도 주변 Python wheel, vector database, OCR, audio codec와 custom CUDA extension이 x86_64 binary만 제공할 수 있습니다. Container manifest와 package wheel tag를 확인하고 multi-arch image 또는 source build가 가능한지 조사합니다. “CUDA 지원”만 보고 전체 RAG·agent workflow를 옮기지 않습니다.

예를 들어 model generation은 정상인데 document parser가 실행되지 않거나 browser automation image가 없으면 사용자의 업무는 완료되지 않습니다. Manifest에 model runtime뿐 아니라 ingestion, embedding·reranker, database, API gateway와 monitoring component를 모두 나열합니다. 각 component의 architecture, version·license, test command와 대체 경로를 적고 작은 end-to-end request를 실행합니다.

Source build는 해결책이지만 compiler·library version과 시간이 새 운영 부담이 됩니다. 성능이 낮은 fallback이나 unsupported patch를 사용하면 upgrade마다 다시 빌드해야 할 수 있습니다. Build recipe와 hash, cache·artifact 저장소, failure log를 보존하고 clean machine 또는 container에서 재현합니다. Community patch를 NVIDIA 공식 support와 같은 상태로 기록하지 않습니다.

복구는 알려진 official container와 작은 sample에서 시작해 주변 component를 한 개씩 추가합니다. System update, container base와 application dependency를 동시에 올리지 않습니다. x86 baseline에서 같은 input이 통과하는지와 ARM candidate에서 최초 실패 component를 비교합니다. Production 후보라면 dependency update 책임자와 이전 image rollback, security update 지연의 한계도 승인표에 남깁니다.

왜 이런가
LLM service는 GPU runtime 밖의 host binary와 native extension에 의존하고 instruction set이 다르면 package 자체가 실행되지 않을 수 있기 때문입니다.
언제 문제가 되는가
Model demo만 성공시키면 실제 RAG·agent·media workflow의 x86-only component가 구매 후 처음 막힐 수 있습니다.
초보자가 자주 하는 오해
CUDA application이면 host architecture와 상관없이 모든 x86 container·wheel이 ARM64에서 그대로 실행된다고 볼 수 없습니다.
직접 확인하는 방법
End-to-end component inventory에서 image architecture·wheel·native extension을 확인하고 clean ARM environment에서 정상·실패 request를 재현하십시오.
이 절을 정리하면GPU kernel이 CUDA를 사용해도 tokenizer·database·OCR·extension과 container가 x86_64 전용이면 DGX Spark의 ARM64 workflow가 중단될 수 있습니다.
개념 해설 06

Ryzen AI Max+는 processor 최대와 exact 완제품·ROCm 경로를 분리한다

AMD Ryzen AI Max+ 395 공식 page는 16-core Zen 5 CPU, Radeon 8060S, 256-bit LPDDR5x, 최대 128GB와 45~120W configurable TDP를 제시합니다. 이 최대값은 모든 laptop·desktop의 실제 구성이 아닙니다. Vendor가 선택한 32·64·96·128GB memory, speed·channel, cooling과 power profile을 exact product page에서 확인합니다. Soldered memory는 구매 후 확장할 수 없는 경우가 많으므로 미래 workload도 보수적으로 계산합니다.

AMD Halo developer platform처럼 exact system 문서는 128GB, 256GB/s, 120W 같은 조합을 명시할 수 있습니다. 이 값은 해당 platform의 공식 조건이며 다른 Ryzen AI Max+ 제품에 그대로 적용하지 않습니다. Firmware의 GPU memory allocation 또는 dynamic behavior, OS가 남기는 memory와 display 사용을 로컬 측정합니다. “최대 128GB”와 “GPU가 128GB를 독점”을 같은 문장으로 쓰지 않습니다.

ROCm은 exact APU·OS·driver·release·framework matrix를 확인합니다. Radeon 8060S가 화면에 보이거나 Vulkan GGUF가 실행되는 사실이 PyTorch training·vLLM의 공식 지원을 뜻하지 않습니다. llama.cpp HIP·Vulkan, Ollama와 framework마다 operator·quant·multi-user feature가 다릅니다. 목표 application의 startup log와 device placement, CPU fallback을 확인합니다.

TDP·memory allocation·backend를 한 번에 바꾸지 않고 작은 support model부터 확장합니다. Linux와 Windows 결과를 섞지 않으며 workaround를 쓰면 support gap과 upgrade·rollback 비용을 기록합니다. Exact model의 품질·p95, memory pressure와 30분 sustained result가 목표를 통과해야 processor의 큰 memory가 실제 가치가 됩니다.

왜 이런가
Processor vendor가 허용하는 최대와 완제품 제조사의 memory·power·cooling, software release 조합이 서로 다른 결정이기 때문입니다.
언제 문제가 되는가
CPU 이름만 보고 구매하면 실제 제품 memory가 작거나 target framework가 미지원이고 thermal limit으로 지속 성능이 낮을 수 있습니다.
초보자가 자주 하는 오해
Ryzen AI Max+ 395가 들어간 모든 제품은 128GB·동일 bandwidth·120W이며 모든 ROCm application이 자동 지원된다는 생각은 틀립니다.
직접 확인하는 방법
Exact 완제품의 RAM·speed·power·firmware와 ROCm matrix 행, runtime device log·30분 workload를 하나의 manifest로 연결하십시오.
이 절을 정리하면Ryzen AI Max+의 최대 128GB와 cTDP는 processor 범위이며 실제 box의 soldered memory·bandwidth·power·firmware와 software matrix가 구매 조건입니다.
개념 해설 07

Apple Silicon은 exact chip·unified memory option과 MLX·Metal 경로로 검증한다

Apple 공식 Mac Studio 사양은 M4 Max와 M3 Ultra, GPU core와 unified memory option, 410·546·819GB/s 같은 bandwidth 구성이 다름을 보여 줍니다. “Mac Studio 128GB”처럼 memory만 적지 않고 exact chip·GPU·memory·storage와 macOS version을 기록합니다. 공식 bandwidth를 내 model token/s로 직접 환산하지 않고 같은 artifact·context에서 effective throughput을 측정합니다.

Apple MLX 공식 문서는 Apple Silicon CPU와 GPU가 unified memory array에 접근하는 model을 설명합니다. MLX LM은 model load·generation·fine-tuning 도구를 제공하지만 exact model architecture, quant와 feature 지원은 version별로 확인해야 합니다. MLX용 artifact와 GGUF·Hugging Face checkpoint를 같은 file로 간주하지 않고 source revision, conversion과 hash를 기록합니다.

CUDA-only container, custom extension과 일부 server framework는 macOS·Metal에서 직접 실행되지 않습니다. 대체 runtime으로 옮기면 API, batching, structured output, quant와 quality가 달라질 수 있습니다. 개인 inference가 편하다는 사실을 multi-user production 지원으로 바꾸지 않습니다. 필요한 component inventory를 만들고 macOS native, container VM 또는 외부 service 중 실제 path를 end-to-end로 시험합니다.

복구는 exact macOS·MLX·model bundle을 고정하고 작은 sample→업무 model→최대 context→LoRA 또는 service 순으로 넓힙니다. OS update 뒤 quality·latency가 바뀌면 model과 runtime을 동시에 교체하지 않습니다. 이전 environment와 artifact로 같은 failure input이 회복되는지 확인하고 CUDA-only dependency가 필수라면 Mac 후보를 보류하거나 별도 NVIDIA node를 설계합니다.

왜 이런가
Apple Silicon의 성능·용량과 software 기능은 chip·memory option·macOS·MLX/Metal runtime 조합에서 결정되기 때문입니다.
언제 문제가 되는가
Memory GB만 보면 낮은 bandwidth 구성이나 CUDA-only dependency, 필요한 serving feature 공백을 구매 후 발견할 수 있습니다.
초보자가 자주 하는 오해
모든 Mac Studio가 같은 bandwidth·GPU를 가지거나 unified memory면 CUDA software도 번역 없이 실행되는 것은 아닙니다.
직접 확인하는 방법
Exact chip·memory·bandwidth·macOS와 MLX/llama.cpp version·artifact, end-to-end dependency와 업무 품질·p95를 함께 기록하십시오.
이 절을 정리하면Mac Studio의 memory와 bandwidth는 chip·configuration별로 다르고 MLX·Metal·llama.cpp 지원은 CUDA-only workflow와 별도입니다.
개념 해설 08

Inference·LoRA·service를 별도 memory·storage·운영 시험으로 승인한다

Inference 장부에는 weight, KV cache와 runtime workspace가 들어갑니다. LoRA·QLoRA는 activation, trainable parameter, gradient, optimizer와 batch가 추가되고 full fine-tuning은 범위가 훨씬 큽니다. 예를 들어 공식 “fine-tune up to N B” 문구가 있다면 method, precision, sequence·batch, adapter rank와 checkpoint 조건을 확인합니다. 한 번 step이 실행된 것과 목표 dataset이 시간·quality gate 안에 완료된 것은 다릅니다.

Storage에는 base·quant·adapter, optimizer checkpoint, dataset와 evaluation output이 쌓입니다. Internal SSD 용량과 sustained write, free space·encryption을 확인하고 download·load와 checkpoint 시간을 측정합니다. System disk와 유일한 artifact가 같은 box에 있으면 장애 시 모두 잃을 수 있습니다. External 또는 network backup에서 exact model·config와 secret 제외 data를 실제 restore해 hash와 완료 시간을 확인합니다.

Service는 authentication, rate limit, queue·admission, log privacy와 monitoring이 필요합니다. Restart 뒤 model warm-up, concurrent context의 memory fragmentation, p95·p99와 error rate를 측정합니다. Compact box 한 대는 network·power와 hardware single point of failure이므로 목표 availability에 따라 spare, cloud fallback 또는 작은 emergency model을 둡니다. 개인 desktop success를 production readiness로 표시하지 않습니다.

각 목적은 정상·경계·실패 workload를 최소 3회 실행하고 품질, load·job·p95 시간, memory·storage peak, power·temperature와 오류를 남깁니다. Training OOM, disk full, network loss와 service restart를 의도적으로 복구합니다. 이전 장비·cloud로 같은 job 또는 request가 회복돼야 변경을 승인하며, 통과하지 않은 목적은 별도로 hold로 남깁니다.

왜 이런가
Inference, training과 service는 weight 이외의 activation·optimizer·checkpoint·queue·availability 자원이 서로 다르기 때문입니다.
언제 문제가 되는가
Model load만 시험하면 training 중 OOM·disk full 또는 동시 service p95·restart 장애를 실제 사용 때 처음 만나게 됩니다.
초보자가 자주 하는 오해
큰 model inference가 되면 같은 크기 full fine-tuning과 다중 사용자 24시간 service도 자동으로 가능한 것은 아닙니다.
직접 확인하는 방법
목적별 exact recipe와 정상·경계·실패 workload에서 memory·storage·시간·품질·복구를 분리해 실행하십시오.
이 절을 정리하면Load 가능한 model 크기는 inference의 한 gate일 뿐이며 training과 다중 사용자 service는 activation·checkpoint·queue·관측·가용성을 별도로 요구합니다.
개념 해설 09

구매 비교표를 exact 구성·증거·rollback 계약으로 완성한다

비교표 행은 DGX Spark 일반, AMD APU 일반, Mac 일반이 아니라 exact model·memory·storage configuration과 OS·firmware·runtime·artifact 조합입니다. 열에는 공식 memory·bandwidth·power source, 사용 가능 memory·effective bandwidth, architecture·dependency, 품질·p95·job 시간·30분 유지율과 recovery를 둡니다. 공식 peak와 로컬 측정을 다른 열로 분리하고 미확인은 추정치로 채우지 않습니다.

가격은 지역·세금·재고·warranty와 날짜가 붙는 견적입니다. System price 외에 storage·network, monitor·UPS, backup·spare, 전력과 software porting·maintenance 시간을 포함합니다. 값이 자주 바뀌므로 본문에 영구 가격 순위를 고정하지 않습니다. 필수 gate를 모두 통과한 후보끼리 workload당 cost와 2~3년 시나리오를 비교합니다.

결함과 실패 결과도 증빙입니다. 특정 model이 load되지만 decode 3 token/s, ARM dependency 미지원, ROCm matrix 공백, CUDA-only 기능 부재 같은 조건을 기록합니다. 더 작은 model·다른 runtime으로 복구했다면 품질과 운영 feature를 다시 평가합니다. 결과를 본 뒤 합격선을 낮추거나 실패 screenshot·log를 지우지 않습니다.

승인 전 이전 장비·cloud에서 같은 failure input 또는 training job을 복원합니다. System image, model·adapter hash, config·build recipe, backup restore와 담당자를 runbook에 둡니다. OS·driver·runtime, model revision, context·concurrency나 업무 rubric이 바뀌면 공식 문서와 회귀를 다시 실행합니다. 결론은 “어느 브랜드가 최고”가 아니라 exact workload와 날짜에 묶인 통과·hold 기록이어야 합니다.

왜 이런가
제품·software·가격과 업무가 변하므로 exact 구성과 실패·복구 증거가 없으면 추천을 재현하거나 업데이트할 수 없기 때문입니다.
언제 문제가 되는가
최고값과 성공 결과만 남기면 dependency·지속 부하·장애 회귀를 숨기고 update 뒤 원인과 복구 경로를 잃습니다.
초보자가 자주 하는 오해
한 번 만든 브랜드 순위나 price/performance 점수가 모든 목적·지역·version에 영구 적용되는 것은 아닙니다.
직접 확인하는 방법
다른 담당자가 공식 source·manifest·command·failure input과 rollback artifact만으로 같은 통과·hold를 재현하는지 독립 검토하십시오.
이 절을 정리하면최종 산출물은 제품 최고 순위가 아니라 exact system이 어떤 workload gate를 통과했고 어떤 조건에서 재검증해야 하는지 보여 주는 승인 기록입니다.

CONCRETE CASES

서로 다른 상황에서 개념을 확인하기

정의를 외우기 전에 개인 PC와 실제 업무에서 어떤 모습으로 나타나는지 비교해 보십시오.

  1. 사례 1 · 제품보다 먼저 개인 AI system의 역할 정하기

    70B Q4 개인 대화와 14B model 동시 사용자 8명의 API는 비슷한 memory를 요구할 수 있어도 throughput·운영 기준은 완전히 다릅니다.

    이 사례에서 확인할 핵심: Exact model·precision·context·동시성과 필수 품질을 장비 후보보다 먼저 고정합니다.
  2. 사례 2 · 통합 memory의 큰 용량과 bandwidth·경합 분리하기

    128GB unified system에서도 OS·display 8GB, weight 82GB, KV·workspace 20GB와 12GB 여유를 쓰면 concurrency를 늘릴 공간이 6GB뿐입니다.

    이 사례에서 확인할 핵심: 제품 총 memory에서 OS·display·application·cache·workspace와 안전 여유를 각각 뺍니다.
  3. 사례 3 · DGX Spark의 ARM64·CUDA 조건과 최대 model 문구 해석하기

    공식 hardware 문서의 최대 200B 지원을 모든 200B model의 실용 대화 속도나 전체 fine-tuning 보증으로 바꾸지 않습니다.

    이 사례에서 확인할 핵심: 공식 최대 model 수치는 exact precision·software·workload의 조건부 capability로 기록합니다.
  4. 사례 4 · Ryzen AI Max+와 Apple Silicon을 memory·runtime 경로로 비교하기

    같은 128GB class라도 AMD Halo platform의 256GB/s와 Mac Studio chip별 410·546·819GB/s 공식 수치는 서로 다른 system 조건이며 실제 token/s는 별도 측정합니다.

    이 사례에서 확인할 핵심: Processor 최대 memory와 실제 완제품 configuration·firmware GPU 할당을 구분합니다.
  5. 사례 5 · Inference·LoRA·다중 사용자 운영을 분리해 승인하기

    70B Q4 한 명 대화가 통과해도 14B BF16 LoRA 또는 동시 사용자 8명의 p95·availability를 자동 승인하지 않습니다.

    이 사례에서 확인할 핵심: Training 가능 문구는 full training, LoRA·QLoRA의 precision·batch·checkpoint 조건으로 풀어 씁니다.

CHAPTER 1 / 5

제품보다 먼저 개인 AI system의 역할 정하기

개인용 AI box라는 이름에는 compact desktop, 대용량 Accelerated Processing Unit(APU, CPU와 GPU를 한 package에 통합한 장치), Apple Silicon workstation과 NVIDIA 전용 system이 함께 묶입니다. 생김새가 비슷해도 CPU instruction set, memory 구조, accelerator, 운영체제와 사용할 수 있는 runtime이 다릅니다. 구매 질문은 “어느 제품이 최고인가”가 아니라 exact model·artifact·precision, context·동시성, 목표 업무와 latency·품질을 어느 system이 재현 가능하게 통과하는가로 바꿉니다.

사용 목적을 inference, fine-tuning과 service로 분리합니다. 한 사용자의 대화형 inference는 큰 weight를 담고도 decode가 충분하면 되지만 LoRA는 base weight 외에 optimizer·gradient·activation과 checkpoint가 필요합니다. 다중 사용자 API는 queue, continuous batching, authentication·monitoring과 장애 교체를 요구합니다. 한 장비가 세 목적 모두 가능하다는 제품 문구가 있어도 같은 model 크기와 속도로 수행된다는 뜻은 아닙니다.

Workload manifest에는 exact model revision과 file byte, tokenizer·template, quant 또는 training precision, 최대 input·output token, batch·concurrency와 정상·경계·실패 입력을 넣습니다. 필수 품질, p95 TTFT 또는 job 완료 시간, memory·전력 상한과 복구 시간을 장비를 보기 전에 정합니다. 제품별 demo model이나 서로 다른 quant로 최고값만 비교하면 system 차이와 artifact 차이를 분리할 수 없습니다.

현재 CPU·GPU 또는 cloud에서 필수 품질을 통과하는 baseline을 보존합니다. 새 box가 해결할 문제를 “더 큰 model load”, “LoRA 시간을 8시간 이하”, “개인 문서가 외부로 나가지 않음”, “사무실 소음 제한”처럼 쓰고 해결하지 못하면 보류합니다. 이전 backend로 돌아가는 같은 실패 입력 시험까지 있어야 새 system은 구매품이 아니라 되돌릴 수 있는 운영 변경이 됩니다.

핵심을 다시 정리하면

  • Exact model·precision·context·동시성과 필수 품질을 장비 후보보다 먼저 고정합니다.
  • 한 대가 실패했을 때 멈춰도 되는지와 cloud·기존 장비 복구 경로를 적습니다.

현실에서 이렇게 연결됩니다

70B Q4 개인 대화와 14B model 동시 사용자 8명의 API는 비슷한 memory를 요구할 수 있어도 throughput·운영 기준은 완전히 다릅니다.

이 장을 정리하면큰 model을 load하는 개인 실험, adapter 학습, 여러 사용자의 24시간 API는 서로 다른 memory·지연·가용성 계약을 요구합니다.

CHAPTER 2 / 5

통합 memory의 큰 용량과 bandwidth·경합 분리하기

Discrete GPU system은 CPU RAM과 VRAM이 분리되고 PCIe 같은 link를 통해 data를 옮깁니다. Unified memory system은 CPU와 GPU가 같은 물리 memory pool의 data에 접근할 수 있어 큰 model을 별도 VRAM 한도보다 쉽게 배치할 수 있습니다. 그러나 “공유”는 모든 byte가 항상 GPU 전용이고 copy·page migration·synchronization 비용이 전혀 없다는 뜻이 아닙니다. 실제 programming model과 runtime의 allocation·execution log를 확인해야 합니다.

System 총 memory에는 운영체제, desktop display, filesystem cache, tokenizer·application, model weight, KV cache, activation·workspace와 다른 process가 함께 들어갑니다. DGX Spark 공식 release note처럼 unified architecture에서 memory 보고 방식이나 display reserved memory도 software version에 따라 달라질 수 있습니다. 제품의 128GB를 128GB weight 파일과 같다고 계산하지 않고 시작·load·prefill·decode·training step의 host·device 전체 peak를 측정합니다.

Capacity와 bandwidth는 다른 제한입니다. 큰 weight가 들어가도 decode마다 많은 byte를 읽어야 하면 memory bandwidth가 token/s 상한을 만들 수 있습니다. CPU preprocessing, GPU와 NPU가 같은 pool을 사용하고 다른 application이 접근하면 경합도 생깁니다. 공식 bandwidth는 hardware 조건의 상한이며 exact model·runtime의 effective bandwidth와 cache reuse, power 상태를 profiler로 측정해야 합니다.

복구는 작은 model·짧은 context·동시 1의 성공 기준선부터 시작합니다. OOM이나 swap·memory pressure가 생기면 model, quant, context, batch와 GPU 할당을 동시에 바꾸지 않습니다. 한 항목씩 낮추고 같은 실패 workload가 회복되는지 보며, swap으로 실행만 이어진 경우 p95와 storage write가 운영 목표를 충족하는지도 별도 판정합니다.

RAM 64GB와 VRAM 16GB가 분리된 discrete GPU system과 128GB를 공유하는 unified memory system을 주소 공간, 이동 경로, 경합과 bandwidth, 잘못된 계산으로 나란히 비교한 도판
그림 읽는 법 Unified memory는 용량을 한 pool로 모으지만 bandwidth와 경합까지 합쳐 주지는 않습니다. 용량 판정과 속도 판정을 따로 적습니다.

핵심을 다시 정리하면

  • 제품 총 memory에서 OS·display·application·cache·workspace와 안전 여유를 각각 뺍니다.
  • Unified는 무한 bandwidth나 data movement·동기화가 사라진다는 뜻이 아닙니다.

현실에서 이렇게 연결됩니다

128GB unified system에서도 OS·display 8GB, weight 82GB, KV·workspace 20GB와 12GB 여유를 쓰면 concurrency를 늘릴 공간이 6GB뿐입니다.

이 장을 정리하면CPU와 GPU가 주소 공간을 공유하면 별도 VRAM보다 큰 artifact를 배치하기 쉽지만 OS·CPU·GPU가 같은 용량과 bandwidth를 나누므로 전체 memory를 weight로 채울 수 없습니다.

CHAPTER 3 / 5

DGX Spark의 ARM64·CUDA 조건과 최대 model 문구 해석하기

NVIDIA DGX Spark 공식 hardware 문서는 Grace Blackwell architecture, 20-core ARM CPU, 128GB LPDDR5x unified system memory와 273GB/s bandwidth를 명시합니다. 이 숫자는 exact system의 구조 사실이며 데스크톱 RTX의 GDDR VRAM이나 datacenter HBM과 같은 bandwidth라고 볼 수 없습니다. 240W power supply와 140W GB10 TDP 조건, 10GbE·ConnectX-7과 storage도 실제 placement·network workflow에 포함합니다.

공식 문서의 “최대 200B model”과 dual system 405B 같은 문구는 capability 상한입니다. 어떤 model family·precision·context·batch·software에서 load하거나 실행하는지 확인하지 않으면 한국어 품질, token/s와 p95를 알 수 없습니다. Parameter 수와 artifact byte가 같지 않고 MoE의 total weight, KV cache와 runtime workspace도 별도입니다. 공식 example을 exact version으로 재현한 뒤 내 artifact와 업무 평가로 교체합니다.

Host CPU가 ARM64라는 사실은 중요합니다. CUDA ecosystem을 사용하더라도 x86_64 전용 wheel, container image, custom extension과 closed binary가 그대로 실행되지 않을 수 있습니다. NVIDIA porting guide와 image manifest에서 architecture를 확인하고 multi-arch 또는 source build 경로를 준비합니다. Model이 GPU에서 계산돼도 tokenizer, database, OCR이나 vector extension이 host architecture 때문에 막히면 전체 workflow는 완료되지 않습니다.

DGX OS·driver·CUDA와 firmware는 release 단위로 고정합니다. Update 전 공식 release note의 known issue와 memory reporting, container compatibility를 검토하고 이전 image·model artifact를 보존합니다. 작은 official sample, 목표 model, 최대 context, LoRA 또는 service 순으로 넓히며 system update와 model 변경을 동시에 하지 않습니다. 이전 runtime에서 같은 실패 입력이 회복되는지 확인해야 upgrade를 승인합니다.

핵심을 다시 정리하면

  • 공식 최대 model 수치는 exact precision·software·workload의 조건부 capability로 기록합니다.
  • x86_64 전용 binary·container와 native extension이 ARM64에서 동작하는지 porting guide로 확인합니다.

현실에서 이렇게 연결됩니다

공식 hardware 문서의 최대 200B 지원을 모든 200B model의 실용 대화 속도나 전체 fine-tuning 보증으로 바꾸지 않습니다.

이 장을 정리하면DGX Spark는 128GB LPDDR5x unified memory와 NVIDIA software stack을 제공하지만 ARM64 host·273GB/s 공식 bandwidth·software version과 model 조건을 함께 검증해야 합니다.

CHAPTER 4 / 5

Ryzen AI Max+와 Apple Silicon을 memory·runtime 경로로 비교하기

AMD Ryzen AI Max+ 395 공식 processor page는 16-core x86 CPU, Radeon 8060S integrated GPU, 256-bit LPDDR5x와 최대 128GB, 45~120W configurable TDP 범위를 제시합니다. 하지만 processor 최대가 모든 laptop·desktop 제품의 실제 RAM·bandwidth·power 구성은 아닙니다. 예를 들어 AMD Halo developer platform은 128GB·256GB/s·120W 구성을 별도 명시합니다. 구매할 exact 완제품의 soldered memory, firmware GPU allocation과 cooling을 확인합니다.

AMD software 지원은 exact APU·OS·driver·ROCm·framework matrix로 확인합니다. Integrated GPU가 장치 목록에 보이거나 Vulkan GGUF가 실행되는 사실을 PyTorch·vLLM ROCm 지원과 같다고 쓰지 않습니다. llama.cpp HIP·Vulkan, Ollama와 framework는 artifact·operator·feature가 다릅니다. Startup log에서 device placement와 CPU fallback을 확인하고 Windows·Linux 결과를 섞지 않습니다.

Apple Mac Studio 공식 사양은 chip 구성별 unified memory와 memory bandwidth가 다름을 보여 줍니다. Apple MLX는 CPU와 GPU가 unified memory array에 접근하는 programming model을 제공하고 MLX LM은 Apple Silicon model 실행 경로입니다. CUDA-only image나 x86 extension은 직접 호환되지 않으므로 MLX·Metal·llama.cpp 지원 artifact와 feature를 확인합니다. 같은 GB라도 M4 Max와 M3 Ultra의 GPU·bandwidth, memory option을 한 행으로 합치지 않습니다.

세 ecosystem의 비교표에는 architecture, exact memory·bandwidth, OS, primary runtime·artifact, unsupported dependency, load·prefill·decode peak와 지속 power를 둡니다. 한 system의 official maximum model을 다른 system과 동일 precision·speed로 비교하지 않습니다. 동일한 높은 precision artifact를 못 쓰면 각 후보의 artifact 차이와 품질 영향을 공개하고 공통 CPU 또는 cloud baseline을 함께 실행합니다.

DGX Spark, Ryzen AI Max+ 395, Mac Studio 세 후보를 architecture와 host, memory와 bandwidth, software 경로, 전력과 연결, workload 증거, update와 rollback 여섯 축으로 나란히 읽는 비교 카드
그림 읽는 법 같은 128GB라도 memory 대역과 software 경로가 다르면 다른 장비입니다. 고른 후보에서 memory·software·workload·rollback 네 축이 모두 연결될 때만 구매를 승인합니다.

핵심을 다시 정리하면

  • Processor 최대 memory와 실제 완제품 configuration·firmware GPU 할당을 구분합니다.
  • CUDA-only dependency를 이름만 바꿔 실행할 수 있다고 가정하지 않고 exact runtime·operator를 검증합니다.

현실에서 이렇게 연결됩니다

같은 128GB class라도 AMD Halo platform의 256GB/s와 Mac Studio chip별 410·546·819GB/s 공식 수치는 서로 다른 system 조건이며 실제 token/s는 별도 측정합니다.

이 장을 정리하면Ryzen AI Max+ 계열과 Mac Studio는 모두 큰 unified memory 구성이 가능하지만 x86·ROCm/other backend와 Apple MLX·Metal 생태계, 제품별 bandwidth·memory 구성이 다릅니다.

CHAPTER 5 / 5

Inference·LoRA·다중 사용자 운영을 분리해 승인하기

Inference는 weight·KV cache·workspace가 핵심이고, LoRA·QLoRA는 trainable adapter 외에 activation, gradient, optimizer state와 dataset batch가 필요합니다. Full fine-tuning은 훨씬 큰 memory와 compute를 요구합니다. “70B fine-tuning 가능” 같은 문구를 읽을 때 method, precision, sequence length, batch, checkpoint와 예상 job 시간을 확인합니다. Browser 계산값이나 parameter 이름만으로 overnight job의 성공과 품질을 보증하지 않습니다.

Storage도 workload의 일부입니다. 여러 quant, base·adapter와 checkpoint, dataset와 evaluation output은 내부 SSD를 빠르게 채울 수 있습니다. Download·load 시간, checkpoint write 중 free space와 failure recovery를 시험하고 artifact hash·license와 encryption·backup 위치를 기록합니다. 내부 SSD 한 개만 있는 system이라면 system 장애와 model data 손실이 같은 failure domain인지 확인하고 외부 또는 network backup의 실제 restore를 시험합니다.

다중 사용자 service는 single prompt token/s보다 admission control, queue time, p95·p99, error rate와 memory fragmentation이 중요합니다. Authentication, rate limit, log privacy, monitoring과 restart 후 model warm-up을 포함합니다. 개인 desktop 한 대는 편리하지만 hardware·power·network 단일 장애점입니다. 목표 recovery time을 못 맞추면 spare, cloud fallback 또는 더 작은 emergency model을 준비합니다.

최종 승인은 inference, training과 service를 각각 정상·경계·실패 workload로 최소 3회 반복하고 품질·시간·memory·전력·온도·오류와 비용을 남깁니다. 이전 장비 또는 cloud로 rollback한 뒤 같은 실패 job·request가 회복되는지 확인합니다. “한 번 load됨”을 구매 근거로 삼지 않고 exact system·software·artifact가 어떤 목적의 gate를 통과했는지와 미통과 목적을 함께 기록합니다.

핵심을 다시 정리하면

  • Training 가능 문구는 full training, LoRA·QLoRA의 precision·batch·checkpoint 조건으로 풀어 씁니다.
  • 개인 workstation 한 대를 production service로 쓰면 인증·queue·backup·spare와 복구 시간을 추가합니다.

현실에서 이렇게 연결됩니다

70B Q4 한 명 대화가 통과해도 14B BF16 LoRA 또는 동시 사용자 8명의 p95·availability를 자동 승인하지 않습니다.

이 장을 정리하면큰 model load, adapter 학습과 24시간 service는 필요한 memory·storage·network·관측·가용성이 달라 별도의 workload와 rollback 시험을 가져야 합니다.

INTERACTIVE LAB 1 / 2

실습 1 · AI system memory·호환성 승인 실습

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

Unified memory·architecture·runtime 적합성 승인하기

제품의 최대 model 문구가 아니라 OS 예약 뒤 memory 장부, host architecture와 exact runtime·artifact·rollback을 함께 판정합니다. 기본값은 일부러 실패합니다.

상황
128GB system에 82GB weight를 올릴 수 있다고 승인했지만 최대 context에서 memory pressure가 나고 주변 x86-only component는 실행되지 않습니다.
목표
System 예약, weight·cache·headroom과 end-to-end architecture·runtime 호환성을 하나의 gate로 만듭니다.
준비 조건
Exact system 사양, 시작·load·prefill·decode 또는 training peak, image·wheel architecture, runtime placement와 이전 backend를 준비합니다.
성공 조건
Workload memory가 system 예약 후 공간 이하이고 exact 구성·host dependency·runtime operator와 rollback이 모두 확인됩니다.
  1. Exact system 구성과 OS·display·application 예약을 선택·입력합니다.
  2. Artifact weight, 최대 부하 cache·workspace와 실제 변동 headroom을 넣습니다.
  3. AI system 적합성 gate 실행 후 model·context·system 후보 중 한 항목만 바꿔 같은 실패 workload를 복구합니다.

증빙 한계: System option은 구조 비교용 exact 예시이며 실제 판매 구성·지원 release는 바뀔 수 있습니다. Browser 통과는 장비, memory profiler나 architecture·runtime 실행 증거가 아닙니다.

INTERACTIVE LAB 2 / 2

실습 2 · 목적별 운영·복구 승인 실습

브라우저 안에서 값을 입력하고 실행 결과와 실패·복구 경로를 확인합니다. 실제 장비나 NAS에는 어떤 명령도 보내지 않습니다.

Inference·LoRA·service의 지속 운영과 복구 승인하기

목적을 선택하고 품질·p95 또는 job 기준, memory와 30분 지속 성능, end-to-end dependency·backup·rollback을 판정합니다. 기본값은 일부러 실패합니다.

상황
Model demo는 한 번 성공했지만 실제 RAG service의 품질·p95가 낮고 장시간에 처리량이 떨어지며 내부 SSD 외 backup이 없습니다.
목표
Inference·training·service 중 exact 목적의 품질·성능·memory·storage와 failure recovery를 승인합니다.
준비 조건
동일 artifact·업무 세트, cold·warm·30분 3회 결과, end-to-end component, backup restore와 이전 backend를 준비합니다.
성공 조건
품질·p95/job·memory·지속 처리량이 통과하고 전체 workflow·독립 backup restore·rollback이 재현됩니다.
  1. 목적과 결과를 보기 전 품질·p95 또는 job 목표, system memory 예약을 정합니다.
  2. 정상·경계·실패 workload의 peak와 30분 유지율, 3회 이상 결과를 넣습니다.
  3. 운영·복구 gate 실행 후 목표를 낮추지 않고 artifact·system·runtime 중 한 항목만 바꿉니다.

증빙 한계: Browser 입력과 checkbox는 운영 판정 절차를 연습할 뿐 실제 system, workload, power·temperature, backup restore나 rollback log를 만들지 않습니다.

KEY TERMS

이번 단원 핵심 용어

Unified memory
CPU와 GPU가 하나의 물리 memory pool에 접근하는 구조로 실제 allocation·동기화와 OS·application 경합을 runtime별로 확인해야 하는 방식
Memory bandwidth
1초에 memory에서 읽고 쓸 수 있는 data 양이며 공식 peak와 workload의 effective 값을 구분하는 지표
ARM64
DGX Spark 등에서 쓰이는 64-bit Arm instruction set architecture로 x86_64 전용 binary·container와 호환성을 별도 확인해야 하는 host 조건
Failure domain
한 장애가 동시에 영향을 주는 hardware·storage·network 범위로 단일 box의 복구·backup 설계에 필요한 경계

UNIT WORKBOOK

개념을 새로운 상황에 적용하는 문제와 기록지

기본 원리 확인에서 시작해 실제 업무 판단으로 확장합니다. 답을 제출하면 정답만이 아니라 모든 선택지가 맞거나 틀린 이유를 확인할 수 있습니다.

기본 문제 1

128GB unified memory system에 82GB weight, KV·workspace 22GB, headroom 12GB가 필요하고 OS·application 예약이 12GB입니다. 가장 정확한 판단은 무엇입니까?

답 선택
기본 문제 2

DGX Spark 공식 문서의 “최대 200B model 지원”을 교육·구매 표에 기록하는 방법으로 가장 안전한 것은 무엇입니까?

답 선택
적용 문제 3

DGX Spark에서 model generation은 되지만 사내 RAG의 vector database extension이 x86_64 image만 제공돼 실행되지 않습니다. 첫 대응은 무엇입니까?

답 선택
적용 문제 4

Ryzen AI Max+와 Mac Studio 후보를 128GB라는 이유만으로 같은 system으로 비교해도 됩니까?

답 선택
종합 문제 5

개인 RAG 개발과 사내 다중 사용자 API용 AI box 구매 계획 중 가장 완성된 것은 무엇입니까?

필수 조건은 인용 품질 95%, p95 2초, 30분 지속 처리량 85% 이상, 독립 backup restore와 기존 cloud rollback입니다.

답 선택

PERSONAL WORKSHEET

내 환경에 옮겨 적는 학습 기록지

입력 내용은 현재 브라우저 화면에만 머물며 저장하거나 외부로 전송하지 않습니다. 민감한 실제 정보 대신 범주와 가명을 사용하십시오.

OFFICIAL SOURCES

공식 자료에서 다시 확인하기

기술·호환성·모델 정보 검토 연월: 2026년 8월

LEARNING RECORD

통합 과정은 여기서 한 번만 완료합니다

3개 핵심 단원의 본문과 실습, 문제 해설을 충분히 살펴본 뒤 학습 상태를 기록하십시오.

SHARE & IMPROVE

함께 확인한 지식을 모두에게 돌려드립니다

문의·건의 사항이나 공유할 교육 자료가 있다면 보내주세요. 검토해 교육에 반영하겠습니다.