Ready…Set…Hack!

HackMIT: Hack to the Future

In the past couple of months, UnifyID has been busy attending university hackathons at MIT and UC Berkeley. What this means is hours and hours of non-stop hacking, but it also means unlimited snacks, mini midnight workouts, and lots of young, passionate coders working to create impactful projects.

On September 16, John Whaley flew to Cambridge, Massachusetts to attend HackMIT: Hack to the Future where he had the opportunity to meet more than 1500 students from all different universities. Representing a16z, John participated in a fireside chat where he covered a variety of topics including what it’s like to work in a startup, choosing industry versus graduate school, and building a company on machine learning. He discussed the fundamentals of entrepreneurship, team-building, fundraising, and more, as students picked his brain about technical topics and career advice. Later, John was able to speak more in depth during his tech talk about UnifyID and identifying individuals based on gait. Students were deeply interested in the problem UnifyID is trying to solve as well as the impact and intellectual aspect of UnifyID’s approach to the issue.

John poses with a16z representative Nigel at HackMIT.

Aside from his fireside chat and tech talk, John had the opportunity to mentor hackers in their own projects. His favorite part was meeting and interacting with all of the students, seeing their ambition, passion, and genuine interest in the projects that they were working on. He also enjoyed the intense energy in the arena, choosing to stay and mentor hackers until 3am.

After 24 hours of hard work and non stop hacking at MIT, many groups of students presented their projects. Projects covered a wide range of topics from virtual reality games to homework-help mobile applications. Even though John had been to plenty of hackathons in the past, he was still amazed by the caliber and level of innovation that the students were able to reach in their projects. The first place prize ended up going to a group of students who created Pixelator, “a simple product that sharpens blurry images without a lot of code.”

Cal Hacks 4.0

A few weeks later, on October 6, Andres Castaneda crossed the Bay to attend Cal Hacks 4.0 at the UC Berkeley Stadium. With nearly 1500 students listening, he gave a presentation about UnifyID’s Android SDK and API, receiving a positive response from students who believed it was a revolutionary idea. Similar to John at MIT, Andres also had the opportunity to mentor up-and-coming hackers. For 36 hours, he helped students solve technical challenges as they competed for over $100,000 in prizes, including UnifyID’s contribution: a $300 Amazon giftcard and a Rick and Morty card game.

Based on the level of positive impact, innovation, and technical difficulty, the winning hack for UnifyID’s prize was Safescape, a mobile application that analyzes real-time news articles and alerts people in areas of “non-safe” events. It uses UnifyID’s Android SDK to validate individuals on the application. Inspired by the recent natural and terror crises occurring globally, Safescape also provides those in danger with potential escape routes, allows them to alert others around them, and contains a simple way to contact loved ones.

Andres’ favorite part about participating in Cal Hacks was “seeing people build a product from 0 to 1 in 36 hours.” He also found it hilarious that many students brought sleeping bags and threw them on the floor for intermittent opportunities to take naps.

Andres poses with mentees and previous UnifyID interns Aditya and Michael.

UnifyID is a strong supporter of hackathons because they provide great opportunities to connect with university students. Witnessing the high caliber of work accomplished at these events, UnifyID is inspired by young hackers who are truly passionate about making an impact in the world. These students represent a large diversity of talent from all different schools and backgrounds and are able to demonstrate what students are interested in nowadays. Additionally, hackathons allow UnifyID the chance to give back to the community. They are not only learning opportunities for up-and-coming hackers, but they also help UnifyID to understand how to cater to students’ interests and needs. After 2 hackathons in the span of one month, UnifyID is channeling its focus back to the day-to-day for now; however, we cannot wait for the next one!

UnifyID Anoints 16 Distinguished Scientists for the AI Fellowship

Fast Growing Startup Uses Machine Learning to Solve Passwordless Authentication

Today, UnifyID, a service that can authenticate you based on unique factors like the way you walk, type, and sit, announced the final 16 fellows selected for its inaugural Artificial Intelligence Fellowship for the Fall of 2016. Each of the fellows have shown exemplary leadership and curiosity in making a meaningful difference in our society and clearly has an aptitude for making sweeping changes in this rapidly growing area of AI.

Of the company’s recent launch and success at TechCrunch Disrupt, claiming SF Battlefield Runner-Up (2nd in 1000 applicants worldwide), UnifyID CEO John Whaley said, “We were indeed overwhelmed by the amazing response to our first edition of the AI Fellowship and the sheer quality of applicants we received. We also take immense pride in the fact that more than 40% of our chosen cohort will be women, which further reinforces our commitment as one of the original 33 signees of the U.S. White House Tech Inclusion Pledge.”

The final 16 fellows hail from Israel, Paris, Kyoto, Bangalore, and cities across the U.S. with Ph.D., M.S., M.B.A., and B.S. degrees from MIT, Stanford, Berkeley, Harvard, Columbia, NYU-CIMS, UCLA, Wharton, among other top institutions.

  • Aidan Clark triple major in Math, Classical Languages and CS at UC Berkeley
  • Anna Venancio-Marques Data Scientist in Residence, PhD École normale supérieure
  • Arik Sosman Software Engineer at BitGo, 2x Apple WWDC scholar, CeBIT speaker
  • Baiyu Chen Convolutional Neural Network Researcher, Masters in CS at UC Berkeley

  • Fuxiao Xin Lead Machine Learning Scientist at GE Global Research, PhD Bioinformatics

  • Kathy Sohrabi VP Engineering, IoT and sensors, MBA at Wharton, PhD EE at UCLA
  • Kazu Komoto Chief Robotics Engineer, CNET Writer, Masters in ME at Kyoto University

  • Laura Florescu Co-authored Asymptopia, Mathematical Reviewer, PhD CS at NYU

  • Lorraine Lin Managing Director, MFE Berkeley, PhD Oxford, Masters Design Harvard
  • Morgan Lai AI Scientist, MIT Media Lab, Co-founder/CTO, M.Eng. CS at MIT
  • Pushpa Raghani Post Doc Researcher at Stanford and IBM, PhD Physics at JNCASR

  • Raul Puri Machine Learning Development at Berkeley, BS EE/CS/Bioeng at Berkeley
  • Sara Hooker Data Scientist, Founder non-profit, educational access in rural Africa
  • Siraj Raval Data Scientist, the Bill Nye of Computer Science on YouTube

  • Wentao Wang Senior New Tech Integration Engineer at Tesla, PhD ME at MIT

  • Will Grathwohl Computer Vision Specialist, Founder/Chief Scientist, BS CSAIL at MIT

 

