Skip to content
IRC-CodingIRC-Coding
CPUGPUTPUNPUИскусственный интеллектОборудованиеDeep LearningАрхитектура компьютераNVIDIATOPSFLOPS

CPU, GPU, TPU и NPU: почему GPU важна для ИИ

CPU, GPU, TPU и NPU: различия, зачем ИИ нужна GPU и как работают процессоры. TOPS, FLOPS и ответы на вопросы.

S

schutzgeist

14 min read
CPU, GPU, TPU и NPU: почему GPU важна для ИИ

CPU, GPU и TPU: почему GPU так важна для искусственного интеллекта

Введение

Если ты занимаешься искусственным интеллектом, постоянно слышишь о GPU, CPU и иногда TPU. Но в чём между ними разница? Почему ChatGPT требует тысячи GPU от NVIDIA, а не просто быстрые CPU?

Ответ кроется в том, как работают эти процессоры. CPU похожа на смышлёного универсала, решающего сложные задачи одну за другой. GPU работает как армия простых рабочих, выполняющих одновременно миллионы элементарных операций. TPU — это узкий специалист, делающий ровно одно, но с неимоверной скоростью.

В этой статье разберёмся, как работают CPU, GPU и TPU, почему GPU критична для КИ и когда какое оборудование выбирать.

CPU: универсальный процессор

Суть

CPU (Central Processing Unit) — это мозг твоего компьютера. Она может делать всё, но не всё одновременно. CPU имеет несколько, но очень быстрых ядер (обычно от 4 до 16). Каждое ядро выполняет сложные задачи последовательно: запрашивает данные из базы, управляет операционной системой, контролирует пользовательский интерфейс.

Представь, что у тебя в кухне работают 4 очень умных повара. Каждый может приготовить сложное блюдо с нуля до финального оформления. Но одновременно эти 4 повара могут готовить только 4 блюда.

Основные компоненты CPU

  • ALU (Arithmetic Logic Unit): выполняет базовые арифметические операции — сложение, вычитание, логические сравнения.
  • Control Unit: координирует выполнение инструкций, загружает данные из кеша, управляет потоком данных.
  • Register: супербыстрая, но крошечная память прямо в процессоре. Хранит текущие значения, с которыми CPU работает в данный момент.
  • Cache (L1, L2, L3): многоуровневый буфер, хранящий часто используемые данные, чтобы избежать медленного доступа в оперативную память.

Практическое применение

Как разработчик приложений, ты пишешь код, который работает на CPU. Операционная система, браузер, IDE, локальный dev-сервер — всё выполняется на CPU. Когда строишь веб-приложение, CPU обрабатывает HTTP-запросы, исполняет бизнес-логику, управляет доступом к базе данных.

CPU остаётся сердцем любого компьютера. Для искусственного интеллекта она не оптимальна просто потому, что КИ состоит в основном из огромного количества простых математических операций.

GPU: процессор параллельных вычислений

Суть

GPU (Graphics Processing Unit) изначально разработана для отрисовки трёхмерной графики. Чтобы вычислить изображение с миллионами пикселей, нужно одновременно выполнить множество простых математических операций. Именно в этом GPU невероятно хороша.

GPU содержит не 4 или 16 ядер, а тысячи. NVIDIA H100, например, имеет 16.896 ядер. Каждое ядро проще и медленнее, чем ядро CPU, но вместе они неопоримы в задачах, поддающихся параллелизации.

Представь 16.896 помощников в огромной кухне. Каждый умеет делать только одно — например, чистить лук. Но все одновременно. Если нужно почистить 16.896 луковиц, эти помощники работают в разы быстрее, чем 4 умных повара.

Основные компоненты GPU

  • CUDA Cores / Stream Processors: собственно вычислительные блоки. Тысячи простых ядер, работающих параллельно.
  • VRAM (Video RAM): собственная память на GPU, очень быстрая с высокой пропускной способностью. NVIDIA H100 оснащена 80 ГБ памяти HBM3.
  • Tensor Cores: специализированные блоки в современных GPU NVIDIA, оптимизированные именно для КИ-вычислений (матричное умножение).
  • SM (Streaming Multiprocessors): группы ядер, совместно использующих память и вычислительные ресурсы.

