👋 Память под контролем: RamTorch для обучения больших моделей
PyTorch library для памяти-эффективного Deep Learning, позволяющая обучать и запускать большие модели, которые не помещаются в GPU-память.
RamTorch предоставляет гибридные CPU-GPU реализации компонентов нейросетей: параметры хранятся в CPU и передаются на GPU по мере необходимости.
Такой подход значительно снижает использование GPU-памяти при сохранении высокой вычислительной эффективности за счет асинхронных CUDA потоков и интеллектуальной пакетной обработки.
Ключевые возможности:
🔵 Память-эффективные линейные слои: параметры на CPU, GPU только по необходимости
🔵 Асинхронные CUDA потоки: перекрытие вычислений и передачи данных для минимальной задержки
🔵 Поддержка ZeRO-1 Optimizer: распределение состояния оптимизатора по нескольким GPU
🔵 Drop-in замена: совместимо с существующим кодом PyTorch
Установка:
pip install ramtorch
Простой пример:
import torch
from ramtorch import Linear
# Standard PyTorch approach (high GPU memory usage)
# linear = torch.nn.Linear(1000, 1000)
# RamTorch approach (low GPU memory usage)
linear = Linear(1000, 1000, device="cuda")
# Use exactly like a normal PyTorch layer
x = torch.randn(32, 1000, device="cuda")
output = linear(x) # Parameters automatically transferred from CPU to GPU
Репозиторий
👉Новости 👉База вопросов
