OPEN SOURCE! That was the theme for the IBM Developer Day.
A company cannot hire all the talented developers on the planet. But by open sourcing software, a company can get very close to that!Ginni Rometty, CEO, IBM
The IBM Cloud is now a single platform that hosts a wide variety of products and solutions in the Cloud, Blockchain, and Artificial Intelligence (AI) space. IBM Developer Day was aimed to show the developers how each of these solutions had the capabilities to interact with each other to achieve an end-to-end solution to business problems.
I had an amazing time attending the conference and learning about the various products, design concepts and programming constructs that IBM had put out. This article is a summary on the awesome things that I got to experience at the IBM Developer Day 2019.
Highlights from IBM Developer Day 2019
Panel Discussions, code labs, demos, and games, were arranged for enthusiasts to try out the power of
1. The Future of Open Source
The first panel discussion was on the importance of open source and why every organization should promote it. Ginny, CEO of IBM moderated the panel and the discussion was around how open source technologies are actually leading to more secure and robust software.
Ginni asked an important question on how to incentivize developers to contribute back to the open source community. And there were some great ideas shared by the experts. Here are some of the key answers:
- Mentorship is of utmost importance. Seniors must help the juniors to contribute by guiding them on what can be done. Along with this, there needs to be public recognition to developers and senior managers who have promoted and successfully contributed back to the open source community.
- An organization can sponsor and create hackathons for its developers to help build software that can be open sourced. The organizations can encourage developers to write whitepapers and publish research papers that can help the open source community to build better software.
- Open source program office needs to be set up.This is extremely important. These kind of offices focus solely on building software that can be open sourced and has developers work a part of their time in working with open source technologies that have emerged from both within and outside the organization.
- Lastly, companies must put the effort to make contributing to open source easy. This can be done by ensuring things like the software documentations are clearly written and fixed wherever it has become outdated.
2. Developers of Today: The Innovation Engines.
Bob Lord, SVB in IBM also moderated another panel on how Developers are today’s engine of innovation. his panel talked about the importance of developers in organizations and why India is becoming a place for very skilled developers and problem solvers. Here is a summary of the main points discussed:
- KS Vishwanathan from Nasscom said that Indian developers are becoming highly agile. They are now not just coders but also business problem solvers.
- Shraddha, the founder of YourStory shared why it is important to talk about developers and share their story with the rest of the world. She says that India has always been sharing the stories of builders, but more recently, managers in the majority of sectors have brought in a culture that does not celebrate the builders of this nation. Developers are the builders who are responsible for building the fabric of future technology and she says it is extremely important to share their story and what they are building.
- Both KSV and Shraddha shared the various initiatives they are part of to make Indians better equipped for the types of jobs in the future. These initiative include education to faculties in various AI and machine learning based tools, initiatives to get more girls into technology sectors, promoting women entrepreneurs and more.
Code Cafe were a collection of booths that focused on very specific technology like text summarization, image classification, AI models trust developemnt and more. Here are some of the most fascinating technologies that I got to see in action.
1. Text Summarization
There are two ways to summarize
IBM developer Day also showed us the various code patterns that they had built and made it freely available for anyone interested to quickly build amazing solutions in the AI, blockchain and cloud space. we had covered an article on building Conversational bots and text summarization is one of the features that can be used while building such bots.
If you are interested in building text
2. Image classification using serverless functions
Most of the applications are bulky and that maintaining them is not easy. However, with serverless maintenance efforts drops drastically. In this booth, they showed us how serverless functions built with node JS can be used to perform image classification.
As a machine learning engineer, I have worked a lot in image classification. I have covered in-depth guides on how to use the IBM Image classification solution to build custom applications easily. With serverless functions, this can be simplified to a whole new level.
Here is a link to learn more about the visual recognition code pattern: https://developer.ibm.com/patterns/optimize-visual-recognition-classification/
Three parallel tracks were running throughout the day at the IBM Developer Day conference. Blockchain, AI and Data, and Cloud were the three tracks. I attended a few of the talks and some really resonated with me and I am sharing them here.
1. Building Trusted AI
With the advancements in machine learning such as deep learning, models have become highly accurate at performing tasks such as classification. However, they are like black boxes. People aren’t able to trust the results that it gives. There is no transparency on why it is behaving in a certain way.
To address these issues, IBM has come up with a solution called the IBM Open Scale. Open scale allows people to monitor the models that have been deployed wither on the IBM cloud or in other third party clouds. Manish Bhide, in his talk explained the following problems OpenScale is tackling:
- Detecting Bias: OpenScale is able to detect biases in a deployed model. They take in some metrics upon which bias has to be monitored and then also take in some live annotated data to monitor bias. For example, it does things like checking if a model to sanction loan to people is biased to certain gender or age.
- Defining Prediction: to define why certain predictions were made, OpenScale analyses the data that had come in and compares it with stored data to find business patterns. It can also perform inverse data prediction. For
example:a model predicts that a bank loan was rejected. OpenScale can say what feature was most responsible for taking that decision. Apart from that, it can also say the remedial actions that the applicant can take to change the decision.
- Model Accuracy monitoring: OpenScale keeps a track on how the model is performing in terms of accuracy. It then notifies the person in charge it if drops below the set threshold.
Not having trust in AI model which are black boxes is a major hurdle why the adoption is slow in mission critical systems. With this, we can get clarity to a good extent. It is not a one hundred percent fail proof solution, but it is the best we have now and we can build on top of it to make it highly robust.
2. Compose AI: A concept to build complex inference systems
the way AI based models are designed today has a flaw. All the tasks are tried to fit in either a single or very few number of models. Also, to reduce severe performance issues, only a single machine learning framework is used. That limits what can be done.
Compose AI is a concept that does not restrict a problem solver to a single framework or single model. Vishal’s talk on this topic was very interesting. He started with allowing an autonomous robot to fly a virtual airplane and demonstrating the issues that AI solutions have. He then demonstrated how Compose AI can be used to build more robust solutions.
Compose AI allows a builder to compose solutions by combining blocks as a graph data structure. Each block can be a machine learning ( deep learning or non-deep learning model) or a computational block. It can also consist of sensors. The compose AI then builds knowledge graphs that allow the system to infer things with existing information.
Vishal demonstrated this with a very simple example. Let’s say that an AI system was designed to recognize people and read texts. Now, let’s say that we need the AI system to recognize an ID card. The usual way to solve it is to collect ID card images and train a model. However, with Compose AI, we can extend the knowledge graph to add
Compose AI allows us to build more scalable solutions and more importantly it allows us to extend existing solutions fairly easily.
I got to learn a lot of things in the conference. It was an honor that some of got to interact with Pradeep Balachandran, Johanna Koester and Malati Srinivasan. We discussed various IBM projects and how we can help in community building. Our feedback was taken on what we feel IBM is lacking in as well.
Overall, it was a great day and I had a lot of fun interacting with tech enthusiasts, industry experts, Leaders in IBM and talented influencers.
I have compiled a list of links that I feel developers and non-coding tech enthusiasts will find helpful in your journey to build awesome software.
- IBM Code Patterns: https://developer.ibm.com/patterns/
- IBM open source technologies: https://developer.ibm.com/open/
- IBM coders Forum: IBM CODERS