Почему GPU критична для искусственного интеллекта

Модели КИ, особенно нейросети, состоят из огромного числа матричных умножений. Матричное умножение — это просто множество элементарных умножений и сложений, которые можно выполнить одновременно.

Простой пример: изображение 224x224 пикселя содержит 50.176 пикселей. Каждый пиксель имеет 3 значения цвета (красный, зелёный, синий) — итого 150.528 чисел. В нейросети каждое значение умножается на вес и суммируется. Это сотни тысяч простых операций, выполнимых одновременно.

# CPU: вычисляет матричное умножение последовательно
import numpy as np

a = np.random.rand(1000, 1000)
b = np.random.rand(1000, 1000)

# На CPU это занимает несколько секунд
result = np.dot(a, b)  # каждая ячейка вычисляется по очереди
# GPU: вычисляет то же матричное умножение параллельно
import cupy as cp  # библиотека GPU NVIDIA

a_gpu = cp.random.rand(1000, 1000)
b_gpu = cp.random.rand(1000, 1000)

# На GPU это занимает миллисекунды, потому что тысячи ядер считают параллельно
result_gpu = cp.dot(a_gpu, b_gpu)

Разница в скорости огромна. NVIDIA H100 GPU выполняет матричные умножения примерно в 10-50 раз быстрее, чем мощная CPU, а на больших моделях КИ — даже в 100 раз быстрее.

Практическое применение

Как разработчик, работающий с КИ, не обойтись без GPU. Запускаешь ли локальную LLM на Ollama, тренируешь модель в PyTorch или генерируешь изображения в Stable Diffusion — везде нужна GPU.

Даже используя облачные КИ-сервисы, в фоне работает GPU. OpenAI использует тысячи GPU NVIDIA для ChatGPT. Google использует TPU для Gemini. Без такого оборудования современный искусственный интеллект был бы невозможен.

TPU: узкий специалист

Суть

TPU (Tensor Processing Unit) — процессор, разработанный Google специально для КИ. Если GPU — универсал в параллельных вычислениях, то TPU — чистый специалист по тензорным операциям, то есть по матричным умножениям, встречающимся в нейросетях.

Представь автомат на кухне, который умеет только одно — чистить лук. Но чистит 100.000 луковиц в секунду. Ничего больше он не делает, зато в этом непревзойдён.

Основные компоненты TPU

  • MXU (Matrix Multiply Unit): сердце TPU. Специализированный аппаратный модуль, выполняющий исключительно матричные умножения с экстремально высокой скоростью.
  • Unified Buffer: большой локальный буфер, хранящий промежуточные результаты матричных вычислений.
  • Activation Pipeline: выполняет функции активации (ReLU, Sigmoid и прочие) прямо в аппаратуре, без обращения в основную память.

GPU против TPU: что выбрать

КритерийGPUTPU
ПроизводительNVIDIA, AMDGoogle
ДоступностьСвободно в продажеТолько Google Cloud
ГибкостьВысокая, для множества задачНизкая, только КИ-нагрузки
Скорость на КИОчень высокаяЭкстремально высокая
ЦенаДорого (H100 около 30.000 евро)Облачная аренда, не продаётся
Поддержка фреймворковPyTorch, TensorFlow, JAXTensorFlow, JAX
СообществоОгромноеНебольшое, Google-ориентированное

Для большинства разработчиков GPU — лучший выбор. TPU интересны, если тренируешь крупные модели в Google Cloud и нужна максимальная производительность.

NPU: специалист по искусственному интеллекту в повседневной жизни

Суть

NPU (Neural Processing Unit) — это ускоритель искусственного интеллекта, встроенный прямо в потребительское железо: ноутбуки, смартфоны и планшеты. Она слабее GPU, но потребляет очень мало энергии и заточена под простые задачи ИИ: распознавание речи, распознавание изображений и небольшие нейросетевые модели.

