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

Add a method to validate result produced by workers #12

Open
gmontamat opened this issue Dec 5, 2018 · 1 comment
Open

Add a method to validate result produced by workers #12

gmontamat opened this issue Dec 5, 2018 · 1 comment
Assignees

Comments

@gmontamat
Copy link
Owner

gmontamat commented Dec 5, 2018

The distributed version of the algorithm receives results from the workers without validating their work. This is safe when one has control of all the instances running the worker nodes but it is dangerous when one shares the queue of jobs on the internet.
When opening the genetic algorithm to the world, a malicious user may return a fake metric claiming to have trained the model using k-fold cross validation, corrupting the overall result of the parameter tuning.
Some options to prevent this from happening are to:

  • Send the workers a random dev set after they finish evaluating an individual and ask them to make predictions using the model trained
  • Use different workers at random to evaluate the same individual and cross-check their results
  • Find a proof of work like the time it used to run, maybe ask for partial results
  • Blockchain? (j/k, no way!)
@gmontamat gmontamat self-assigned this Dec 5, 2018
@gmontamat
Copy link
Owner Author

Another approach is to:
Generate a docker image for the clients (aka workers) code with obfuscated code and encrypted server credentials so that anyone running it cannot modify the code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant