It’s faster in every case to talk to the server than it is to my local hard disk…
Carrying around these non-connected computers – with tons of data
and state in them – is byzantine by comparison.
- Steve Jobs
1. Introduction
The first instance of many remotely connected people sharing a single, powerful computer, had already occurred by the 1960s. At that time, it was a significant breakthrough, leading to efficient utilisation of computer resources and significant cost savings.
It was also then that Professor John McCarthy famously said:
Computing may someday be organised as a public utility just as the telephone system is a public utility.
However, it took another forty years for this vision to become reality with the launch of Amazon Web Services in 2002. Now, another 20 years later, individuals, organisations, and even governments around the world, use shared cloud infrastructure for data processing, transfer and storage. Moreover, according to 81% of respondents to Harvard Business Review survey Accelerating Forward: The State of Cloud-Driven Transformation survey, the cloud is very or extremely important to their organisation’s future strategy and growth. However, such a quick development and growth of cloud usage, has also brought new concerns, such as those associated with security and data privacy. These are certainly important, but since not directly related to cloud computing, they will be covered later in the article.
2. Data processing redefined in the cloud
What are the biggest challenges associated with data processing? When it comes to the ones associated with technology, most frequently mentioned are those that characterise Big Data: volume, velocity and variety. How can utilising of the cloud infrastructure help with that?
Clearly, volume is not an issue on the cloud, as we’re no longer limited by the amount of memory on an individual computer. Not only does leveraging cloud computing allow for handling massive volumes of data, but dynamic resource allocation can scale accordingly to data volume growth.
Additionally, as data velocity increases, the cloud infrastructure can automatically provision additional resources to cope with that, ensuring uninterrupted processing and analysis.
Lastly, cloud environments allow addressing data veracity issues, such as efficient images and videos processing, where powerful GPU cards play crucial role. They enable real-time processing of high-definition video streams, and massive acceleration for specialized tasks such as machine learning and data analytics, which often involve large-scale data processing.
While efficient data processing is possible in premises and cloud environments, the latter provides several additional advantages.
The first one is related to elimination of up-front investment – not only the financial nature, associated with hardware and software infrastructure – but also, related to the time and resources needed between setting up and benefit from its value. A real-life example from the field of AI: training the GPT-3 model (not to mention its successors) on a single, average computer, would require almost 300 years. It would fail much sooner due to running out of memory on that computer. Utilizing cloud computing and parallel calculations across the network layers it is possible to overcome with that.
No less important is how flexible the cloud environments can be. They can quickly scale-up during peak loads, and down – on periods of reduced activity. Also, by deploying infrastructure in multiple geographical regions, it’s possible to reduce latency and further improve performance for end-users – and reduce the potential risk of a single-point of failure.
Finally, companies often decide to move data to the cloud because of their adoption of AI technologies. Especially deep learning, which usually requires significant amounts of data, and often involves tight cooperation of that data by multiple team members. This, combined with possibilities of applying specific models made available by cloud providers (such as natural language processing, speech transcription or translation) makes this process much easier.
As Diane Greene, technology entrepreneur and former CEO of Google Cloud said:
It's just a given now that you have a more cost-effective and reliable way of computing. The 2.0 of the cloud is the data and understanding the data. Now that you're in the cloud, how do you take advantage of it so your business can operate at a whole new level.
3. Artificial Intelligence and Machine Learning in the cloud
With data already in the cloud, companies can easily use it in ML models. Many major cloud providers also offer several interesting options, including ones that need very little coding or no coding at all:
3.1. Ready to use cloud-based ML service APIs
Cloud-based ML APIs are services that provide access to ready to use, pre-built, off-the-shelf machine learning models. These models can be used either with a simple web service call, or even natively, in one the most popular programming languages, using a dedicated software development kits (SDKs).In any case, no machine learning specific knowledge is required. Depending on the cloud provider, they can provide features such as: computer vision, natural language processing, speech recognition, machine translation, and more. Furthermore, they can either be used as-is, or customised with a client’s own data.
The scope of the services from major cloud providers is comparable, although there are some specific services not offered by others:
AWS Machine Learning offers among others, the following machine learning services:
- Amazon Translate – neural machine translation service
- Amazon Personalize – personalized recommendations service, that provides recommendation functionalities similar to those in the Amazon online store
- Amazon Kendra enterprise search service, is able to search through different content repositories with built-in connectors
- Amazon Comprehend natural language understanding service, that can be used to extract insights about the content of documents
- Amazon Lex service for building conversational interfaces
- Amazon Rekognition image and video analysis service
eventually, a few text and speech models, such as:
- Amazon Polly text-to-speech service,
- Amazon Transcribe speech-to-text, and
- Amazon Textract text extraction service
Azure AI Services – formerly known as Azure Cognitive Services likewise offer ready to use machine learning models as services, accompanied with excellent documentation:
1. language understanding services that can classify text, understand conversational language, extract information – including ones from specific domains, such as financial or health:
- document and conversation transcript services
- key phrases extraction service that can be used to identify main content of the documents
- text classification service can perform sentiment analysis: opinions and emotions expressed in text
- named-entity recognition (NER) can be used to extract domain-specific entities from unstructured text, such as contracts or financial documents
- language understanding for health service is one of the unique ones, available only in Microsoft Azure, that can be used to analyse social media data in relation to health-related information
- text translation service
2. speech and translation services, which can either be used for either batch or real-time translations
3. document intelligence services, which allow automating document data processing in applications and more complex workflows. It contains ML models specifically trained for: invoices, receipts, contracts, etc., and is able to extract associated information, e.g. customer or sales transaction details.
4. computer vision services, e.g.:
- optical character recognition (OCR) service that can extract printed or hand-written text from images, product labels, etc.
- face detection service, that allows detecting faces on images, with optional features such as: identifying individuals on different images, determining face-related features, assessing emotions, etc.
- spatial analysis service that can ingest video streams from cameras and extract information of number of people or their movement.
5. Azure AI Search service that provide secure information retrieval from user-owned data, using different search methods as well as rich indexing and query syntax
6. Azure OpenAI service provides access to OpenAI's language models, such as: GPT-4, GPT-4 Turbo with Vision,GPT-3.5-Turbo, and Embeddings model series, among others. These models can be adopted to perform various tasks, e.g. content generation, summarization, image understanding etc.
- Translation AI service is able to translate documents and websites, detect languages, etc.
- Document AI service can help automating document processing, such as data and insights extraction, from either structured or unstructured documents.
- Recommendations AI service can deliver personalized user recommendations, for example recommended media content (articles or video) based on current history, or shop product recommendations.
- Natural Language AI service provides text analysis, extracts and derives insights from text.
- Dialogflow service allows creating conversational agents for customer conversations, chatbots, etc.
- Speech-to-Text and Text-to-Speech services providing accurate conversion between speech and text, indifferent languages.
- Video Intelligence can annotate videos with contextual information (as a whole or segmented)
- Vision AI service can derive insights from images and use pre-trained Vision API models to detect emotion, understand text, etc.
3.2. Low-code Machine Learning models and designers
Although the capabilities of the ready to use models are indeed impressive, they cannot always meet all the needs of a business . Therefore, the biggest cloud providers offer for this purpose easy to use design tools, that allow creation of bespoke models, and easy integration into the end-to-end machine learning pipelines. Everything: beginning from data acquisition, cleanup and transformation, model development and evaluation, as well as exposing that model within a custom API service endpoint, can be specified with some mouse-clicks.
The low-code machine learning solution examples:
- AWS Machine Learning: Amazon SageMaker, Amazon SageMaker Canvas (previously known as Sagemaker Autopilot)
- Azure Machine Learning: Designer and AutoML – in Azure ML Studio
- Google’s Vertex AI
Using the above solutions, it’s possible to:
- specify the desired machine learning model from the available generic ones, or
- let the automated machine learning find the best model – the one that provides the most accurate results for the given data – according to the provided metrics (e.g. accuracy or mean squared error), or
- alternatively, to create custom components – building blocks, that can be easily used in further scenarios (an example case from Azure Machine Learning can be found here).
3.3. Data Warehouse and Analytics services
Another option, often adopted by corporate clients, are cloud data warehouse solutions. They offer robust capabilities for data storage, processing and analysis, as well as the built-in machine learning tools. Just like other solutions, they are scalable and cost-effective. They allow users to explore data and visualise, simplify analytics workflows and efficiently run complex queries on large datasets.
Some examples:
- Amazon Redshift Cloud Data Warehouse
- Azure Synapse Analytics
- Google BigQuery
- Oracle Autonomous Data Warehouse
All the above platforms are robust and versatile, and provide the most opportunities in combination with other services from the given provider:
4. Summary
Artificial Intelligence and Machine Learning already shape our present and are bound to shape our future. Combining with cloud computing brings them all to a new level.
This synergy seems to be an excellent choice in many cases. For example, situations where they might be the best match are:
- Startups – as they need flexible and cost-effective IT infrastructure, cloud computing seems an ideal choice for them. It avoids upfront investments in hardware infrastructure or software licences, and allows startups to pay for only what they have used. Furthermore, cloud providers often offer discounted, or even some free plans for startups, making it quite an obvious choice.
- Rapid prototyping – experimentation plays crucial role in driving innovation, for both startups, as well as mature companies. Especially new development projects frequently require experiments, such as prototypes and product refinement. Being able to combine the ready-to-use services, as well a slow-code solutions helps with experimentation, significantly reducing their costs.
- Data-intensive projects –selecting cloud computing for such projects is the most obvious option: from the performance, scalability and cost-effectiveness perspectives.
- Geographically spread projects – global availability ,combined with the highest levels of security, allows seamless team collaboration across geographical boundaries. As an example, let us take a case from our project, where we are successfully working in a team with members from the USA, UK, South Africa, Southern Asia and Poland: Umazi.
Andrew Ng, Chief Scientist at Baidu, co-founder of Google Brain and Coursera said:
AI is the new Electricity(..) Just as electricity transformed industry after industry 100 years ago, I think AI will do the same.
If the AI is the new Electricity, what the AI in the cloud could be – maybe Global Power Grid?