Представь себе кухонный робот, который умеет только нарезать салат. Он не так быстр, как 16.896 помощников GPU, но почти не потребляет электричество, занимает мало места и всегда под рукой, когда он нужен.

Ключевые компоненты NPU

  • Systolic Arrays: Специализированные матричные вычислительные блоки, оптимизированные для инференции ИИ.
  • Low Power Design: Разработана с расчетом на минимальное энергопотребление — критично для мобильных устройств.
  • On-Chip Memory: Компактная, но быстрая локальная память, снижает объем передачи данных.
  • Поддержка INT8: Фокус на 8-битных целых числах вместо 32-битных чисел с плавающей точкой, что снижает вычислительную нагрузку и энергопотребление.

NPU vs GPU: что лучше?

КритерийNPUGPU
Где используетсяНоутбуки, смартфоны, планшетыДесктопы, серверы
ЭнергопотреблениеОчень низкое (несколько ватт)Высокое (до 700 ватт)
ПроизводительностьДо 50 TOPSДо 2000 TFLOPS
ГибкостьНизкая, только инференция ИИВысокая, обучение и инференция
ЦенаВстроена в устройствоДополнительное оборудование
Типичные задачиРаспознавание речи, распознавание изображенийОбучение ИИ, LLM, рендеринг

Насколько это важно на практике

Как разработчик приложений ты будешь видеть NPU всё чаще. Intel, AMD и Apple встраивают NPU в свои процессоры. Microsoft Windows 11 предоставляет специальные API для NPU. Для простых задач ИИ вроде локального распознавания речи или классификации изображений NPU идеально подходит: работает экономично и разгружает CPU.

Для сложного обучения ИИ или больших LLM NPU недостаточно. Здесь по-прежнему нужна GPU.

TOPS и FLOPS: как измеряют производительность ИИ

Суть

TOPS (Tera Operations Per Second) и FLOPS (Floating Point Operations Per Second) — это единицы измерения вычислительной мощности процессоров. FLOPS — стандарт для общей вычислительной производительности, TOPS специализируется на ИИ и измеряет целочисленные операции (INT8), которые часто используются в нейросетевых моделях.

Что такое FLOPS?

FLOPS — это Floating Point Operations Per Second. Одна FLOP — это операция с плавающей точкой: сложение или умножение. NVIDIA H100 достигает до 4.000 TFLOPS (Tera FLOPS) при работе с 16-битными числами. Это означает 4 квадриллиона операций в секунду.

# Пример FLOPS: матричное умножение с числами с плавающей точкой
import numpy as np

# Умножение матриц 1000x1000 требует примерно 2.000.000.000 FLOPS
a = np.random.rand(1000, 1000).astype(np.float32)
b = np.random.rand(1000, 1000).astype(np.float32)
result = np.dot(a, b)  # 2 TFLOPS для 1000x1000

Что такое TOPS?

TOPS — это Tera Operations Per Second, но специально для целочисленных операций (INT8). Нейросетевые модели часто используют 8-битные целые числа вместо 32-битных чисел с плавающей точкой, потому что это быстрее и экономнее по энергии. NPU с 50 TOPS может выполнять 50 миллиардов целочисленных операций в секунду.

# Пример TOPS: матричное умножение с целыми числами
import numpy as np

# Умножение матриц 1000x1000 с INT8 требует примерно 2.000.000.000 TOPS
a = np.random.randint(0, 255, (1000, 1000)).astype(np.int8)
b = np.random.randint(0, 255, (1000, 1000)).astype(np.int8)
result = np.dot(a, b)  # 2 TOPS для 1000x1000

Почему TOPS вместо FLOPS для ИИ?

Нейросетевые модели при инференции всё чаще используют квантизацию — снижение точности с 32 бит до 8 бит. Это быстрее, экономнее по энергии и достаточно точно для большинства приложений. Поэтому TOPS — более подходящая мера для оборудования инференции ИИ, тогда как FLOPS остаётся важным для обучения и общей вычислительной мощности.

Сравнение: CPU, GPU, TPU и NPU по TOPS/FLOPS