This highly selective, cross-disciplinary program covers the following areas:

  • Deep Learning
  • Signal Processing
  • Optimization Theory
  • Sensor Technology
  • Mobile Development
  • Statistical Machine Learning
  • Security and Identity
  • Human Behavior

Our UnifyID AI Fellows will get to choose from one of 16 well-defined projects in the broad area of applied artificial intelligence in the context of solving the problem of seamless personal authentication. The Fellows will be led by our esteemed Fellowship Advisors, renown experts in machine learning and PhDs from CMU, Stanford, and University of Vienna, Austria.

Please welcome our incoming class! ✨

 

Read the original UnifyID AI Fellowship Announcement:

https://unify.id/2016/10/10/announcing-the-unifyid-ai-fellowship/

 

Initial Release:

http://www.prweb.com/releases/2016/unifyid/prweb13804371.htm#!

How I stopped worrying and embraced Docker Microservices

Hello world,

If you are like us here at UnifyID then you’re really passionate about programming, programming languages and their runtimes. You will argue passionately about how Erlang has the best Distributed Systems model (2M TCP connections in one box), Haskell has the best type system, and how all our ML back-end should be written in Lua (Torch). If you are like me and you start a company with other people, you will argue for hours, and nobody’s feelings are gonna be left intact.

That was the first problem we had in the design phase of our Machine Learning back-end. The second problem will become obvious when you get a short introduction to what we do at UnifyID:

We data-mine a lot of sensors on your phone, do some signal processing and encryption on the phone, then opportunistically  send the data from everybody’s phone into our Deep-Learning backend where the rest of the processing and actual authentication take place.

This way, the processing load is shared between the mobile device and our Deep Learning backend. Multiple GPU machines power our Deep Learning, running our proprietary Machine Learning algorithms, across all of users’ data.

These are expensive machines and we’re a startup with finite money, so here’s the second problem; Scalability. We don’t want these machines sitting around when no jobs are scheduled and we also don’t want them struggling when a traffic spike hits. This is a classic auto-scaling problem.

This post describes how we killed two birds;

  1. Many programming runtimes for DL.
  2. Many machines.

With one stone. By utilizing the sweeping force of Docker microservices! This has been the next big thing in distributed systems for a while, Twitter and Netflix use this heavily and this talk is a great place to start. Since we have a lot of factors we verify against like Facial Recognition, Gait Analysis and Keystroke Analysis, it made sense to make them modular. We packaged each one in its own container, wrote a small HTTP server that satisfies the following REST API and done!

POST /train
Body: { Files: [ <s3 file1>, <s3 file2>,...] }
Response: { jobId: <jobId> }
POST /input
Body: { Files: [ <s3 file1>, <s3 file2>,...] }
Response: { jobId: <jobId> }
POST /output
Body: { Files: [ <s3 file1>, <s3 file2>,...] }
Response: { outputVector: <output vector> } 

GET /status?jobId=<jobId> 
Response: { status: [running|done|error] }

This API can be useful because every Machine Learning algorithm has pretty much the same API; training inputs, normal inputs and outputs.  It’s so useful we decided to open-source our microservice wrapper for Torch v7/Lua and for Python. Hopefully more people can use it and we can all start forking and pushing entire machine learning services in dockerhub.

But wait, there’s more! Now that we containerized our ML code, the scalability problem has moved from a development problem to an infrastructure problem. To handle scaling each microservice according to their GPU and Network usage, we rely on Amazon ECS. We looked into Kubernetes, as a way to load-balance containers, however its support for NVIDIA GPU based load-balancing is not there yet (There’s a MR and some people who claim they made it work). Mesos was the other alternative, with NVIDIA support, but we just didn’t like all the Java.

In the end, this is how our ML infrastructure looks like.

screen-shot-2016-09-16-at-8-54-16-pm
Top-down approach to scalable ML microservices

Those EB trapezoids represent Amazon EB (Elastic Beanstalk), another Amazon service which can replicate machines (even GPU heavy machines!) using custom-set rules. The inspiration for load-balancing our GPU cluster with ECS and EB came from this article from Amazon’s Personalization team.

For our Database we use a mix of Amazon S3 and a traditional PostgreSQL database linked and used as a local cache for each container. This way, shared data becomes as easy as sharing S3 paths, while each container can modularly keep its own state in PostgreSQL.

So there you have it, both birds killed. Our ML people are happy since they can write in whatever runtime they want as long as there is an HTTP server library for it. We don’t really worry about scalability as all our services are small and nicely containerized. We’re ready to scale to as many as 100,000 users and I doubt our microservices fleet would even flinch. We’ll be presenting our setup in the coming Dockercon 2017 (hopefully, waiting for the CFP to open) and we’re looking to hire new ML and full-stack engineers. Come help us bring the vision of passwordless implicit authentication to everyone!