Haidra-Org / AI-Horde

A crowdsourced distributed cluster for AI art and text generation
GNU Affero General Public License v3.0
1.05k stars 125 forks source link

Allow to set a worker in a special mode which allows only requests where this worker is requested explicitely #71

Open leszekhanusz opened 1 year ago

leszekhanusz commented 1 year ago

I tried to see which power I could allow with my RTX3080 10GB with the inpainting model but if I start accepting requests for the horde, inevitably it starts generating images from other people and will crash if the image requested is too big.

For such experimentations, it would be nice if we could set the worker in a special mode where it would only accept request destined to this worker explicitely (if it is present in the workers field in the API)

db0 commented 1 year ago

This goes against the spirit of the horde, It would allow people to host fake workers and not serve anything just to farm uptime kudos.

I'll see if we can set a temporary flag that can be set by horde moderators only and expires after 24h or something.

leszekhanusz commented 1 year ago

You could simply stop generating kudos in this mode but we definitely need a way to test a worker independently. IMHO asking moderators for this would be quite annoying. At the very least the possibility to test on localhost without contact with the horde at all.

db0 commented 1 year ago

Oh ye why didn't I think of pausing kudos rewards. Good idea

db0 commented 1 year ago

It does leave open the possibility that someone will use the horde only for their own benefit (using it as a free networking). but I think we can try it out like this and deal with it later if it becomes a problem

ndahlquist commented 1 year ago

Could we use maintenance mode for this? Actually, this is what I expected:

  1. I put my worker into maintenance mode, intending to perform stress testing and make sure the models perform correctly.
  2. I selected the "Use specific worker" in the web UI.

I intuitively expected that my jobs would still go to my worker under maintenance, but that seems to not be the case. Could we re-use that feature for this?