ПроцессорFLOPS (FP16)TOPS (INT8)Типичное использование
Intel Core i9-14900K1.500 TFLOPS50 TOPSДесктоп, игры
NVIDIA RTX 40902.000 TFLOPS330 TOPSИгры, инференция ИИ
NVIDIA H1004.000 TFLOPS2.000 TOPSОбучение ИИ, LLM
Apple M3 NPU0 TFLOPS18 TOPSMacBook, инференция ИИ
Intel Core Ultra NPU0 TFLOPS10 TOPSНоутбук, инференция ИИ
Google TPU v5p0 TFLOPS4.700 TOPSОбучение ИИ в Google

Насколько это важно на практике

Как разработчик ты должен понимать TOPS и FLOPS для выбора оборудования под проекты с ИИ. Для локальной инференции ИИ на ноутбуке достаточно NPU с 10 до 50 TOPS. Для обучения ИИ нужна GPU со сотнями или тысячами TOPS.

При покупке оборудования обращай внимание на указание TOPS, если планируешь инференцию ИИ на мобильных устройствах. Для десктопных задач с ИИ более важна характеристика FLOPS GPU.

Сравнение: CPU, GPU, TPU и NPU

ХарактеристикаCPUGPUTPUNPU
Количество ядер4 до 16Тысячи (до 16.896)Специализированные матричные блокиSystolic Arrays (до 50 TOPS)
Тип задачСложные, последовательныеПростые, параллельныеТолько тензорные операцииИнференция ИИ (INT8)
Сильные стороныЛогика, управление, ввод/выводПараллельные вычисленияМатематика, специфичная для ИИЭнергоэффективная инференция ИИ
Память32 до 128 ГБ ОЗУ8 до 80 ГБ VRAM16 до 128 ГБ HBMOn-Chip Memory
Пригодность для ИИНизкая, слишком медленноОчень высокаяЭкстремально высокаяСредняя, для инференции
Цена200 до 5.000 евро500 до 30.000 евроОблачная арендаВстроена в устройство
Типичное применениеОперационная система, приложенияОбучение ИИ, графикаОбучение ИИ в GoogleРаспознавание речи, распознавание изображений

Какой процессор для какой задачи?

  • CPU: Для всего, что не ИИ. Операционная система, веб-серверы, базы данных, обычные приложения.
  • GPU: Для обучения и инференции ИИ, когда нужна гибкость. Стандартный выбор для большинства разработчиков ИИ.
  • TPU: Для крупномасштабного обучения ИИ в Google Cloud, когда нужна максимальная производительность для моделей TensorFlow или JAX.
  • NPU: Для локальной инференции ИИ на ноутбуках и смартфонах. Распознавание речи, распознавание изображений, небольшие нейросетевые модели с минимальным энергопотреблением.

Рекомендуемые книги по теме

Keine Bücher für Kategorie "kuenstliche-intelligenz" gefunden.

Резюме

  • CPU — универсальный процессор: несколько, но мощных ядер. Идеален для сложных последовательных задач вроде операционной системы и логики приложений.
  • GPU — массовый процессор: тысячи простых ядер, работающих параллельно. Идеален для ИИ, потому что нейросети состоят из миллионов простых математических операций.
  • TPU — специалист: создан Google, только для тензорных операций ИИ. Экстремально быстр, но негибкий и доступен только в Google Cloud.
  • NPU — ускоритель ИИ в повседневной жизни: встроен в ноутбуки и смартфоны, экстремально экономен при простых задачах ИИ вроде распознавания речи.
  • Почему GPU для ИИ: Нейросетевые модели состоят из огромного количества матричных умножений. GPU может выполнять их параллельно и на 10–100 раз быстрее CPU.
  • TOPS vs FLOPS: FLOPS измеряет операции с плавающей точкой (обучение), TOPS измеряет целочисленные операции (инференция). Для инференции ИИ TOPS — релевантная мера.
  • На практике: Как разработчик ИИ ты используешь GPU для обучения и инференции. NPU для локального ИИ на мобильных устройствах. TPU только в Google Cloud.

Связанные статьи:

