Building NLP Solutions With NGC Models and Containers on Google Cloud AI Platform
This blog post summarizes what I learned in a presentation at NVIDIA’s GPU Technology Conference (GTC) by Henry Tappen, Product Manager at Google Cloud,
James Sohn, Deep Learning Technical Marketing Engineer at NVIDIA, and Abhilash Somasamudramath, Product Manager of NVIDIA NGC at NVIDIA, titled “Building NLP Solutions with NGC Models and Containers on Google Cloud AI Platform”, as well as my own my own studies and experience.
What is Natural Language Processing?
It is basically the branch of artificial intelligence that deals with interconnections between humans and computers using natural language. The computers are trained with large amounts of data so as to learn and converse in the human language. A very popular application of NLP includes Google Assistant, Google Translate.
Why solutions in Natural Language Processing are gaining large scale adoption?
NLP handles around 150 million home devices. NLP is also used to enable features like chatbots, audio translation, and language translation. Sentiment analysis is often used by various social media platforms to determine the outcome of an election. Hence as we start to dig deeper to enable technologies that build these models, we face 3 main challenges:
- A good NLP/AI model should be trained on a large amount of data, that’s why Nvidia GPUs are useful. If not, the NLP model will always fail in some test case or another, resulting in an undercooked solution.
- Beyond the availability of data, building accurate models that help us deliver solutions we are gunning for and effectively managing these models on efficient, operational platforms. converging NLP and AI is the need of the hour.
- After Converging AI with NLP, we must be able to accelerate and deliver our products across various industries.
What's the NVIDIA NGC?
It comprises of GPU-optimized software. It packs:
Containers: They package software applications, libraries, dependencies, and run-time compilers in a self-contained environment so they can be easily deployed across various computing environments. The deep learning frameworks from NGC are GPU-optimized.
Collections: provide all the assets you need to build cutting edge AI software in one place.
Helm Charts: Helm provides a container orchestration tool that allows you to configure and manage your containerized application deployments.
Google and Nvidia have come to together to build an end to end platform for accelerating NLP. This offers us the latest Nvidia GPU, and A100, which is one of the most used. This google cloud platform sits over this amazing infrastructure tapping into the full use of Nvidia without worrying too much about the GPU terminology and models that are used. Around close to 200 pre-trained models (For E.g, BERT) is used for NLP applications, industry toolkits, as well as collections, is Nvidia NGC cued and help in deploying them to other sectors, which include using NLP to AI healthcare.
lets us go deeper into the NGC catalog and containers.
NGC has a broad container, we encapsulate all the drivers that go into helping deep learning. It prevents wasting time in this open-source world and effortlessly builds these models efficiently. These are updated on a monthly basis so that users can tap into the incremental games and stay updated with the latest development in NLP models. Packaging these models and tools into containers is not enough, they must be ready for enterprise and available on multiple platforms.
NGC Containers are Extensive, optimizable, secure, reliable, scalable, and run anywhere.
Pretrained AI models are present for NLP and AI tasks like Automatic Speech Recognition, NLU, Computer Vision, etc along with their SOTA accuracy. They are trained for over 1000 hours and are put into our hands using NGC. These give us direct access to models. Hence we wouldn't have to train an NLP model from scratch, but rather only fine-tune the model with our own data. NGC also gives us a visual idea of how the NLP model was build, how many layers,s what learning rate is optimal as well as the value for other hyperparameters. We can also integrate these models into existing workflows using SDKs. Through NGC, they've managed to put NLP chains in our hands.
They go from training models to deployment. NGC also offer NEMO or new models which help to build API based building blocks across containers, pre-trained models, and industry-specific SDK. It offers a building block that helps build NLP and AI models faster. They provide a clear starting point for the NLP starting point or NLP end-case. These are curated by experts so that we can go from training to deployment and production pretty fast.
Cloud AI is the fastest way for a Machine Learning engineer to build models. GC offers serverless tools for ML, ways to guide end to end modeling. We can launch various environments like Tensorflow or PyTorch with a single click, using a VirtualMachine. After the model has been trained we can deploy it in a container. Google cloud’s simple tools and Nvidia GPU tools, offers to bring together better NLP/AI solutions.
The path from training to deploying an NLP model on GoogleCloud with the help of NVIDIA NGC.
For more details on how to build your own AI/NLP model on NGC (it's free), please look into the following websites:
Check out the NVIDIA GTC which has brought me to the infinite wandering of knowledge on Deep learning, GPUs, AI, and Machine Learning.
Please do add me on Linkedin and follow me on Medium for more DL, AI blogs!