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

Adjust topic initial regret initialization #670

Conversation

guilherme-brandao
Copy link
Contributor

@guilherme-brandao guilherme-brandao commented Nov 13, 2024

Purpose of Changes and their Description

PROBLEM

  • To calculate the initial topic regret, we need to have at least one participant with enough experience to be used in the StdDev.

  • workerRegrets are selected based on the worker experience:
    experienceCount > 1/alphaRegret

  • After the last migration, we deleted all regrets, set the initial regret of topics to 0, and also set all scores to 0. All participants were reinitialized.

  • A high number of workers with equal scores means high volatility in the active set and, consequently, a low chance of experienced participants in the active set. The problem gets a lot worse for topics that have long epochs.

SOLUTION

  • If there are fewer than 10 workers (or not enough to calculate a reliable standard deviation), we include regrets with minimal experience.
  • In cases where regrets are used with insufficient experience, set the dummy regret to the 25th percentile of existing regrets, without adjusting by a standard deviation multiple.
  • Define "not enough workers" as fewer than 10 workers.
  • This approach activates the intended functionality once there are at least 10 workers, each with at least
    1/alphaRegret epochs of experience. If these conditions aren’t met, we’re in a cold start, prioritizing rapid inclusion to avoid gaps.

The essence of the change is to maintain the purpose of regret equilibrium before calculating standard deviation, aligning with the design intention of regret handling.

Link(s) to Ticket(s) or Issue(s) resolved by this PR

https://linear.app/alloralabs/issue/PROTO-2806/investigate-potential-inference-synthesis-issues-found-by-research

Are these changes tested and documented?

  • [OK] If tested, please describe how. If not, why tests are not needed.
  • [OK] If documented, please describe where. If not, describe why docs are not needed.
  • [OK ] Added to Unreleased section of CHANGELOG.md?

@guilherme-brandao guilherme-brandao marked this pull request as ready for review November 14, 2024 11:15
relyt29
relyt29 previously approved these changes Nov 15, 2024
Copy link
Contributor

@relyt29 relyt29 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Conceptually looks good. Minor comments

Copy link
Contributor

@amimart amimart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, just noted some simplification

@guilherme-brandao guilherme-brandao force-pushed the guilherme/proto-2806-investigate-potential-inference-synthesis-issues-found-by branch from a674331 to 8d69e3f Compare November 25, 2024 18:50
@guilherme-brandao guilherme-brandao force-pushed the guilherme/proto-2806-investigate-potential-inference-synthesis-issues-found-by branch from 78f5882 to 9d5474b Compare November 26, 2024 15:30
@kpeluso
Copy link
Collaborator

kpeluso commented Dec 2, 2024

The PR description should be updated to reflect the latest intentions implemented by this PR / description of what's actually here @guilherme-brandao

@kpeluso
Copy link
Collaborator

kpeluso commented Dec 2, 2024

@guilherme-brandao the PR template was not fully filled out

Copy link
Collaborator

@kpeluso kpeluso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just 1 missing param. Otherwise, matches this description

@guilherme-brandao guilherme-brandao force-pushed the guilherme/proto-2806-investigate-potential-inference-synthesis-issues-found-by branch from d42d128 to 58cd0d3 Compare December 2, 2024 23:36
Copy link

github-actions bot commented Dec 2, 2024

The latest Buf updates on your PR. Results from workflow Buf Linter / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed⏩ skippedDec 3, 2024, 7:37 AM

@guilherme-brandao guilherme-brandao merged commit 69582a1 into dev Dec 3, 2024
9 checks passed
@guilherme-brandao guilherme-brandao deleted the guilherme/proto-2806-investigate-potential-inference-synthesis-issues-found-by branch December 3, 2024 17:46
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.

5 participants