- 
                Notifications
    
You must be signed in to change notification settings  - Fork 453
 
Make sure that dataset_transformation tests actually run in CI #1116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Added detailed logging throughout the vLLM generation pipeline to diagnose why the benchmark script hangs: - Log prompt submission and queue sizes in benchmark_generators.py - Log actor_manager should_stop status and engine ready status - Log _prefetch_worker iterations and request processing in vllm_utils.py - Log async task creation, completion accumulation, and result queue operations This will help identify where in the pipeline the hang occurs (prompt queue, async tasks, completion queue, or results queue). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Added detailed logging at critical points in the vLLM engine initialization pipeline to diagnose where the script hangs: - benchmark_generators.py: Log ActorManager creation and vLLM engine setup - vllm_utils.py create_vllm_engines: Log engine creation loop progress - LLMRayActor.__init__: Log each initialization step - _setup_and_start_async_engine: Log thread creation and startup sequence This will help identify whether the hang occurs during Ray actor creation, actor initialization, or vLLM AsyncLLMEngine startup. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
The script was hanging because two placement groups were being created: 1. One in setup_vllm_engines() that allocated the GPU 2. Another in create_vllm_engines() that waited forever for the same GPU The placement group created in setup_vllm_engines was only passed to create_vllm_engines when single_gpu_mode=True, causing create_vllm_engines to create a second placement group when single_gpu_mode=False. Fix: Always pass the placement group to create_vllm_engines, preventing the duplicate allocation attempt. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request effectively refactors the testing for dataset_transformation.py by moving ad-hoc tests into a proper unittest suite, which is a great improvement for CI and maintainability. The changes also include significant enhancements to the benchmarking scripts, making them more configurable and robust. The updates to benchmark_generators.py and the new shell scripts for launching benchmarks are well-structured. I've found one minor semantic issue in how epoch_number is being set, which I've commented on. Overall, these are solid improvements to the project's testing and benchmarking infrastructure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor nit on naming but otherwise g2g!
Co-authored-by: Hamish Ivison <hamishivi@gmail.com>
Co-authored-by: Hamish Ivison <hamishivi@gmail.com>
Previously, they only ran when someone manually ran them.
Note
Runs dataset_transformation unit tests in CI with a new test suite and updated workflow, and factors dataset config construction into a reusable helper.
8-Core-XL-Runner-Ubuntu-Latestand passHF_TOKENwhen runningpytestin.github/workflows/tests.yml.open_instruct/test_dataset_transformation.pywith unit tests for tokenizer equality, config-hash differences, and cached dataset parity (using small splits and temp caches).load_dataset_configs(...)and reuse it inget_cached_dataset_tulu_with_statistics(...).__main__block fromopen_instruct/dataset_transformation.py.Written by Cursor Bugbot for commit 4c7ef47. This will update automatically on new commits. Configure here.