In this practical, hands-on training seminar participants will build their own cloud-based Natural Language Processing (NLP) applications from scratch. By the end of this course participants will understand cloud-based architecture, the principles of machine learning algorithms and their applications to NLP, and how to successfully build and implement NLP to suit each participant’s unique needs. Participants are guided through the entire process of building working applications, with someone at their side to resolve real-world problems such as configuration settings, library installation issues, and coding errors.
There are no formal prerequisite skills for this course, but a strong analytics mind and prior exposure to Python is helpful (for those interested, we can recommend short, 1- to 2-hour tutorials to bring a participant up to speed on Python fundamentals). As this course employs cloud-based infrastructure, participants need only bring with them a Windows/Linux/Mac laptop.
Day 1, morning session 1: Cloud-Based Development, part 1
Review student applications and data
AWS console
Security and user permissions
Manage EC2 instances & S3 buckets
Amazon SageMaker
Day 1, morning session 2: Cloud-Based Development Environment, part 2
Python, virtual environments, Jupyter notebooks
Version control and Git
Practice with Python, Jupyter, and git
Day 1, afternoon session 1: Sourcing and Managing Data
Sourcing and validating data
Managing training and test data
NLP data for sentiment
Creating training data: AWS training data tools
Day 1, afternoon session 2: Practice & Review
Practice with Python, Jupyter, git, and AWS training data tools
Shape training data
Day 2, morning session 1: Introduction to NLP
NLP applications
Preprocessing: stemming, tokenization
Machine learning algorithms
Initial NLP models
Day 2, morning session 2: Practice & Review
Implement stemming, tokenization with student data
Configure machine learning algorithms
Day 2, afternoon session 1: Transfer Learning and Training Models
Word embedding with ULMFiT
Transfer learning with fast.ai
Training NLP models
Model tuning and hyperparamters
Day 2, afternoon session 2: Batch Inference
Accessing model artifacts
Deploying models on large data
Output results (json, csv, Redshift)
Day 3, morning session 1: Practice & Review
Accessing model artifacts
Deploying models on large data
Output results (json, csv, Redshift)
Day 3, morning session 2: Restful Inference
Restful architecture
Lambda functions
Day 3, afternoon session 1: Practice & Review
Implement restful architecture with Lambda using student data
Day 3, afternoon session 2: Deployment
Docker instances
Practice using Docker with student applications
Day 4, morning session 1: Application Architecture
End-to-end application architecture including persisting and accessing model results
Performance optimization, AWS hosting, and GPUs
AWS economics
Day 4, morning session 2: Build Student Applications
Review specific topics as a class or small groups
Guided development and problem solving
1.1 development coaching
Day 4, afternoon sessions: Build Student Applications
Guided development and problem solving
Optional 1.1 development coaching
Ensure each student leaves with a functioning application