Finally registered to Hacker News just to say thanks for this. I wanted to use Google Cloud for so long but because I'm in Europe, I can't use it for non-business purpose. The algorithms I'm interested in seem to work pretty well so far for what I tested (text detection).
This was featured on HN a few days ago, it uses artifacts from the manufacturing process to extract data about which device took a photo. Is there any sort of algorithm on algorithmia at the moment that can give you this kind of information? Thank you, loved the post.
With Algorithmia you can write algos in Python, R, Scala, Rust, Java, Ruby and JavaScript. And you can call those algos from any language at all.
There’s solid dependency support, GPUs enabled, built-in versioning, automatic JSON APIs, etc. and the latency is about 15ms for warm responses.
While you’d still want to train your model offline or elsewhere in your own preferred environment, this provides a DevOps-free environment for hosting your algo. You don’t have to worry about building a VM, manually scaling load, etc. And algos are easily chainable / pipeline-able across languages and developers. So your local Python script can call a remote R routine which loops over a Java function, with basically zero overhead.
Algorithmia only charges per compute-second for use, not for hosting. And you can either make your API free, or charge a royalty per use.
There are great reasons to use GCloud, MS AI, and the many other offerings out there. The ideal solution will vary by use case. Some considerations might be:
- serverless functions or full VM? With the former you pay by the second or minute, the latter is often by the hour or even month and many people use under 20% of the capacity they're paying for.
- what languages do you need? Many full VMs can support anything, but most serverless function hosts support very few languages.
- what frameworks do you need? Do you want to do a full install and dependency reconciliation, or have it done / managed for you?
- interoperability, API chaining, and marketplace. Algorithmia's language-agnostic open marketplace is pretty unique: you can use grab any of 4500+ APIs right from your own algo, without ever leaving the environment.
Happy to step through specific use-cases with you anytime! Just click the chatbox in the lower-right at Algorithmia.com
My comment is gonna sound harsh but I'm trying to understand what exactly the value is.
How do the OCR api in the marketplace holds up against Google Cloud, which is considered the best in the industry?
Do you see what I mean? All of the other things you've listed just wraps the core thing which is the actual algorithm. The serverless or having full VM doesn't cost much nor is it painful to setup imho. The language in the end does not matter since a developer could just make HTTP calls to the Google Cloud API. What good is having thousands of API when I just need a few that I know is the best in the industry?
I'm curious to know if there are real world use cases here. Perhaps for larger companies, what you offer might be important.
Thanks and I think that's the last of my questions!
Yep, there are definitely large companies using Algorithmia, and here's a quick summary of why it is important to them: https://algorithmia.com/enterprise ... short answer: increase server utilization from 20% -> 80% or higher, interoperably support heterogeneous languages & frameworks with no friction,
and give their data scientists an extremely fast (< 30 seconds) way to make their models available to the app-development side of the house.
For people developing only a few algorithms and using them only themselves, on in just a few apps, setting up a VM can definitely be a good option. As soon as significant scaling or breadth comes into play (for example, dozens to hundreds of algos in different languages and frameworks), the maintenance time/cost begins to become a very serious factor. And while setting up a VM to support your custom framework set isn't insurmountably complex, it still takes tens of minutes to hours. In many cases, models can be fully deployed and ready in under a minute on Algorithmia, merely by uploading the model file and listing the dependencies (60-second signup-to-deploy video here: https://www.youtube.com/watch?v=qcsrPY0koyY )
As to specific algorithms, there are some awesome ones out there, but many are hosted by individual separate providers or, for the big providers, there may be just one variant of a solution. The beauty of Algorithmia is that it is a true marketplace: In the same way that GitHub allows any developer to provide and utilize code in any language (often with competing solutions to the same problems), Algorithmia allows developers to host algos in an interoperable marketplace, where there may be many possible solutions, some better in different situations, but they can all be utilized freely without changing anything but the name of the algo being called: https://algorithmia.com/algorithms/
Thanks for the great answer! You've handled my objections well. I am probably underestimating just how much of a hassle it is to setup environments to do lots of algorithms.
With the big guys you get a very productized API service. With the AI Marketplace we have thousands of algorithms that are constantly being improved and can easily be pipelined together. As more models are added from our data science / ML community you can easily upgrade your application by swapping out the APIs for the models.
How can I download it and run the algorithm locally?
Tesseract gave me pretty poor results, probably because I'm using photos of printed pages instead of flatbed scans.