Skip to content
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

[Feat] Support explicit FusedOP that allows for the configuration and application of multiple operators in smaller, manageable batches #413

Open
2 tasks done
yxdyc opened this issue Sep 2, 2024 · 2 comments · May be fixed by #415
Assignees
Labels
dj:op issues/PRs about some specific OPs enhancement New feature or request

Comments

@yxdyc
Copy link
Collaborator

yxdyc commented Sep 2, 2024

Search before continuing 先搜索,再继续

  • I have searched the Data-Juicer issues and found no similar feature requests. 我已经搜索了 Data-Juicer 的 issue 列表但是没有发现类似的功能需求。

Description 描述

Currently, the Data-Juicer's recipe and default executor support processing only a sequence of operations, such as OP1 and OP2, over the entire dataset in a linear fashion:

dataset.process([OP1, OP2])

However, to facilitate more granular control and optimize resource management, particularly in scenarios requiring batch-wise sequential processing, the following approach is envisaged:

for data_batch in dataset.batch_iterator(batch_size):
      data_batch.process([OP1, OP2])

This method allows for the application of operators in smaller, manageable batches, potentially improving efficiency, reducing memory footprint and simplifying the code implementation.

To integrate this feature into the cfg.yaml configuration file, a special token, such as dj_batched_group_ops can be proposed. This token will enable users to specify batch processing parameters directly within the configuration, as illustrated below:

process:
  - clean_email_mapper:
  - clean_links_mapper:

-->

process:
  - FusedOP:
      - batch_size: 1  # or any desired batch size
      - clean_email_mapper:
      - clean_links_mapper:

Use case 使用场景

No response

Additional 额外信息

No response

Are you willing to submit a PR for this feature? 您是否乐意为此功能提交一个 PR?

  • Yes I'd like to help by submitting a PR! 是的!我愿意提供帮助并提交一个PR!
@yxdyc yxdyc added the enhancement New feature or request label Sep 2, 2024
@yxdyc yxdyc changed the title [Feat] Support dj_batched_group_ops that allows for the configuration and application of operators in smaller, manageable batches [Feat] Support dj_batched_group_ops that allows for the configuration and application of multiple operators in smaller, manageable batches Sep 2, 2024
@drcege drcege linked a pull request Sep 5, 2024 that will close this issue
Copy link

This issue is marked as stale because there has been no activity for 21 days. Remove stale label or add new comments or this issue will be closed in 3 day.

Copy link

Close this stale issue.

@HYLcool HYLcool reopened this Oct 31, 2024
@yxdyc yxdyc changed the title [Feat] Support dj_batched_group_ops that allows for the configuration and application of multiple operators in smaller, manageable batches [Feat] Support explicit FusedOP that allows for the configuration and application of multiple operators in smaller, manageable batches Nov 4, 2024
@yxdyc yxdyc added dj:op issues/PRs about some specific OPs and removed stale-issue labels Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dj:op issues/PRs about some specific OPs enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants