В настоящее время я пытаюсь понять, как RLlib работает с различными алгоритмами. Позвольте мне попытаться объяснить, как я понимаю вещи, и было бы замечательно, если бы кто-то из вас мог дать некоторую обратную связь об этом.
Если бы я использовал простой алгоритм DQN и создал одно испытание, как это:
trial = run_experiments({
custom_params["exp_tag"]: {
"run": DQN,
"env": gym_name,
"config": {
**config
},
"num_samples": 1
},
})
, где я использую некоторые простые синхронные конфигурации DQN с num_workers = 10 и num_gpus = 3. Тогда на самом деле в исследовании не будут задействованы 10 рабочих и, вероятно, не будут использоваться все графические процессоры для ученика, поскольку алгоритм предназначен для взаимодействия между одним учеником и одним работник, верно?
Теперь, когда я использую A3 C, все выглядит иначе, потому что здесь есть асинхронные работники и ученики, поэтому алгоритм будет использовать как можно больше ресурсов в зависимости от того, является ли ученик или рабочий на самом деле является узким местом.
Теперь в сфере высокопроизводительных архитектур это выглядит аналогично. Когда я использую, например, Ape-X, тогда все рабочие ресурсы будут использоваться для оценки политики и создания приоритетного воспроизведения опыта, когда используется только один учащийся.
Как было сказано ранее, я был бы рад, если бы кто-то прокомментировал и поправьте меня в моем понимании, представленном выше.
BR, Vallout