Refactor: separate sync/async vllm
Open
UX
vllm
- Dominant language
- Python
- Stars
- 2k
- Forks
- 561
- Avg merge
- 4d 5h
- Merged PRs (30d)
- 145
Description
For now, [vllm.py](https://github.com/NVIDIA-NeMo/RL/blob/3f6d52fc884d6ffc1ab881fd1cb1853cd6ef9eff/nemo_rl/models/generation/vllm.py) is a bit complex with both sync/async code in it.
It's better to separate them to improve the experience of user and developer.
step1:
after doing this, we can aware the code changes of vllm at main branch and not miss them when doing step2.
1. put vllm stuffs from `nemo_rl/models/generation` to `nemo_rl/models/generation/vllm`, so that it's easy for us to support other inference FW in the future.
2. split sync and async vllm worker to different files to make it clear.
step2:
1. tidy and remove duplicated / useless code.
Contributor guide
Assessment
This issue has not been assessed yet.