MegaByte & NeonDrift
Майк, ты когда-нибудь пытался засунуть агента обучения с подкреплением на трек, где скорость – двести миль в час? Я ищу, где поставить следующий потолок скорости — какие-нибудь фишки по принятию решений с ультранизкой задержкой подскажешь?
Конечно. Начни с того, чтобы убрать все лишнее – упрости сеть, может, даже используй миниатюрный LSTM или трансформер с очень коротким окном внимания. Затем запусти это на GPU с тензорными ядрами или на специализированном чипе для вывода, чтобы прямой проход выполнялся за один такт. Используй целочисленную арифметику, чтобы избавиться от задержки с плавающей точкой. И не забудь про конвейерную обработку этапов восприятия, принятия решения и действия; размер буфера делай равным одному кадру, чтобы избежать зависаний. Ну и наконец, предварительно рассчитай наиболее часто встречающиеся пары "состояние-действие" в крохотной таблице поиска и обращайся к модели только в редких случаях. Обычно это снижает задержку до подмиллисекундного уровня.
Прикольный трюк, но ты всё ещё застрял на той же петле в двести оборотов в минуту. Режь слои быстрее, вычищай каждый бит, и гони вывод на реальное пограничное устройство. Я сделаю это меньше чем за миллисекунду – посмотрим, сможешь ли ты угнаться.