Skip to content

Add metadata.py and test_simple_storage_unit.py#9

Merged
0oshowero0 merged 3 commits into
TransferQueue:mainfrom
jianjunzhong:feat/add-meta-storage-ut
Sep 26, 2025
Merged

Add metadata.py and test_simple_storage_unit.py#9
0oshowero0 merged 3 commits into
TransferQueue:mainfrom
jianjunzhong:feat/add-meta-storage-ut

Conversation

@jianjunzhong

Copy link
Copy Markdown

What does this PR do?

Add concise overview of what this PR aims to achieve or accomplish. Reference related GitHub issues and PRs that help with the review.

Checklist Before Starting

  • Search for similar PRs. Paste at least one query link here: ...
  • Format the PR title as [{modules}] {type}: {description} (This will be checked by the CI)
    • {modules} include fsdp, megatron, sglang, vllm, rollout, trainer, ci, training_utils, recipe, hardware, deployment, ray, worker, single_controller, misc, perf, model, algo, env, tool, ckpt, doc, data
    • If this PR involves multiple modules, separate them with , like [megatron, fsdp, doc]
    • {type} is in feat, fix, refactor, chore, test
    • If this PR breaks any API (CLI arguments, config, function signature, etc.), add [BREAKING] to the beginning of the title.
    • Example: [BREAKING][fsdp, megatron] feat: dynamic batching

Test

For changes that can not be tested by CI (e.g., algorithm implementation, new model support), validate by experiment(s) and show results like training curve plots, evaluation results, etc.

API and Usage Example

Demonstrate how the API changes if any, and provide usage example(s) if possible.

# Add code snippet or script demonstrating how to use this

Design & Code Changes

Demonstrate the high-level design if this PR is complex, and list the specific changes.

Checklist Before Submitting

Important

Please check all the following items before requesting a review, otherwise the reviewer might deprioritize this PR for review.

@0oshowero0
0oshowero0 requested a review from Copilot September 26, 2025 01:42

Copilot AI left a comment

Copy link
Copy Markdown

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.

Comment thread verl/experimental/transfer_queue/metadata.py Outdated
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.

Copilot AI Sep 26, 2025

Copy link

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.
Comment on lines +330 to +331
log_probs_tensor = torch.randn(32768)
rewards_tensor = torch.randn(32768)

Copilot AI Sep 26, 2025

Copy link

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 <175728472+Copilot@users.noreply.github.com>
@0oshowero0
0oshowero0 merged commit 01bef2a into TransferQueue:main Sep 26, 2025
0oshowero0 added a commit that referenced this pull request Sep 28, 2025
* 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 <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Han Zhenyu 韩振宇 <o0shower0o@outlook.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
ji-huazhong added a commit that referenced this pull request Nov 18, 2025
…oller

* Support storage unit in TransferQueue

* Fix importance error

* Support controller in TransferQueue (#2)

* Support controller in TransferQueue

* Fix import

* Fix comments

---------

Co-authored-by: liuximeng <13073314+liuximeng18772102439@user.noreply.gitee.com>

* expose TransferQueueClient (#3)

* Add copyright and license information

Added copyright and licensing information to the controller.py file.

* update client docstring (#5)

Signed-off-by: 0oshowero0 <o0shower0o@outlook.com>

* merge TransferQueue utils (#4)

* [fix] Fix n_sample related problems (#8)

* update client docstring

Signed-off-by: 0oshowero0 <o0shower0o@outlook.com>

* fix n_sample related problems

Signed-off-by: 0oshowero0 <o0shower0o@outlook.com>

---------

Signed-off-by: 0oshowero0 <o0shower0o@outlook.com>

* expose TransferQueue client/controller UT (#6)

* Add metadata.py and test_simple_storage_unit.py (#9)

* 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 <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Han Zhenyu 韩振宇 <o0shower0o@outlook.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add reorder function to BatchMeta (#13)

Co-authored-by: liuximeng <13073314+liuximeng18772102439@user.noreply.gitee.com>

* [recipe, data] feat: TransferQueue - Support managing multiple data partitions for Train/Val/Test in controller (#45)

Co-authored-by: liuximeng <13073314+liuximeng18772102439@user.noreply.gitee.com>

* delete TQ source codes

Signed-off-by: 0oshowero0 <o0shower0o@outlook.com>

* update docs

Signed-off-by: 0oshowero0 <o0shower0o@outlook.com>

* update performance

Signed-off-by: 0oshowero0 <o0shower0o@outlook.com>

* fix

Signed-off-by: 0oshowero0 <o0shower0o@outlook.com>

---------

Signed-off-by: 0oshowero0 <o0shower0o@outlook.com>
Co-authored-by: FightingZhen <295632982@qq.com>
Co-authored-by: Han Zhenyu 韩振宇 <o0shower0o@outlook.com>
Co-authored-by: LLLLxmmm <130739718+LLLLxmmm@users.noreply.github.com>
Co-authored-by: liuximeng <13073314+liuximeng18772102439@user.noreply.gitee.com>
Co-authored-by: Han Zhenyu 韩振宇 <hanzy19@tsinghua.org.cn>
Co-authored-by: zhabuye <74179177+zhabuye@users.noreply.github.com>
Co-authored-by: Jianjun Zhong <87791082+jianjunzhong@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants