RLlib: Понимание того, сколько рабочих и инструкторов используется для заданного алгоритма c - PullRequest
1 голос
/ 23 февраля 2020

В настоящее время я пытаюсь понять, как 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

...