People of Sparktech - Alin Cojocaru - When cloud computing meets machine learning
Sparktech Software
A growing team of technical determined people who believe in delivering valuable Big Data & Machine Learning solutions.
A passionate and hardworking software engineer, Alin is part of the Python Development team, here at Sparktech.?
Since we love sharing knowledge and ideas, he was excited to offer us his views on cloud computing, and tell us how cloud technologies and machine learning can mix into an exciting project.
Read on to find out more.
Alin, we’re really excited to have you share your insights.? So, tell us, what are you currently working on?
The project I’m working on at the moment has the ultimate goal of allowing businesses that use machine learning models in their decision-making process to establish trust, transparency, and observability over each specific decision.
Such a tool is beneficial, especially in industries such as law, finance, banking, medicine, or data privacy, where the models’ outcome must be transparent and understandable.
Our product focuses on understanding the decision process behind "black box" models, by providing a complex analysis of the fairness, transparency, and interpretability of each decision, and of the reliability and resilience of the model.
That sounds really interesting and there are many use cases for such a tool. What type of Cloud technologies are you using?
Our stack includes AWS serverless services such as AWS Lambda, AWS Step Functions, AWS SNS, AWS S3, and many more.
Since our goal is to deliver a fully serverless architecture for the application, our team has the liberty to focus exclusively on the core product, without any need for provisioning, scaling, or infrastructure management.?
Thus, the application is very modular, can scale up or down in seconds and deployments are blazing fast.
What were some of the challenges you stumbled across? How did you overcome them?
One of the challenges we faced was the interaction between our tool and user models. The main goal of our application was to treat each machine learning model as a “black box” regardless of implementation, cloud provider, or system that serves the model for inference.?
To solve this, we designed a series of adapters whose purpose was to connect to external systems, handle the preparation of input data in order to be accepted by the model, run inference and return results in a standardized format. Each adapter is, in fact, a state machine defined using AWS Step Functions that can handle a specific integration.
Another difficulty we encountered with our implementation was related to some limitations of the AWS lambda functions.
Dealing with high dimensionality data, we ran into the situation of being constrained by the restricted memory quotas and limited execution timeout of lambdas. The solution was to introduce AWS Batch in our architecture.?
AWS Batch is designed to handle batch computing jobs by streamlining the process of queueing, creating computing environments, and launching compute resources quickly and efficiently.
Therefore, our architecture stays serverless, but the application works with high volumes of data with ease.
What do you like best about working on this project?
One of the main reasons why I like it is related to the problem that our project addresses and the solution it provides.?
领英推荐
The use of machine learning models in the decision-making chain has become an important part of any successful business. By using AI ethically and responsibly, companies can establish trust and transparency over every decision. This means offering a clear picture of the outputs, outcomes, and effects that a model yields for the user and those targeted directly or indirectly by it.
Another aspect I enjoy is the technical solution we have chosen. Our architecture means working with a specific stack of cloud services offered by AWS and designing a new strategy regarding the communication between different parts of the workflow. It’s a new, innovative, and challenging experience that allows me to learn a lot.
Last but definitely not least, comes the team. It’s made up entirely of experienced and dedicated individuals willing to help in every situation. Working in such an environment means reaching our goals by overcoming all possible challenges together.
What’s the future of cloud computing from your perspective?
I find serverless computing to be one of the most promising trends of cloud computing.
Serverless is a pay-as-you-go cloud model in which the consumer does not need to deal with provisioning, underlying infrastructure, or computing resources management.?
Generally, a serverless cloud model can help lower expenses, without any risks of underprovisioning or overprovisioning on the application.
Therefore, serverless computing offers new opportunities and all the cloud computing advantages, for individuals, startups, and organizations, by eliminating the complexity of managing the infrastructure, so the development focus will move exclusively to the code.
Two other important directions in which cloud computing is heading are multi-cloud and hybrid-cloud computing.
Can you tell us more about multi-cloud and hybrid-cloud computing?
In multi-cloud computing, the user is not limited to one cloud vendor and can utilize multiple public cloud services together, from different cloud providers.
In hybrid-cloud computing, the private, on-premise cloud infrastructures, such as local data centers, dedicated private clouds, and in-house legacy platforms can work along with one or more public cloud services. The public cloud services can be provided by different cloud providers.
Thus, enterprises can use the best of what every cloud provider offers and on-prem infrastructure, to design systems that work in conjunction to achieve the business goals.
The future of cloud computing will also include the adoption of cloud services for businesses that have not taken this step yet. Public cloud services offer multiple advantages over on-premise, including flexibility, security, scalability, lower maintenance costs, disaster recovery, and many more.
Alin Cojocaru is a passionate software engineer, part of our Python Development Team.?
He is specialized in multiple tech fields, including AWS cloud computing, Python web development, and data science.
Alin has over 6 years of hands-on experience in designing, implementing, and maintaining production-ready applications for many business areas.?
Interest post about Artificial Intelligence. Thanks for sharing.