FAQ CPU, GPU и TPU, типичные экзаменационные вопросы

1. В чём главное отличие между CPU и GPU?

CPU имеет несколько мощных ядер (от 4 до 16) для сложных последовательных задач. GPU содержит тысячи простых ядер для параллельных вычислений. CPU — универсальный процессор, GPU — массовый процессор.

2. Почему GPU лучше подходит для ИИ, чем CPU?

Нейронные сети состоят из огромного количества матричных умножений, которые легко распараллеливаются. GPU с тысячами ядер может выполнять эти вычисления одновременно и работает в 10-100 раз быстрее CPU.

3. Что такое TPU и кто её разработал?

TPU (Tensor Processing Unit) — специализированный процессор, разработанный Google исключительно для операций с тензорами в ИИ. Он чрезвычайно быстр для матричных умножений, но малогибок и доступен только в Google Cloud.

4. Сколько ядер в типичной GPU?

Современные GPU имеют тысячи ядер. Например, NVIDIA H100 содержит 16 896 CUDA Cores. Потребительские GPU вроде RTX 4090 имеют примерно 16 384 ядра. Каждое ядро проще, чем CPU ядро, но вместе они обладают огромной мощью для параллельных задач.

5. Что такое Tensor Cores в GPU?

Tensor Cores — это специализированные вычислительные блоки в современных GPU от NVIDIA, оптимизированные именно для матричных умножений, которые встречаются в нейронных сетях. Они дополнительно ускоряют вычисления ИИ наряду с обычными CUDA Cores.

6. Можно ли купить TPU?

Нет, TPU нельзя купить на свободном рынке. Они доступны только через Google Cloud Platform в виде арендованных инстансов. GPU от NVIDIA и AMD можно приобрести в розницу.

7. Что такое VRAM и почему это важно для ИИ?

VRAM (Video RAM) — выделенная память на GPU. Для ИИ она критична, потому что вся модель и обрабатываемые данные должны поместиться в VRAM. Если памяти недостаточно, модель не будет работать на GPU. NVIDIA H100 имеет 80 ГБ HBM3 VRAM.

8. Что означает параллельная обработка данных?

Параллельная обработка данных означает одновременное выполнение нескольких вычислений вместо последовательного. GPU выполняет тысячи операций параллельно, тогда как CPU обычно обрабатывает задачи друг за другом. Это основная причина, почему GPU намного быстрее для ИИ.

9. Может ли ИИ работать на CPU?

Да, но очень медленно. Небольшие модели, как простая нейронная сеть, могут работать на CPU. Однако для крупных моделей вроде LLM инференция на CPU занимает минуты вместо секунд. Для серьёзного обучения ИИ CPU не пригодна.

10. Какая разница между CUDA Cores и Stream Processors?

CUDA Cores — вычислительные блоки в GPU от NVIDIA. Stream Processors — эквивалент в GPU от AMD. Оба служат одной цели: выполнение параллельных вычислений, но имеют разные архитектуры и интерфейсы программирования.

11. Почему OpenAI потребовались тысячи GPU для ChatGPT?

ChatGPT основан на большой языковой модели с миллиардами параметров. Обучение требует одновременного выполнения огромного количества матричных умножений. Тысячи GPU работают параллельно, чтобы обучить модель за приемлемое время. На CPU это заняло бы годы.

12. Что такое матричное умножение и почему оно важно для ИИ?

Матричное умножение — это умножение двух числовых матриц, где каждый элемент получается путём произведения и суммирования строк и столбцов. В нейронных сетях входные данные перемножаются с весами модели. Это фундаментальная операция любой модели ИИ.

13. Что такое HBM память и почему её используют в GPU и TPU?

HBM (High Bandwidth Memory) — тип памяти с экстремально высокой пропускной способностью, размещённый рядом с процессором. Он намного быстрее обычной оперативной памяти. GPU и TPU используют HBM, потому что вычисления ИИ требуют переместить огромные объёмы данных между памятью и ядрами в минимальный промежуток времени.

14. Какое различие между обучением и инференцией ИИ с точки зрения аппаратного обеспечения?

