Skip to main content

GPU чи CPU для ШІ: у чому різниця(GPU проти CPU: архітектура SIMD/SIMT, пропускна здатність пам'яті та чому ШІ обрав відеокарти)

Глибоке порівняння центрального (CPU) та графічного процесорів (GPU) для задач машинного навчання. Пояснення фундаментальної різниці між затримкою (Latency-oriented) та пропускною здатністю (Throughput-oriented), пропускної здатності шини пам'яті (DDR5 vs HBM3e) та бенчмаркінг у CLI.

1. Огляд концепції та фундаментальна різниця

Щоб зрозуміти, чому графічні прискорювачі стали головною інфраструктурною валютою 21-го століття, необхідно поглянути на фундаментальну різницю філософій дизайну кремнієвих кристалів:

  • CPU (Central Processing Unit) — оптимізований під мінімізацію затримки (Latency-Oriented): Це невеликий загін із 8–32 надзвичайно потужних універсальних ядер з величезними кешами L1/L2/L3 та складними блоками передбачення переходів (Branch Predictor). CPU створений для того, щоб максимально швидко виконати одну послідовну нитку заплутаних інструкцій операційної системи.
  • GPU (Graphics Processing Unit) — оптимізований під максимальну пропускну здатність (Throughput-Oriented): Це масив із 5 000–18 000 простих паралельних обчислювальних ядер (ALU), об'єднаних у потокові мультипроцесори (SM). Вони не витрачають транзистори на передбачення переходів, а використовують парадигму SIMT (Single Instruction, Multiple Threads): одна й та сама математична операція (наприклад, множення векторів) одночасно накладається на тисячі потоків даних.

Ментальна модель: CPU — це швидкісний кур'єр на спорткарі, який миттєво привезе один терміновий пакет. GPU — це гігантський вантажний потяг, який везе 10 000 тонн щебеню за один рейс.

┌─────────────────────────────────────────────────────────────┐
│                   ПОРІВНЯННЯ АРХІТЕКТУР                     │
├─────────────────────────────────────────────────────────────┤
│ 1. CPU: Кілька швидких ядер + Гігантський L3 Cache          │
│    [ ЯДРО 1 ]  [ ЯДРО 2 ]  [ ЯДРО 3 ]  [ ЯДРО 4 ]           │
│    └───────────────── L3 CACHE (64MB) ─────────────────┘    │
│    Шина пам'яті: DDR5 (60 - 90 GB/s)                        │
├─────────────────────────────────────────────────────────────┤
│ 2. GPU: Тисячі простих ядер + Надширока шина пам'яті        │
│    [SM][SM][SM][SM][SM][SM][SM][SM][SM][SM][SM][SM] ...     │
│    (до 18 000 ядер CUDA + Tensor Cores)                     │
│    Шина пам'яті: GDDR6X / HBM3e (1 000 - 3 350 GB/s)        │
└─────────────────────────────────────────────────────────────┘

2. Практичний бенчмаркінг: перевірка прискорення через CLI

Ви можете самостійно виміряти швидкість множення матриць на CPU проти GPU за допомогою простого однорядкового тесту на Python:

# Тест швидкості множення матриць 8192x8192 на доступних пристроях
python3 -c "
import torch, time
n = 8192

# 1. Тест на CPU
a_cpu, b_cpu = torch.randn(n, n), torch.randn(n, n)
t0 = time.time()
torch.mm(a_cpu, b_cpu)
print(f'CPU Time: {time.time() - t0:.3f} s')

# 2. Тест на GPU (якщо є CUDA або Apple MPS)
device = 'cuda' if torch.cuda.is_available() else ('mps' if torch.backends.mps.is_available() else None)
if device:
    a_gpu, b_gpu = a_cpu.to(device), b_cpu.to(device)
    torch.mm(a_gpu, b_gpu) # warmup
    t0 = time.time()
    torch.mm(a_gpu, b_gpu)
    if device == 'cuda': torch.cuda.synchronize()
    print(f'GPU ({device}) Time: {time.time() - t0:.4f} s')
"

На сучасній системі GPU завершує розрахунок за 0.015 секунди, тоді як 16-ядерний флагманський CPU витрачає на ту саму операцію понад 0.8–1.2 секунди (різниця у 50–80 разів!).


3. Чому інференс LLM впирається саме в пам'ять (Memory-Bound)

Під час фази генерації тексту модель працює за правилом: щоб вивести один токен, необхідно прочитати з пам'яті всі ваги моделі один раз:

  • Якщо модель Llama 3.1 8B у форматі 4-біт займає 5 ГБ:
    • На системі з шиною DDR5 (швидкість читання 60 ГБ/с):
      Теоретичний ліміт швидкості: $\frac{60 \text{ ГБ/с}}{5 \text{ ГБ}} \approx 12 \text{ токенів/сек}$.
    • На відеокарті RTX 4090 (швидкість пам'яті 1 000 ГБ/с):
      Теоретичний ліміт швидкості: $\frac{1000 \text{ ГБ/с}}{5 \text{ ГБ}} \approx 200 \text{ токенів/сек}$.

Саме тому відеокарта перемагає процесор у генеративному ШІ не стільки за рахунок частоти чи ядер, скільки за рахунок колосальної швидкості передачі даних між чипом пам'яті та обчислювальними блоками.


4. Підсумковий інженерний висновок

  • Для оркестрації агентів, парсингу коду, маршрутизації HTTP-запитів та взаємодії з базами даних процесор (CPU) залишається абсолютним незамінним господарем системи.
  • Для обчислення матриць вагів нейромереж, векторизації ембеддінгів та генерації медіа графічний прискорювач (GPU) з високою пропускною здатністю пам'яті (VRAM) є безальтернативним стандартом.
/ Часті запитанняSchema.org FAQPage

FAQ: GPU чи CPU для ШІ: у чому різниця

Справа не лише в ядрах, а в пропускній здатності пам'яті (Memory Bandwidth). Генерація кожного нового токена вимагає прокачування всіх вагів моделі через пам'ять. Системна пам'ять DDR5 забезпечує швидкість 60–100 ГБ/с, тоді як відеопам'ять GDDR6X на RTX 4090 видає понад 1 000 ГБ/с, а пам'ять HBM3e на прискорювачах H100 — до 3 350 ГБ/с (у 30-50 разів швидше).
/ Внутрішня перелінковка
Всі терміни
Моделі & Інференс

Відеопам'ять (VRAM) для ШІ

Відеопам'ять графічного процесора (Video RAM), у яку завантажуються ваги нейромережі та контекстне вікно. Головне апаратне вузьке місце: якщо модель не поміщається у VRAM, вона або не запуститься, або працюватиме в десятки разів повільніше на звичайному процесорі.

Читати термін
Моделі & Інференс

Apple Silicon для ШІ (M-серія та Unified Memory)

Архітектура процесорів Apple (M1/M2/M3/M4) з об'єднаною пам'яттю (Unified Memory Architecture). Дозволяє всьому масиву оперативної пам'яті (аж до 128-192 ГБ) бути доступним графічному чипу як VRAM, уможливлюючи запуск гігантських нейромереж без серверних відеокарт.

Читати термін
Моделі & Інференс

Нейронний процесор (NPU)

Спеціалізований апаратний мікрочип (Neural Processing Unit), спроєктований виключно для виконання штучних нейронних мереж із мінімальним енергоспоживанням. Відповідає за розмиття фону у відеодзвінках, покращення фотографій та локальні підказки AI без розряджання батареї.

Читати термін
Моделі & Інференс

vLLM (Високопродуктивний рушій інференсу)

Провідний відкритий серверний рушій інференсу та обслуговування LLM, що здійснив революцію у пропускній здатності завдяки алгоритму віртуалізації пам'яті PagedAttention та неперервному батчингу.

Читати термін