-
Notifications
You must be signed in to change notification settings - Fork 4
Add metadata.py and test_simple_storage_unit.py #9
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
Add metadata.py and test_simple_storage_unit.py #9
Conversation
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.
Pull Request Overview
This PR adds core metadata structures for handling data batches and fields in the transfer queue system, along with terminology consistency improvements and comprehensive test coverage for storage functionality.
- Introduces
metadata.py
with data structures for managing field, sample, and batch metadata - Updates variable naming from "per_tensor" to "per_field" for clarity and consistency across storage and controller components
- Adds extensive test coverage for the simple storage unit with various data types and client scenarios
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
File | Description |
---|---|
verl/experimental/transfer_queue/metadata.py | New file containing metadata classes (FieldMeta, SampleMeta, BatchMeta, StorageMetaGroup) for structured data handling |
verl/experimental/transfer_queue/storage.py | Updates variable names and comments from "per_tensor" to "per_field" terminology |
verl/experimental/transfer_queue/controller.py | Updates method names and variable types to use "per_field" terminology consistently |
verl/experimental/transfer_queue/client.py | Updates property access from deprecated fields to field_names |
tests/experimental/transfer_queue/test_simple_storage_unit.py | New comprehensive test suite covering storage operations with various data types and client scenarios |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
object.__setattr__(self, "_local_indexes", [sample.local_index for sample in self.samples]) | ||
object.__setattr__(self, "_storage_ids", [sample.storage_id for sample in self.samples]) | ||
|
||
# assume all samples have the same fields. |
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.
This assumption should be documented more prominently, possibly as a class docstring note or method parameter documentation, as it's a critical constraint for the BatchMeta functionality.
Copilot uses AI. Check for mistakes.
log_probs_tensor = torch.randn(32768) | ||
rewards_tensor = torch.randn(32768) |
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.
[nitpick] The tensor size 32768 appears as a magic number. Consider defining it as a constant (e.g., LARGE_TENSOR_SIZE = 32768
) for better maintainability.
Copilot uses AI. Check for mistakes.
Co-authored-by: Copilot <[email protected]>
* Add metadata.py and test_simple_storage_unit.py * Add copyright and license information to test_simple_storage_unit.py * Apply suggestion from @Copilot Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Han Zhenyu 韩振宇 <[email protected]> Co-authored-by: Copilot <[email protected]>
What does this PR do?
Checklist Before Starting
[{modules}] {type}: {description}
(This will be checked by the CI){modules}
includefsdp
,megatron
,sglang
,vllm
,rollout
,trainer
,ci
,training_utils
,recipe
,hardware
,deployment
,ray
,worker
,single_controller
,misc
,perf
,model
,algo
,env
,tool
,ckpt
,doc
,data
,
like[megatron, fsdp, doc]
{type}
is infeat
,fix
,refactor
,chore
,test
[BREAKING]
to the beginning of the title.[BREAKING][fsdp, megatron] feat: dynamic batching
Test
API and Usage Example
# Add code snippet or script demonstrating how to use this
Design & Code Changes
Checklist Before Submitting
Important
Please check all the following items before requesting a review, otherwise the reviewer might deprioritize this PR for review.
pre-commit install && pre-commit run --all-files --show-diff-on-failure --color=always
ci-request
channel in theverl
Slack workspace. (If not accessible, please try the Feishu group (飞书群).)