Обучение тренирует модель на больших объёмах данных, требуя огромной вычислительной мощности и VRAM. Инференция применяет уже обученную модель к новым данным и требует меньше ресурсов. Для обучения используют высокопроизводительные GPU вроде H100, для инференции часто хватает более скромных GPU или даже CPU.

15. Что такое CUDA и почему это важно?

CUDA (Compute Unified Device Architecture) — это платформа программирования для GPU от NVIDIA. Она позволяет разработчикам использовать GPU для общих вычислений, а не только для графики. Без CUDA использование GPU для ИИ было бы намного сложнее. Фреймворки типа PyTorch и TensorFlow построены на CUDA.

16. Что такое NPU и для чего она нужна?

NPU (Neural Processing Unit) — ускоритель ИИ, встроенный в потребительские устройства вроде ноутбуков и смартфонов. Она специализирована на простых ИИ задачах: распознавание речи, распознавание изображений и небольшие модели. Она чрезвычайно энергоэффективна, но не подходит для сложного обучения ИИ.

17. Какая разница между NPU и GPU?

NPU встроена в потребительские устройства, чрезвычайно энергоэффективна и оптимизирована для простой ИИ инференции. GPU более мощная, потребляет больше энергии и подходит для обучения ИИ и сложных моделей. NPU предназначена для мобильных устройств, GPU для десктопов и серверов.

18. Что такое TOPS и чем они отличаются от FLOPS?

TOPS (Tera Operations Per Second) измеряет целочисленные операции (INT8), важные для ИИ инференции. FLOPS (Floating Point Operations Per Second) измеряет операции с плавающей запятой, важные для обучения ИИ. TOPS — релевантная метрика для NPU и ИИ инференции, FLOPS для GPU и обучения ИИ.

19. Почему модели ИИ используют INT8 вместо FP32?

INT8 (8-битные целые числа) потребляют меньше памяти и энергии, чем FP32 (32-битные числа с плавающей запятой). Потери точности приемлемы для большинства ИИ приложений. Квантизация до INT8 ускоряет инференцию и позволяет запускать ИИ на мобильных устройствах с NPU.

20. Что такое Systolic Array в NPU?

Systolic Array — это специализированная архитектура оборудования для матричных умножений. Состоит из сетки вычислительных блоков, которые передают данные в регулярном ритме. Это чрезвычайно эффективно для матричных операций, встречающихся в нейронных сетях.

21. Сколько TOPS нужно для ИИ инференции?

Для простых ИИ задач вроде распознавания речи достаточно 10-50 TOPS (типично для NPU в ноутбуках). Для сложных LLM нужны сотни-тысячи TOPS (типично для GPU вроде RTX 4090 с 330 TOPS или H100 с 2 000 TOPS).

22. Что такое квантизация в моделях ИИ?

Квантизация — это снижение точности параметров модели, например с FP32 на INT8. Это уменьшает потребление памяти и ускоряет инференцию с минимальными потерями точности. Квантизация критична для запуска моделей ИИ на NPU и мобильных устройствах.

23. Какие устройства имеют NPU?

Современные ноутбуки с CPU Intel Core Ultra или AMD Ryzen AI имеют NPU. Чипы Apple M3 содержат NPU. Смартфоны вроде iPhone 15 Pro и Samsung Galaxy S24 оснащены NPU. Обычно NPU является частью CPU или SoC (System on Chip).

24. Можно ли использовать NPU для обучения ИИ?

Нет, NPU не подходит для обучения ИИ. Она слишком слаба и недостаточно гибка для тренировки крупных моделей. NPU оптимизирована исключительно для ИИ инференции, то есть применения уже обученных моделей к новым данным.

25. Какое преимущество NPU для разработчиков приложений?

NPU позволяет добавить функции ИИ в приложения без внешней GPU. Распознавание речи, распознавание изображений и небольшие модели могут работать локально на ноутбуке без использования облачных сервисов. Это быстрее, приватнее и энергоэффективнее.

Источники

Назад к блогу
Share:

Похожие статьи