Mvfst-rl — это платформа для обучения и внедрения RL-агентов, которые контролируют перегрузку сети. RL-агент обучается адаптироваться к изменению паттернов нагрузки на сеть.
Mvfst-rl использует PyTorch для обучения агента. Инструмент разработали поверх mvfst. Mvfst является открытой имплементацией транспортного протокола Internet Engineering Task Force’s QUIC. Перегрузка сети — это проблема снижения качества обслуживания, которая возникает, когда сетевой узел или линия связи переносит больше данных, чем может обрабатывать. Интеграция платформы с mvfst позволяет эффективный перенос обученных RL-агентов из исследовательского окружения в реальный продукт.
Как работает mvfst-rl
Существующие RL-среды для исследования перегрузки сети несовместимы с реальными юзкейсами. Это связано с тем, что они используют RL-интерфейсы с агентами, которые блокируют отправителя сети. Такой дизайн среды является артефактом того, что RL-фреймворки изначально разрабатывались для исследования игр. В случае с играми ограничения ресурсов иначе влияют на систему и агента, чем в случае с реальными широкомасштабными системами. Задержка в несколько миллисекунд негативно сказывается на эффективность системы.
Mvfst-rl основан на идее обучения асинхронного RL-агента, который контролирует паттерны сетевого трафика. Агент справляется с отложенными действиями. Система аккумулирует статистику сети и отправляет обновленное состояние RL-агенту асинхронно. Как только агент получает данные policy, состояние обновляется. Это позволяет среде сети принимать решения по контролю за перегрузкой на основании RL policy без введения задержек.