Фаза 00 · урок 03

Настройка GPU и облачные вычисления

Цель урока: Большинство уроков фаз 1–3 нормально работает на CPU. Но когда вы начнёте обучать свёрточные нейронные сети, трансформеры или LLM в фазах 4 и далее, понадобится ускорение на GPU. Обучение, занимающее 8 часов на CPU, может занять 10…

Текущий релиз AlexBred.com: первые 100 уроков русскоязычной программы.

Курс
AI Engineering from Scratch
Фаза
Настройка и инструменты
Чтение
4 мин.
Проверено
Содержание урока
  1. Цели обучения
  2. Проблема
  3. Концепция
  4. Собираем сами
  5. Вариант 1. Локальный GPU NVIDIA
  6. Вариант 2. Google Colab
  7. Вариант 3. Облачный GPU
  8. Нет GPU? Ничего страшного
  9. Собираем сами: сравнение GPU и CPU
  10. Упражнения
  11. Ключевые термины

Для обучения подойдёт и CPU. Для настоящих задач обучения нужен GPU.

Тип: Практика Языки: Python Предварительные требования: Фаза 0, урок 01 Время: около 45 минут

Цели обучения

  • Проверить наличие локального GPU с помощью nvidia-smi и CUDA API в PyTorch.
  • Настроить Google Colab с GPU T4 для бесплатных облачных экспериментов.
  • Сравнить умножение матриц на CPU и GPU и измерить ускорение.
  • Оценить размер крупнейшей модели, помещающейся в VRAM, с помощью приближённого правила для fp16.

Проблема

Большинство уроков фаз 1–3 нормально работает на CPU. Но когда вы начнёте обучать свёрточные нейронные сети, трансформеры или LLM в фазах 4 и далее, понадобится ускорение на GPU. Обучение, занимающее 8 часов на CPU, может занять 10 минут на GPU.

У вас есть три варианта: локальный GPU, облачный GPU или бесплатный Google Colab.

Концепция

Доступные варианты:

1. Локальный GPU NVIDIA
   Стоимость: $0 (он у вас уже есть)
   Настройка: установить CUDA + cuDNN
   Лучше всего подходит для регулярной работы и больших наборов данных

2. Google Colab (бесплатный тариф)
   Стоимость: $0
   Настройка: не требуется
   Лучше всего подходит для быстрых экспериментов при отсутствии домашнего GPU

3. Облачный GPU (Lambda, RunPod, Vast.ai)
   Стоимость: $0,20–2,00 в час
   Настройка: SSH + установка ПО
   Лучше всего подходит для серьёзного обучения и больших моделей

[!note] Примечание переводчика Цены, бесплатные тарифы и доступные ускорители приведены по состоянию исходной ревизии от 25 июня 2026 года. Перед использованием проверьте текущие условия выбранного сервиса.

Собираем сами

Вариант 1. Локальный GPU NVIDIA

Проверьте, установлен ли он:

nvidia-smi

Установите PyTorch с поддержкой CUDA:

import torch

print(f"CUDA available: {torch.cuda.is_available()}")
print(f"CUDA version: {torch.version.cuda}")
if torch.cuda.is_available():
    print(f"GPU: {torch.cuda.get_device_name(0)}")
    print(f"Memory: {torch.cuda.get_device_properties(0).total_memory / 1e9:.1f} GB")

Вариант 2. Google Colab

  1. Перейдите на colab.research.google.com.
  2. Выберите Runtime → Change runtime type → T4 GPU.
  3. Для проверки выполните !nvidia-smi.

Загружайте блокноты из этого курса непосредственно в Colab.

Вариант 3. Облачный GPU

Для Lambda Labs, RunPod или Vast.ai:

ssh user@your-gpu-instance

pip install torch torchvision torchaudio
python -c "import torch; print(torch.cuda.get_device_name(0))"

Нет GPU? Ничего страшного

Большинство уроков работает на CPU. В уроках, которым нужен GPU, это будет указано и будут приведены ссылки на Colab.

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print(f"Using: {device}")

Собираем сами: сравнение GPU и CPU

import torch
import time

size = 5000

a_cpu = torch.randn(size, size)
b_cpu = torch.randn(size, size)

start = time.time()
c_cpu = a_cpu @ b_cpu
cpu_time = time.time() - start
print(f"CPU: {cpu_time:.3f}s")

if torch.cuda.is_available():
    a_gpu = a_cpu.to("cuda")
    b_gpu = b_cpu.to("cuda")

    torch.cuda.synchronize()
    start = time.time()
    c_gpu = a_gpu @ b_gpu
    torch.cuda.synchronize()
    gpu_time = time.time() - start
    print(f"GPU: {gpu_time:.3f}s")
    print(f"Speedup: {cpu_time / gpu_time:.0f}x")

Упражнения

  1. Запустите приведённый выше тест и сравните время работы CPU и GPU.
  2. Если у вас нет GPU, выполните тест в Google Colab и сравните результаты.
  3. Узнайте объём памяти своего GPU и оцените размер крупнейшей помещающейся в неё модели. Приближённое правило для fp16: 2 байта на параметр.

Ключевые термины

Термин Как обычно говорят Что это означает на самом деле
CUDA «Программирование для GPU» Платформа параллельных вычислений NVIDIA, позволяющая выполнять код на GPU
VRAM «Память GPU» Видеопамять GPU, отдельная от системной оперативной памяти; ограничивает размер модели
fp16 «Половинная точность» 16-битный формат с плавающей точкой; требует вдвое меньше памяти, чем fp32, при минимальной потере точности
Tensor Core «Быстрое матричное оборудование» Специализированные ядра GPU для умножения матриц, работающие в 4–8 раз быстрее обычных ядер

Источник: GPU Setup & Cloud — оригинал Навигация: назад: 00.02 — Git и совместная работа · Фаза 0 — Настройка и инструменты · Полный каталог · далее: 00.04 — API и ключи.