Hacker News new | comments | show | ask | jobs | submit login
Rent out GPUs to AI researchers and make ~2x more than mining cryptocurrencies (reddit.com)
488 points by mparramon 6 months ago | hide | past | web | favorite | 124 comments



Disclosure: I work on Google Cloud (and launched Preemptible VMs).

Cool! Like you, I wish people would make productive use of spare cycles.

Can I suggest you add a note comparing this to BOINC/gridcoin as well? I think your marketplace is a better idea, but because of the security implications dgacmu pointed out downthread, it shouldn’t be treated lightly.

Also, I really like your white paper (https://vectordash.com/primer) as it’s nicely formatted and has pretty icons. I think you should update the comparisons to the cloud providers though. Comparing a Pascal-series (1080 Ti) part to a Kepler part (K80) isn’t particularly fair, as NVIDIA charges about the same for that part as the later P100s and V100s. That is, people should be comparing what the best price/performance ratio is, and all three providers have better options. There’s a secondary question about whether the right comparison is to AWS Spot / Preemptible VMs / Low Priority VMs, but I’m not sure from a quick skim what the likely preemption rate will be with your setup.

Finally, let me echo dgacmu in saying it’s too bad that NVIDIA forces all providers to only provide the expensive parts. The best price/performance is certainly the consumer parts (that 1080 Ti compares favorably to a P100 at a fraction of the cost), but both the EULA and otherwise prevent it. You’re not running a direct service / providing things in a data center which is a cool workaround! But you should definitely be more clear about the risks of letting untrusted third-party code to execute against your GPU.

Again, great project!


My concern is this would be a great vector for some form of State-sponsored deployment of a sneaky rootkit which is then embedded in everyone's GPU.

That said, I'd much prefer to see GPU cycles (and power usage) going towards scientific endeavors rather than the current crypto-mining boom.


Whats the cheapest hourly for a pre-emptive P100 instance?



And a NVIDIA GeForce 1080 TI is roughly $1000 USD right now (and should be $800 if cryptocurrency wasn't inflating the prices):

https://pcpartpicker.com/products/video-card/#c=390&sort=pri...

Cloud computing is so ridiculously expensive for GPUs.


We at Gridmarkets have cracked this one(spare cycles) and are now further enhancing the model.


You should elaborate when you say stuff like this otherwise some people will assume you are just advertising.


That's a nice word-salad you got there.


Talking to VCs will do this to a person. I dont know why they can't just speak normal English, but spewing marketese seems to be a rite of passage.


There's a lot of comments on that reddit thread about how awesome this would be as a service.

But there's a big problem of trust with this for ML.

How do I know you actually ran what I paid you for and not just generated random data that looks right in the shape I wanted it?

You could farm it out to two people and if the results disagree, then payment is decided by a third. But then you've just doubled the (paid) workload, and you've not really solved collusion by a significant portion of the workers.


It's pretty much letting people with GPUs become a sort of 'mini-cloud provider'. There's no job queue or fancy distributing computing setup. We just let you SSH into a container on someone's computer, and pay for the time used.

I was doing a lot of fun deep learning projects on the side & would often Venmo my friend who was mining Ethereum to use his GPU to train my models. He made more and I paid less than AWS spot instances or Paperspace.

This is just a fun side project hoping to let people who want to train their deep learning models do it cheaply (on other people's computers!)


I love the way this idea evolved across threads, to stimulate a great discussion! As this idea attracts attention, the limits of scaling this become clear, as does the need for well balanced network incentives. This is one of those problems that actually does benefit from a blockchain token, and a few implementations are just emerging. I imagine success with this concept will include Homomorphic Encryption or Zero Knowledge Proofs, in order to prove unique processing took place. Value added services seem to be a natural fit as well. Check out Openmined ( https://github.com/OpenMined/Docs) Cardstack (particularly this recent post “The Tally Protocol: Scaling Ethereum With Untapped GPU Power” @christse https://medium.com/cardstack/the-tally-protocol-scaling-ethe... and Ocean Protocol, and as others mentioned, SONM, iExec, Golem, and all the BOINC tokens (pascal coin). I so look forward to this whole niche maturing.


I think this is a great business idea with a lot of potential, if you can address the reliability, scalability and trust problems you might have a really large business opportunity here. I'm really impressed with your pragmatic and simple (for the user) implementation of this idea, I think you really did a great job identifying a minimal set of useful features and implementing that to validate your idea, congratulations! How long did you work on this so far if I might ask?


Instead of having the party ssh into a VM installed on the user's machine, potentially exposing a high majority of the user's codebase, have you considered spinning up temporary containers on your back-end and having contributors install something like remote CUDA or remote OpenCL so that only the GPU kernels are transferred to the contributor, who's client software polls a network queue checking to see what kernel should be run and where the results should be sent?


Remote CUDA seems incredibly useful - this is an excellent idea - I'll look more into it tonite.


Good idea from the perspective of not exposing the code base. However, technologies such as remote Cuda/OpenCL which rely on remote execution of compute kernels in general require high-bandwidth and low-latency connectivity - this is especially true for deep learning / AI workloads, not necessarily for other applications which may have a higher computer to data transfer / synchronization ratios. The latency on a typical internet connection will likely stall the GPUs on a remote system, yielding little compute benefit.


> It's pretty much letting people with GPUs become a sort of 'mini-cloud provider'. There's no job queue or fancy distributing computing setup. We just let you SSH into a container on someone's computer, and pay for the time used.

I had the same idea a few days ago - but in my head, the process would be wrapped up as a "cryptocurrency" where the AI researchers pay real money and the "proof of work" is useful/"real" work. I ran into 2 issues regarding trust: the first is that how do you verify that the hardware owner is running the real job an not NOOP'ing and sending false results? The second issue is how do you protect the hardware from malicious jobs? GPUs have DMA access - how do you stop task submitters from rooting your box and recruiting it into an AI botnet (for free)?I ended up dismissing the idea, but if you could work out these 2 issues, there's money to be made...


> the first is that how do you verify that the hardware owner is running the real job an not NOOP'ing and sending false results?

Consensus. Have _n_ nodes perform the same work (if it’s deterministic), and only accept (and pay) if all the nodes match - or at least the nodes that were part of the majority

I don’t think this would be considerably different from SETI or folding@home, which have been going on for around twenty years.

For my senior project in college one of our ideas was a distributed render farm that operated like what we’re talking about. There were some additional issues there (transfering assets, preventing node owners from extracting the output [say a studio was “letting” fans donate compute time to render a feature film], etc).


It would work well for problems that are computationally hard to solve, but easy to verify solutions for. Unfortunately, such problems are ubiquitous in cryptocurrency, but rare in machine learning.


Well, not really. Training a model is one such task. It's hard to train a network but easy to verify that it has good performance (training vs inference).

The real problem here, I believe, and I've seen this idea pop up several times on hackernews, is that almost no machine learning tasks are progress free.

If the cryptocurrency is just paid out to the person who solves the task first in a non-progress free problem, then the person with the fastest GPU would mine all the coins and nobody else can participate. One of the key ideas behind proof of work is that if two people have the same compute, and person A has a headstart, if person A has not succeeded by the time person B starts, they'll have the same probability of mining a block.

People seem to be just jumping on the crypto bandwagon and trying to come up with "useful" proof of work, but it's a pretty difficult task.


If you can pay for a single fully trusted node to do the calculation once, the cost of n nodes redundantly calculating the same result in order to establish trust must require those untrusted nodes to be cumulatively cheaper than the one trusted node, in order for there to be an economic incentive to do so, no?

My assumption is that you would have to be faithful in a low number of untrusted nodes in order for that to end up cheaper.

The cases of folding and SETI are particularly different because there are institutions which have in interest in funding these programs in part due to their goal being a public cause. The same clearly doesn’t apply to micro tasks if you will.

But I can imagine cases in which you can accept bad actors giving bunk results for some percentage of the calculations you run. As long as you’re rotating nodes often enough (provided that they’re from distinct actors) I’m imagine it could work out to be economically more feasible to spend the time to work around that bad data than it would be to directly hire fully trustable compute power.


Consensus for every computation would be 2x as expensive, but you may be able to achieve something like it with randomly assigning 10% of the calculations to be double-checked, and double=checking more (all?) of a node's computations if it has an inconsistent result.


BOINC has quite a sophisticated system, but it's a long time since I looked at the details. I believe new participants are subject to greater scrutiny.


> Consensus. Have _n_ nodes perform the same work (if it’s deterministic), and only accept (and pay) if all the nodes match - or at least the nodes that were part of the majority

Sounds vulnerable to sibyl attacks.


> Consensus. Have _n_ nodes perform the same work (if it’s deterministic), and only accept (and pay) if all the nodes match - or at least the nodes that were part of the majority

Soudns vulnerable to sibyl attacks.


I’m under the impression that proof of work that verifies the authenticity of transactions on a blockchain cannot must depend on those specific transactions as its input. If there are other uses for the work that are unrelated to securing specific transactions, then the fact that you performed the work says nothing about the authenticity of those transactions.


> how do you stop task submitters from rooting your box and recruiting it into an AI botnet (for free)?

Only real way to do this is run the job in a VM with a GPU and CPU+motherboard that support passthrough (read: not consumer NVidia GPU's, your CPU+board must support an IOMMU and your card cannot freak out when being reset after initialization).


Golem is solving exactly this problem.


Saw a panel with the golem people just last night, and sure enough this question came up. The short answer is that they don't have a solution yet and IMO their thinking was no more advanced than what I'm seeing on this thread.


Give them some time. They are solving many large, complex problems. It looks like they're pretty close to having something that works too.


How is their problem substantially different from this project? Apart of course from the overheard and complexity caused by trying to force what should probably just be a centralised service into a blockchain.

Don't get me wrong, I think it's a great idea. I just don't see why it needs a blockchain and all the associated trustless infrastructure. Even nicehash doesn't bother with all that.


I suppose the approach by the Golem team is substantially different because the ideology associated with it.

What you see as “trying to force what should probably just be a centralized service,” I see as “innovating a new approach to powering decentralized architecture.”

I’m not saying you’re wrong. It would be easier to solve the problem using existing tool sets and more mature protocols. Yet, I’m pretty sure that the Golem team is doing something right. So there’s that. Maybe this isn’t a zerosum thing.


> I’m pretty sure that the Golem team is doing something right

I'm not at all convinced that the golem team have any particular insight to solve this obvious and common problem that everyone else doesn't have. And frankly I think that the overhead of running unnecessary infrastructure will render them price-uncompetitive to any reasonable centralised provider. In short, I predict they will fail.

But eh, they raised USD$8m and I didn't, so what do I know.


>In short, I predict they will fail.

I guess that's why we're sitting in different camps.

One advantage that the Golem team has over a centralized, proprietary solution is the open nature of the project:

https://github.com/golemfactory/golem

The Golem team doesn't necessarily need to solve every problem. Being built on top of the Ethereum Network is advantageous. If they make an appealing, open platform with potential, maybe other developers will pick up the ball and run with it to power their own ends.

In short, I predict that they will succeed.


> I guess that's why we're sitting in different camps.

Indeed, doesn't mean I don't want to hear the other side's point of view though!

Open source is not going to save them. They have one main problem - how to tell if people did the work they claim they did? If centralised, they can "test" new users or perhaps periodically check up on long term users by secretly allocating duplicate work and verifying its content. How can you do that in public? The blockchain is actually working against them.

And who really needs a cryptographically secure attestation that on march 25th 2018, user XYZ completed ML shared 456.7? This is a level of audit logging appropriate for a bank and basically nothing else. All you need is availability accounting of some sort. It's not rocket science. I couldn't write the client for this app but I sure as hell could write the back end and I wouldn't even think of using a blockchain. Make no mistake, their choice of technologies is for buzzword compliance, not technical necessity - a very bad sign.

There is also no need for the GNT. It solves no problem and users could just as easily be compensated in ETH or anything else. Sure, it's a funding mechanism, fine. We still haven't figured out how ICOs should even work.

Despite all the rigmarole, they have a product they need to sell like any other startup: rent us your GPU/CPU for $x/hr. Because of their overhead, I predict they will easily be outcompeted by centralised providers. People are not going to use golem over another, better-paying alternative just from the goodness of their hearts. And I cannot see any way how golem can be structurally more efficient than a centralised solution.

All said, I'm not as optimistic as you. Not like I want them to fail though, good luck to them!


Well I sure do appreciate you going out of your way to explain your perspective to me.

Just a couple more responses:

1. The use of blockchain is not for buzzword compliance. Julian (CEO) is a longtime Ethereum supporter/developer. This project has really been in development since 2014 or so, long before blockchain was "buzzy." So the use of blockchain here is not for grabbing cash. They actually think it's a better (perhaps harder) way forward.

2. Not only does the token allow investors to directly invest in the project, it also allows developers to "print" tokens that can be locked behind smart contracts. That way developers can be rewarded for reaching project goals with bowls of their own dog food. Not bad to eat when it's pretty much "real" money.

3. The decentralized and distributed nature of the project will allow the Golem Network to achieve goals and execute code that no centralized competitor could achieve/run. I'll leave it as a thought exercise for you to speculate what those goals/codes might look like.

Thanks for the engagement. It's great to test my beliefs through debate. Time will be the true arbitrator here though. Best wishes.


I somehow missed the paragraph where you said about building the platform and the link to the service. This looks awesome then.

As somebody who's spent a silly amount of money on EC2 spot instances to train models, I would certainly overlook the odd dodgy result for access to those GPUs at those prices.

I just hope you find a way so that the ingenious but disreputable people that seem to come when money's to be gained don't ruin it for everyone. However, I wish you every success.

I imagine you could do some kind of hardware fingerprinting, but there's nothing stopping a really bad actor from modifying the kernel to pretend to have a GPU and NaN on allocation. I suppose I'm descending into absurd levels of distrusting trust that may never happen.

I also foresee annoying customers who say they only get back NaNs but this is down to instabilities in their training and they flood any reporting of bad actors that you have.

I don't believe either are actually terminal with the right incentives.


That's an interesting arbitrage to make cloud computing costs drop towards mining costs, i.e. cost of electricity.


It’s Uber for AWS.


Haha, I will admit to using the 'Airbnb for GPUs' to explain this.


Nice work! I wouldn't let this minor objection keep you down. You can always spot check a computation on a trusted system (e.g. your own) and update your trust accordingly.


Thank ya! Plus the way it's setup right now, you don't pay for anything until you done and satisfied with a session! I just want both parties to be happy with the GPU compute transaction :)


This looks awesome, I just submitted a hosting application. I only have a single GTX 1060 on a Ryzen board, but I only use it 3-4 hours per day and I'm good with its downtime being used for passive income. Hopefully someone will find it useful.

One question, I noticed you only pay in crypto right now, do you plan to offer USD or other fiat currencies in the future? Crypto isn't a problem for me (I don't mine crypto myself but I wouldn't be opposed to carrying a passively obtained ∗coin balance and watching it appreciate over time), just curious.

Anyway, I think you have the makings of a nifty project here. Good luck!


I was thinking about paying out in fiat, but crypto is so much easier because of no fees, instant transactions, and not having to deal with various currencies.

While something like Stripe Connect may be useful, the fees are unreasonable for smaller transactions. A quick hack to cash out to crypto is to use your Coinbase wallet address as the payout address, and just sell off the crypto the moment it hits your wallet.


Why no Bitcoin Cash? :)

But seriously, it does have the lowest fees of the four supported by coinbase, and always should (since that’s its whole raisin d’etre!).

Cool idea, well done!


Honestly I wish I had a good answer to this. I didn't think about supporting BCash because I had never seen it used before.

If enough people are interested in it, I can add support since it's already supported by Coinbase/GDAX.


You don't verify every task. You verify some percent of them at random. And blacklist the people who cheat the system (Maybe with some leeway because random memory errors are a thing with consumer GPUs.)


How do you blacklist people who cheat when a proxy server and a freshly generated public key can make them appear as a new node in the network?


The same way any other website deals with bot abuse. You give extra scrutiny to new accounts, require captchas, flag suspicious email providers and bank accounts, and block IP ranges that correlate highly with abuse. I don't think you would need to go anywhere near that far though. Because it's pretty cheap to do lots of verification constantly, and fake users wouldn't last very long.


> You could farm it out to two people and if the results disagree, then payment is decided by a third. But then you've just doubled the (paid) workload, and you've not really solved collusion by a significant portion of the workers.

That would be the naive/bruteforce way to verify trust.

Just like you can find a substring faster via Boyer–Moore than a char-by-char match, there are more efficient ways to verify trust in a distributed environment like this. There's a few white papers on the topic.


Being able to generate random data in the right shape for arbitrary ML workloads would be a pretty impressive technical achievement.


While I think it's a valid point I don't see this as a large issue for this platform: I think that many ML workloads do not require a fully-trusted environment as it's easy to verify the results after training by running the test set evaluation on a local machine. Also, many datasets can be transformed in a way such that they do not reveal much about the underlying data itself (e.g. by using one-hot encoding, removing feature labels, categorizing/tokenizing potentially sensitive fields like names, ...), alleviating data security concerns in many cases. Leakage/theft of your ML models/code might be a bigger concern here, though for many companies this might not be a large problem either as in my experience the models are often just slight modifications of "best practice" architectures.


Piling on/agreeing with you: The “magic smoke” isn’t the model, it’s the infrastructure the model plugs into, the data->feature pipeline, AND the model. Assuming you’be done the things you mention (and maybe with one additional assumption of several models operating at once), I would also consider the models themselves to USUALLY not be super super sensitive.


Couldn't you embed a task or sub-task with a known result and throw out responses from nodes that didn't successfully process the sub-task?


You could randomize the tests + test everyone at the same time. So every r(n) cycles send a micro problem with a known precomputed locally verified solution. Compare solutions, kick and ban node if wrong.


According to the website (https://vectordash.com/hosting/) they use a highly isolated Ubuntu image, so the person hosting the service shouldn't have access to the VM with your model or data on it. It would be nice if there was some third party audit of the software though, the models, the code, and even the training data can be pretty sensitive for researchers.


If your training data is sensitive, then Vectordash may not be the best GPU provider. But if you're a broke CS student like me who wants to participate in a few Kaggle competitions (after having burned up their AWS student credits in 3 days) without shelling out a bunch for a K80, then Vectordash might be pretty helpful!


there is no way to "highly isolate" a VM from a host.


But there is (though I think they don't use it): TPM based host attestation.


The microsoft secureboot golden key got leaked, anything based on secureboot as a root of trust is 100% blown wide open.

https://web.archive.org/web/20170604013028/https://rol.im/se...


I am not sure this depends on TPM. Care to share a link?


If you don't want to claw your eyes out while reading:

https://bpaste.net/show/571ef50296ac


Theoretically possible via SGX.


Which can be defeated with SgxSpectre: https://arxiv.org/abs/1802.09085


Oh goodie, I wonder if Netflix is going to disable 4K support on PC as a result of this (the requirement for Skylake was due to SGX).


Worthless if the GPU doesn't have something similar. Otherwise you can monitor the pci-e lanes for all the data the cpu is sending over to the gpu.


This is identical to the problem blockchain solves - hard to solve, but easy to verify. For example, if the workload is training a neural network on a set of samples it is relatively cheap verify performance on a training sample.

Alternatively you could give X% of tasks to multiple workers for cross checking. In your example X% is 100%, but it does not have to be that high.


Say you do a single feedforward pass. How do you verify that its output is the result of a trained network-and particularly a completely trained one?


Aside from doing the same work X% of the time I can think of only one other option. The network could be overloaded with additional nodes such that it would also compute some function on the input data with the known output. For example a hashing function. Having said that, single pass does not strike me as a particularly useful unit of work. You would want to batch the samples, and that leads back to a strategy of verifying a portion of them based on the host trust metric.


Pay some hourly nominal fee, and a "bonus" for how well it classifies some reserved data? Proof of work could be the fit.


This sort of effort has existed for a long time, e.g. SETI@home and the Great Internet Mersenne Prime Search (although they don't tend to pay people). They've faced many of these same problems, and presumably devised minimum overhead solutions.


Yea but their workload is much harder to fudge and the solution they use to confirm primes is running the task twice . Training of models can be shortcutted or even maliciously tampered with.


The person who runs the platform could do some calculations themselves and then throw people out if there's a disagreement.


This is quite a good solution. It reminds me of public transport in some European countries. Yes, you can get on board without a ticket. But there will be a guard who will be on board maybe 1 in 10 times and the fines are substantial.

The problem is you can't really issue substantial fines in this instance. I suppose you could pay less for the first few runs where verification is more likely.

I really want this to succeed, and I think these problems can be overcome.


You could require people to advance some money, that they only get back if they pass the test.


> How do I know you actually ran what I paid you for and not just generated random data that looks right in the shape I wanted it?

See https://pfrazee.hashbase.io/blog/nodevms-alpha


pepper data with known results, obviously


Creator of Vectordash here! If you have any questions about the platform, feel free to ask away!

P.S. I'm @samin100 on Twitter if you enjoy tweets about GPUs!


Oh man, I had literally this exact idea too (although targeting general GPU workloads, not AI specifically). I actually wrote a pretty detailed product roadmap/desiderata/business plan/basic market research/etc note about it.

I ended up not pursuing it to work on a different idea, feeling like Golem would probably eat that lunch. I love the simplicity of your approach - very in the spirit of an mvp. Let me know if you'd like to see the note (teaser: an ad that says "Because not everyone has a 500 GPU cluster", but "not" is crossed out and replaced with "now", over a background image of a Go board).

Anyways, best of luck, I'll be excited to see how it turns out!


This is awesome. Is it necessary that the PC remain fully online throughout the day? I wouldn't mind putting my PC out there but sometimes when I get back from work my modem or router has crapped out and I need to restart things (not the PC), and I've been told it's a few thousand (over 3, actually) to wire up the house with Ethernet so I live with the status quo for now


You can list your computer for as long as you like! It's up to the ML/AI researchers to decide which machines they want to use based on the specs they see, and for how long.


What happens if the computer is taken offline before the task is done?


The GPU owner gets no payment for the entire task.


I saw people on the Reddit thread saying the Ubuntu requirement was a showstopper for a lot of them.

You might look into the Win 10 linux support, Ubuntu is one o the supported distros. Not sure if it would have full access to resources, have just used it a bit at work and setup was super simple.


I remember a few weeks ago a when some Microsoft software engineers came to the career fair at Univ. of Maryland. One of them was working on Bash on Ubuntu on Windows, so I ended up bugging him for about an hour on when they'd support GPU passthrough for Ubuntu on Windows.

He said it was on their list of most requested features, but refused give me a data on when it would be ready :/


Kind-of +1 about this, I don't really want to run dedicated Ubuntu for something like this but I have no problem running virtualized Ubuntu with GPU via VTd passthru. Recently we've built such host - server board with 2 GPUs that now runs two powerful virtualized desktops. Host uses NixOS and libvirt.


You mention "free unlimited bandwidth" on the homepage in a column named "1 TB transfer". A lot of people have upstreams in the order of 1MBit/s – with such speeds, uploading a TB would take 92 days.

That seems misleading ^^.


Agreed! A lot of hosts have requested for the ability to set a bandwidth cap. I'll change that part of the site & be a bit more clear!


I wonder when people will start just renting a 99 Euro server with a GTX 1080 from https://www.hetzner.de/dedicated-rootserver/ex51-ssd-gpu and sell it for $367.2 / month on Vectordash


This uses LXC Containers. I've always heard that containers are not a replacement for a good security model. What's the risk that someone could use Vectordash to attack the host computer?


LXC unprivileged containers are actually pretty secure by design. The Canonical LXC page does a pretty great job of explaining why: https://linuxcontainers.org/lxc/security/


Please (OP, and others allowing access to your machines), be cautious on this front. While LXC unprivileged containers are a start at isolation, LXC containers + GPU passthrough has a much, much larger attack surface (the nvidia binary blob drivers are complex and out of your control). The most common ways of giving GPU access to a container involve installing the CUDA drivers in the host and simply allowing the container to access them.

Depending on your threat model, this may be borderline OK, or may be insanely high risk. We've seen driver exploits in the recent past:

http://nvidia.custhelp.com/app/answers/detail/a_id/3140/~/se....

that can vector through the GPU to gain access to arbitrary host memory (aka, you're in deep trouble). The only "right" way to give access to your GPUs requires IOMMU support and running in a true guest VM, which Nvidia's consumer cards and drivers are explicitly prevented from doing (because they'd like you to buy the Tesla versions, thanks).

This may be a totally acceptable risk on an isolated mining rig, but people should be aware of the heightened risks they're exposing themselves to. Breaking your machine is well within the capabilities of state-sponsored actors on this one, and from time to time (just after vulnerabilities get announced), could be decently within advanced-script-kiddie zone.


This is a very, very valid point. I'm going to mention this on the website & even advise people to run the client on an isolated machine (instead of their daily driver gaming rig).

Thank you for pointing this out.

Also, one of my friends working on this project is a sophomore in the CS dept at CMU, and given your interest in distributed systems & DL, would it be possible to meet up for a couple of minutes and discuss security a bit more in depth? (if yes, I'll shoot you an email)


Happy to. Drop me a note.


^^^ This is why HN is amazing.


Great idea and I am glad somebody actually tries to make an implementation.

But unfortunately this won't replace mining: the large scale mining farms have high end GPUs in their rigs, but the rest of the HW is very low end, because that works perfectly for mining and they want their ROI as low as possible.

I have a 6 GTX 1070 GPU rig, which would be decent GPUs for AI/ML, but the rest of the rig has a Celeron CPU, 4gb RAM,and a 5400 RPM HDD. Oh, and to be able to see all the GPUs, I had to downgrade all the PCIEx slots to 1x.

I am curious what kind of ML tasks would be able to fully utilize these GPUs, on such a low end hardware.


The ones that train on a GPU? I'm not sure the rest of the system will have that much of an impact.


We're coming into the warm seasons in the northern hemisphere, but if this effort survives into autumn, it'll be quite tempting for home-heating.

Stoked to see distributed-compute as a paying service making another try. One of these days, it is going to fly.



"Airbnb but for GPUs" is a buzzphrase I never could have imagined being real.


Considering for hosting. One concern is that I have to expose my IP address to unknown users. I don't know if it's possible, but it will be great that if I can hide my location and purely lend my GPU with less security concerns.


You don't need to expose your IP address at all! The AI/ML researchers can only connect to one of our proxy servers instead of directly connecting to your machine. This means hosts do not have to mess with port forwarding or networking (even if your computer is behind a university firewall, you can still be a host!)


Wow that's great! Another question. It is always possible that I have some downtime (unstable network connection, accidentally shutdown my pc, power outage, etc) and it may become unfair that users having significantly less downtime (better network, UPS, etc) having same earnings with users with much more downtime. Is there any plan to deal with such kind of concern?

By the way, Vectordash is the most interesting idea & service I have seen in a while :)


https://medium.com/@rendertoken aims to do the same thing, but for 3D render farm customers.


How do I know if I will make a profit given electricity costs?


This website has a pretty good calculator:

https://whattomine.com

Just replace your miner earnings with the earnings listed on http://vectordash.com/hosting


This sounds pretty awesome. I wish I had perminent internet to the house so I could offer my rigs. I hope this service takes off, it should be a much better use of electricity and gpus than mining. Please do keep developing this, with the down turn in mining there should be a large pool of potential gpus. If this service can connect those gpus to researchers then that should be a lucrative business Ling term.


As others have already pointed out, there are trust issues.

The seller can fake the computation to return bogus result is one thing.

But even if there is no malicious intent, the resulting computation is still ended up bogus result, the malfunction of the hardware.

Commodity hardware isn't that reliable and there are so many commodity GPUs in the wild that looks like working but return incorrect result.


This is an excellent point. You're also dealing with a market where demand is so high that GPU's running under constant high load are then resold for more than the MSRP of new ones.


all of these issues can be worked around by random validation, sumbitting all/some blocks to multiple people (redundant calculation). This is no different from existing efforts such as SETI@Homr and Folding@Home. The difference being the compensation which increases the incentive for fraud.

The key to the trust issue is not trusting the remote computer, because you can’t. You have to validate somehow.


That solution requires that all computation is deterministic and the result of computation can be easily comparable. I think not all the computation is that simple.


It only assumes that including incorrect results isn’t catastrophic for the end result, and that using mostly correct results will give a mostly correct outcome. If that isn’t the case I’d compute every block 2..n times instead.


GPUs are already too expensive for gamers and now you want to do this?!


Isn't this good for gamers? They get to sell their idle gpu time and basically get a gpu for free. If he's really paying 2x more than cryptomining, this translates to paying off a gtx 1080 in a few months even taking into account electricity costs.


How do GPU's "wear", or in other words degrade with use. I often see people stating they would not buy an ex-miner GPU because of it's hard life.


>How do GPU's "wear", or in other words degrade with use. I often see people stating they would not buy an ex-miner GPU because of it's hard life.

It's kind of overblown. If you run well within the temperature and power limits they are still usually good for years at 24/7. Usually they run a bit hotter or slower because something has evaporated or slightly worn out, or maybe a fan died that needs to be replaced, but otherwise are fine.

If you are lending out your own GPUS presumably you can set a reasonable power and temperature limit.


I'd be lest worried about the GPU itself dying and more the fans running 24/7 at higher speeds. Still, a decent fan should last for years even running at 100% PWM - and most GPU's come with fairly length (often lifetime) warranties.

I would love to let my 1080 Ti be put to use when I'm not playing games on it, cryptocurrenty mining was fairly profitable until a month or so ago and now the power usage (even at $0.10/KWh) isn't covered by the returns after paying the tax bill (I could always file the revenue under my LLC and deduct the electricity expenses and even deprecate the hardware cost, but without a dedicated rig and power monitoring it's a tax audit nightmare waiting to happen).


The silicon itself gets effectively no wear and the board is actually better because it doesn't get heat-cycled as much.

The fans are in a bit worse shape, but those tend to be easily replaceable if they fail.


AI research demand is a lot easier for AMD/Nvidia to project, which allows them to ramp up production and keep prices stable.

Side note: AI research is more beneficial to society than running a few instances of Crysis 9 at 4K 120HZ.


...potentially more beneficial. Also potentially very harmful depending on what it gets used for.


Let's just say that AI research can be useful, and thus this use of GPU time and electricity can be useful; in contrast to the alternative alternative-GPU-use, which is not useful in the first place.


Also much better than calculating the inverse of hash functions!


If you were paying enough that it was worth people buying GPUs just for this, you'd be better off just buying them yourself.


Maybe. Since demand already outstrips supply for GPU's, it might be better to be the scale owner than to buy pickaxes.




Applications are open for YC Winter 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: