Algorithmia Blog - Deploying AI at scale

Racial Bias in Facial Recognition Software

Binary woman

We’ve all heard about racial bias in artificial intelligence via the media, whether it’s found in recidivism software or object detection that mislabels African American people as Gorillas. Due to the increase in the media attention, people have grown more aware that implicit bias occurring in people can affect the AI systems we build.

Early this week, I was honored to give a talk on Racial Bias in Facial Recognition at PyCascades, a new regional Python conference. Last week I wrote a blog post on learning facial recognition through OpenFace where I went into deeper detail about both facial recognition and the OpenFace architecture, so if you want to give that a read through before checking out this talk, I highly encourage it. Read More…

Understanding Facial Recognition Through OpenFace

Facial Recognition at NIST

Facial recognition has become an increasingly ubiquitous part of our lives.

Today smartphones use facial recognition for access control while animated movies such as Avatar use it to bring realistic movement and expression to life. Police surveillance cameras use face recognition software to identify citizens that have warrants out for their arrest and these models are also being used in retail stores for targeted marketing campaigns. And of course we’ve all used celebrity look-a-like apps and Facebook’s auto tagger that classifies us, our friends, and our family.

Face recognition can be used in many different applications, but not all facial recognition libraries are equal in accuracy and performance and most state-of-the-art systems are proprietary black boxes.

OpenFace is an open source library that rivals the performance and accuracy of proprietary models. This project was created with mobile performance in mind, so let’s look at some of the internals that make this library fast and accurate and think through some use cases on why you might want to implement it in your project. Read More…

Extending Alexa’s AI with Algorithmia Microservices

Amazon reports that there are now “tens of millions” of Alexa-enabled devices in use, from the compact Echo Dot to the revamped Alexa-enabled Fire Stick and Kindle. Voice-enabled devices are hotter than ever, but would be nearly useless without the wide variety of external services they rely on. Whether you’re asking Alexa to turn on the lights or tell you the weather, there’s a microservice in the loop, responding intelligently to your requests.

As a developer, how do you bring your own algorithm or service into Alexa? If your code is relatively simple Node, Python, Java, or C#, then you can use AWS Lambda for your base logic. If you’re using other languages, complex frameworks, or big GPU-dependant Machine Learning models, you may want to consider Algorithmia. Even if your core functionality is not complex, Algorithmia’s library of 4500+ ready-to-run algorithms can superpower your Alexa app, quickly adding advanced NLP, web scraping, image processing, and other turnkey machine-learning tools. Read More…

Introduction to Serverless Microservices

It used to be that the big eat the small — today the fast beat the slow. Fast teams keep their talent engaged, ship faster, and beat the competition to market. Microservices let you increase your engineering speed and agility.

Using microservices allowed SoundCloud to reduce a standard release cycle from 65 days all the way down to 16. The two diagrams below show before and after timelines.

Length of deploy cycle before microservices:

Length of deploy cycle after microservices:

How did they accomplish this? Microservices allowed them to decouple blocking portions of the development workflow, clarify and isolate concerns, and focus on component-level changes.

With the rise of AI / Machine Learning, microservices are more important than ever. As teams adopt microservice-oriented architectures, often serving powerful ML models, they build better products faster, outpacing their competition. Read More…

Advanced Image Manipulation and Data Extraction

A good image editor has a wide variety of features, from simple resizing to advanced photo manipulation. A good software platform needs similar tools as well, and when run in a scalable serverless environment, can include a variety of powerful image-transformation and data-extraction algorithms fueled by machine learning.

We’ve been building up a library of image-related algorithms for some time, created both by our in-house staff and our amazing community of 60,000 developers. If you’re interested in building algorithms and making them available to the community (as open-source or for royalty payments), it’s easy to publish an algorithm on Algorithmia!

Meanwhile, check out these great tools which you can use from any programming language, allowing you to code up complex image-editing and image-analysis workflows with just a few lines of code… Read More…