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

[Might Need Disscusion] Refine Time Limit #143

Merged
merged 6 commits into from
Nov 16, 2024

Conversation

FANGAreNotGnu
Copy link
Contributor

@FANGAreNotGnu FANGAreNotGnu commented Nov 15, 2024

Time Limit Implementation Strategies

issue #130

Core Principle

The core principle is that when a user specifies a time_limit, we should complete both training and prediction with the best available model, even if the time limit is reached. But as prediction time is hard to estimate, we have several options:

Option 1: Excluding Prediction Time from Time Limit (Current)

  • Approach: time_limit applies only to training (end_of_fit - start_of_init), excluding prediction time
  • Advantages:
    • Simple to implement
    • Maximizes training time utilization
  • Disadvantages:
    • Will always exceed specified time_limit by the prediction duration
    • Unpredictable total execution time from user perspective

Option 2: Percentage-Based Allocation

  • Approach: Reserve a percentage (e.g., 10%) of time_limit for prediction
  • Advantages:
    • Scales proportionally with total time
    • Least likely to exceed time_limit
  • Disadvantages:
    • May unnecessarily restrict training time for long time_limits
    • Example: With 12-hour time_limit, reserving 1.2 hours for prediction is excessive

Option 3: Fixed Time Reservation

  • Approach: Reserve a fixed duration (e.g., 5 minutes) for prediction
  • Advantages:
    • Predictable prediction time allocation
    • Works well for medium-sized datasets
  • Disadvantages:
    • Requires minimum time_limit threshold
    • Inefficient for small datasets
    • May be insufficient for large datasets

Option 4: Hybrid Approach (Percentage with Cap)

  • Approach: Reserve percentage of time_limit (e.g., 10%) with maximum cap (e.g., 20 minutes)
  • Advantages:
    • Balances scaling and practicality
    • Prevents excessive prediction time reservation
  • Disadvantages:
    • Introduces multiple hardcoded parameters
    • More complex to maintain and explain

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@FANGAreNotGnu FANGAreNotGnu changed the title Refine Time Limit [WIP] Refine Time Limit Nov 15, 2024
@FANGAreNotGnu FANGAreNotGnu changed the title [WIP] Refine Time Limit Refine Time Limit Nov 15, 2024
@FANGAreNotGnu FANGAreNotGnu changed the title Refine Time Limit [Might Need Disscusion] Refine Time Limit Nov 15, 2024
@tonyhoo
Copy link
Contributor

tonyhoo commented Nov 16, 2024

/platform_tests
Platform Tests Output

@tonyhoo tonyhoo merged commit bdc1010 into autogluon:main Nov 16, 2024
3 checks passed
AnirudhDagar added a commit that referenced this pull request Nov 18, 2024
boranhan pushed a commit that referenced this pull request Nov 18, 2024
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