Building an Operating System for AI

This post is a summary of a talk Diego Oppenheimer recently gave at the 2017 GeekWire Tech Cloud Summit, titled “Building an Operating System for AI”. You can listen to the original talk from here. For better view of the slides, you can follow along from here.

The operating system on your laptop is running tens or hundreds of processes concurrently. It gives each process just the right amount of resources that it needs (RAM, CPU, IO). It isolates them in their own virtual address space, locks them down to a set of predefined permissions, allows them to inter-communicate, and allow you, the user, to safely monitor and control them. The operating system abstracts away the hardware layer (writing to a flash drive is the same as writing to a hard drive) and it doesn’t care what programming language or technology stack you used to write those apps – it just runs them, smoothly and consistently.

As machine learning penetrates the enterprise, companies will soon find themselves productionizing more and more models and at a faster clip. Deployment efficiency, resource scaling, monitoring and auditing will start to become harder and more expensive to sustain over time. Data scientists from different corners of the company will each have their own set of preferred technology stacks (R, Python, Julia, Tensorflow, Caffe, deeplearning4j, H2O, etc.) and data center strategies will shift from one cloud to hybrid. Running, scaling, and monitoring heterogeneous models in a cloud-agnostic way is a responsibility analogous to an operating system – that’s what we want to talk about. Read More…

Smart Autogeneration of Thumbnails Banners, and Socials with Content Aware Resize

Earlier this week, we introduced media/ContentAwareResize, a microservice which crops images to any size… while ensuring that the important parts do not get removed! It does so by detecting important content (faces, etc) and centering the crop on these components, so you don’t accidentally remove your friend’s head when generating a banner image.

How can we wrap this service into a nice, usable tool? Since Algorithmia’s microservices are language-agnostic, meaning that they can be called from just about any programming language (including JavaScript), we can easily write a simple webpage to generate images in a variety of useful sizes, so that we can quickly create banners, thumbnails, and social-share versions of our photos. Read More…

Algorithmia Raises Series A Funding

Algorithmia Series A

To our users,

Today we are excited to announce that Algorithmia has completed a Series A financing of $10.5M led by Google’s new fund focused on AI and machine learning investments with the participation of Madrona Venture Group, Rakuten Ventures, Osage University Partners, and Work-Bench.

Financing rounds are rarely a goal state (or at least they shouldn’t be) but an important milestone in allowing a company to continue to build out its mission. Read More…

How to Censor Faces with Video Processing Algorithms

Simon Pegg and Nick Frost faces blurred

Simon Pegg and Nick Frost from Wikimedia Commons

Earlier this week we introduced Censorface, an algorithm that finds the faces in images and then either blurs or puts a colored box over the faces to censor them. We thought it would be fun to pair it up with some of our video processing algorithms to show how you can use different algorithms together to censor a video clip when you don’t want to run the whole video.

Maybe you have some embarrassing videos that you want to share, but don’t want anyone to know it’s you! Or maybe you have a potentially viral video that you want to post on YouTube, but you need to protect the innocent. No matter what your use case is, let’s dive into creating non-nude video clips with censored faces! Read More…