Новый инструмент позволяет держать PyTorch-модель в видеопамяти, пока вы меняете код на лету. Больше не нужно перезагружать модель после каждого изменения — просто обновите код и продолжайте работу! 🚀 Идеально для экспериментов и быстрого прототипирования. #ML #PyTorch
Разработчики PyTorch теперь могут менять код обучения, не выгружая веса модели из видеопамяти (VRAM). Это особенно актуально для больших языковых моделей (LLM), загрузка которых с диска в VRAM может занимать 30 секунд и более. Новая методика позволяет избежать этих задержек при повторных запусках скрипта, значительно ускоряя процесс разработки. Решение основано на фоновом процессе, который сохраняет модель в памяти даже после завершения основного скрипта. Если перезагрузка модели все же необходима, она происходит в фоновом режиме после выхода, гарантируя мгновенную доступность при следующем запуске. Технология использует второй процесс, который остается активным после завершения целевого скрипта. Вместо прямого выполнения кода, этот процесс запускает его через Python eval(). Метод также поддерживает удаленное выполнение кода через VPN, предлагая альтернативу проблематичному SSH-интерпретатору IntelliJ. Достаточно запустить model_server.py на удаленной машине и client.py на локальном компьютере. Отладка через IntelliJ debugger также поддерживается в этой конфигурации. Дополнительно реализована совместимость с Python-биндингами DearImgui, позволяя отправлять UI-код вместе со скриптом обучения. Это особенно полезно для мониторинга прогресса, потерь и упрощения оценки. Например, интерфейс для визуализации промежуточных результатов Mistral 7B запускается всего за 0.32 секунды, включая время инициализации GUI. Для использования необходимо указать путь к модели в model_server.py и заменить стандартный вызов .from_pretrained на обращение к глобальной переменной ‘model’. Запуск системы прост: сначала выполняется model_server.py, затем client.py с указанием пути к скрипту обучения.