Training
PyTorch
Основной фреймворк для глубокого обучения с динамическими графами вычислений на Python.
Что такое PyTorch
PyTorch — открытый фреймворк для глубокого обучения от Meta, стандарт де-факто в ML-исследованиях и всё более в production. Ключевое отличие от TensorFlow первых версий — динамические вычислительные графы (eager execution): код выполняется немедленно, как обычный Python, что делает отладку интуитивной.
Большинство ML-библиотек (Hugging Face Transformers, vLLM, DeepSpeed, TRL) используют PyTorch в качестве бэкенда.
Ключевые концепции
Тензор — многомерный массив (аналог NumPy), но с поддержкой GPU и автодифференцирования:
import torch
# Создание тензора на GPU
x = torch.randn(4, 512, dtype=torch.bfloat16, device="cuda")
# Операции выполняются на GPU
y = x @ x.T # матричное умножение
Autograd — автоматическое вычисление градиентов:
x = torch.randn(3, requires_grad=True)
loss = (x**2).sum()
loss.backward() # вычислить dl/dx
print(x.grad) # градиент: 2x
torch.compile (PyTorch 2.0+) — JIT-компиляция модели для ускорения:
model = torch.compile(model) # 20–40% ускорение для инференса
Установка
# CUDA 12.1
pip install torch --index-url https://download.pytorch.org/whl/cu121
# Проверка
python -c "import torch; print(torch.cuda.is_available())" # True
Связанные термины
- CUDA — платформа, используемая PyTorch для GPU-вычислений
- mixed precision — BF16/FP16 обучение в PyTorch
- FSDP — встроенный в PyTorch механизм распределённого обучения
- DeepSpeed — надстройка над PyTorch для распределённого обучения
Готовы запустить GPU-задачу?
Запустить GPU-сервер