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

Enforce Deprecation of Old Models and Prevent Ensemble Inclusion #107

Open
5 tasks
Polichinel opened this issue Oct 28, 2024 · 0 comments
Open
5 tasks

Enforce Deprecation of Old Models and Prevent Ensemble Inclusion #107

Polichinel opened this issue Oct 28, 2024 · 0 comments
Assignees

Comments

@Polichinel
Copy link
Collaborator

Polichinel commented Oct 28, 2024

Issue: Enforce Deprecation of Old Models and Prevent Ensemble Inclusion

Description
Ensure that deprecated models are flagged and restricted from ensemble use, supporting model integrity and lifecycle management within the pipeline. Deprecated models will be archived for record-keeping without deletion, and ensembles containing deprecated models will be prevented from running to maintain reliability. NOTE: the ensembles should not execute - the user must be made aware that something is very wrong here: fail first philosophy

Objectives and Requirements

  1. Deployment Status Update:

    • Set the deployment status of each deprecated model to "deprecated" within views_pipeline/models/[model]/config_deployment.py and views_pipeline/ensembles/[ensemble]/config_deployment.py.
    • The "deprecated" status should serve as the definitive indicator that a model is retired from all operational use. Reflect this in the project documentation to ensure consistent understanding across the team.
  2. Archive Models without Deletion:

    • By archive, we simply mean that deprecated models are left in the existing model directories but with no way of being executed
    • Ideally, the model's main.py should simply not be able to execute if the model is flagged as deprecated.
  3. Ensemble Execution Block:

    • Implement the ensemble execution check at the earliest stage possible. If a deprecated model is included within an ensemble:
      • Halt the ensemble’s execution.
      • Log a clear, actionable error message indicating that the ensemble did not execute because it includes a deprecated model ([model_name]). The log should include the model’s deprecation status and instructions for removing the deprecated model from the ensemble configuration.

Tasks

  • Update deployment status of deprecated models (if there are any - I don't think there is so may just make a mock model to use as test) to "deprecated" in config_deployment.py files.
  • Implement an automated check to prevent models and ensembles from running if a deprecated model is included or the ensemble itself is deprecated.
  • Configure logging to produce an error message when ensemble execution fails due to the presence of a deprecated model, including instructions for resolving the issue.
  • Test the process to confirm that deprecated models are properly flagged and that ensembles correctly halt with an error log if a deprecated model is included.
  • Update project documentation to describe the deprecation status and ensemble blocking process, ensuring clarity for future updates or maintenance.

Next Steps
After completing the deprecation process, review all model and ensembles main.py (or whichever script was use to enforce this in the end) to ensure compliance. Consider setting up routine checks or alerts to monitor for deprecated models within ensembles, ensuring sustained compliance with the deprecation policy.

Labels
deprecation, model lifecycle, ensemble, error handling

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

No branches or pull requests

3 participants