AI skills are inevitable
Hey there! 👋
In 2009-2010, when I was at Motorola Applied Research Center located in Schaumburg- Illinois, working as a student co-op, my summer project was to build an Android speech recognition feature. The feature built was to enable folks to say 'Call Tom or Call Name' with speaker isolation and necessary voice scaling. I was intrigued back then to use an internal speech recognition library, something similar to Carnegie Melon's Sphinx. In 2014-2016, I was intrigued by building classic machine learning models that can learn data with linear and non-linear boundaries. In the past few years, I have been in awe of all generative models, especially the proliferation of large language models, vision language models, and deep generative adversarial networks. My AI profile-building journey started with all necessary math, revising traditional machine learning models, followed by deep neural network models, followed by natural language processing, natural language understanding, and generative adversarial network specializations.
With love for attention is all you need, transformer architectures and all recent model architectures released in vision-language, NLP space, and GAN space; here I am with a new set of skills.
Pytorch
Spacy
Gensim
LSTM
PEFT
In-Context
Tensorflow
Polars
Numpy
ScikitLearn
Decision Trees
Ensemble Methods
Embeddings
Huggingface
FSDP
Deepspeed
Accelerate
Graph NN
DSPy
LangChain
LlamaIndex
RAG
Wandb
Natural Language Processing
Natural Language Understanding
Neural Networks
Reinforcement Learning
CNN
RNN
Quantization
Quanto
Hyperparameter Tuning
Buildings GANs
Prompt Engineering
RLHF
Reward Modeling
TRL
Sentence-Transformers
Haystack
Courses
Please also refer to below Gitlab project page to understand about different sources from which I learnt necessary math for deep learning. Please also refer to blog posts I have written below which is en epitome of wonderful concepts I have learnt from this specialization and its applications
Blogs
Skills Earned
Linear Equations
Vector-spaces, transformations
Matrices
Linear - independence, basis, mappings
Determinants
Eigenvalues, eigenvectors
Singular value decomposition
PCA
Differentian rules
Backpropagation
Jacobians, Hessians
Optimization - Gradient Descent, Newton's method
Taylor Series
Probability Distributions
Joint distributions
Covariances
Point estimation
Confidence Intervals
Hypothesis testing
Please also refer to below Gitlab project page to check notebooks, other notes related to ML specializations
Blogs
Skills Earned
Regression
Decision Trees
Naive Bayes
Support Vector Machines
Ensemble methods
Evaluation methods
Neural Network
Clustering
GMM
Random projection
PCA
ICA
Reinforcement Learning
Recommender System
Anamoly Detection
Please also refer to below Gitlab project page to check notebooks, other notes related to DL specializations
Blogs
Skills Earned
Neural Networks
Regularization
Optimization
Hyperparameter Tuning
Batch Normalization
Convolutional Neural Networks
CNN - Residual Networks
U- Net Semantic Segmentation
Siamese Networks
Neural Style Transfer
Recurrent Neural Networks
LSTM
Word embeddings
Attention
Transformer
Seq2Seq Architectures
Please also refer to below Gitlab project page to check notebooks, other notes related to GAN specializations
Blogs
Skills Earned
Building GANs
Deep Convolutional GANs
DCGAN
Wasserstein GAN
Gradient Penalty
Conditional GAN
Controllable Generation
Evaluation methods
StyleGAN
Pix2Pix
CycleGAN
Please also refer to below Gitlab project page to check notebooks, other notes related to GAN specializations
Blogs
Skills Earned
NLP With Classification
NLP With Vector Spaces
NLP With Probabilistic Models
NLP With Sequence Models
NLP With Attention Models
Sentiment Analysis
Machine Translation
Autocorrect
Document Search
Part Of Speech Tagging
Hidden Markov Models
RNNs
LSTM
Named Entity Recognition
Word Embeddings
Attention
Transformers
Text Summarization
Question Answering
Leverage graph-structured data and make better predictions using graph neural networks.Construct Graph Neural Networks (GNNs) to model relational data, and apply them to tasks such as node classification, link prediction, and graph classification using PyG.Understand data by incorporating different node and edge types in knowledge graphs. Discover recurring and significant patterns of interconnections in your data with network motifs and community structure.
Blogs
Skills Earned
Deep Generative Models For Graphs
Graph Neural Networks
Influence Maximization
Knowledge Graphs
Node Embeddings
Node Classification
Representation Learning
GraphSAGE
GAT
Develop systems and algorithms for robust machine learning understanding of human language. Build neural information retrieval systems using large language models. Understand semantic and syntactic relations between words with contextual word representation models such as transformers, BERT, ELECTRA, and GPT. Access desired information from texts with classical and neural information retrieval methods.
Blogs
Skills Earned
Contextual Word Representations
Information Retrieval
In-Context Learning
Multi-Domain Sentiment
Few-Shot OpenQA
Large Language Models
Compositional Generatization
Conflating courses related to Large Language Models from different sources like Cohere, Hugging Face, Databricks, ActiveLoop. Here I conflate notes, ideas related to LLMs in production, LLMs from ground up, LLMs in different domains, LLMs in different applications, LLMs in different tools, LLMs in different chains, LLMs in different agents, LLMs in different indexes, LLMs in different contexts, LLMs in different fine-tuning techniques, LLMs in different reparameterization techniques, LLMs in different instruction tuning techniques, LLMs in different reward modeling techniques. LLMOps tools Langchain, Llamaindex plays a major role.
Blogs
Skills Earned
Text Representation
Text Generation
Semantic Search
Prompt Engineering
RAG
Transfer Learning
LLM - Tools, Chains, Agents
Transformers
Langchain
LlamaIndex
In-Context Learning
Reparameterization
PEFT
Fine-Tuning
Instruction Tuning
Reward Modeling
Projects
View all projects
Garuda - Llama2 + Instruction Tuning + PEFT
Garuda is a large language model fine tuned on top of Llama2 using PEFT techniques and instruction tuning datasets from Stanford Alpaca and Databricks Dolly datasets
Spoonbill - a retrieval-augmented autoregressive vision-language model
Spoonbill is a retrieval-augmented autoregressive vision-language model that can generate image captions and answer questions about images. It is trained with effective multiple GPU training techniques like FSDP, Deepspeed, and Accelerate. Open Flamingo is fine tuned with Garuda as language model. Spoonbill is born as a result of fine tuning the above said OpenFlamingo with visual-instruction tuning datasets from Otter mimic-it datasets using multiple GPUs and distributed training techniques.
Supervised Sentiment Analysis Multi Domain
Stanford CS224U Multi domain sentiment analysis using supervised learning in a ternary label setting (positive, negative, neutral). Bakeoff (competition) topper. Resampling done to balance class labels among Dynasent and Stanford Sentiment Tree Datasets. Several models were evaluated including BERT, RoBERTA and DistilBERT + Spacy.
Few-Shot OpenQA With DSPy
The goal of this project is open-domain question answering (OpenQA). In this task, all that is given by the dataset is a question text, and the task is to answer that question. Project covers few-shot OpenQA which works by retrieving passages to use in the prompt rather than assuming that the gold passage can be used in the prompt.
Compositional Generalization
We are going to assess the degree to which our apparently very good models have learned to process and interpret language systematically. To do this, we are going to ask them to interpret novel combinations of familiar words and phrases. For humans, these tasks are very easy. For our models, the situation seems to be quite different.The basis for the assignment is the ReCOGS dataset.
GraphSage And GAT
GraphSAGE and GAT are two popular Graph Neural Networks (GNNs) that are used for node classification tasks. In this project, we will implement both models directly using Pytorch Geometric (PyG) and DeepSnap libraries.
Heterogeneous Graphs With PyG And DeepSnap
Heterogeneous graphs are graphs that extend traditional Homegeneous graphs by allowing multiple node and edge types. In this project, we will implement two different heterogeneous graph neural networks (HeteroGNNs) using Pytorch Geometric (PyG) and DeepSnap libraries.
Cycle GAN Implementation
In this project, you will find implementation of generative model based on the paper Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks by Zhu et al. 2017, commonly referred to as CycleGAN. The main objectives are to implement the loss function of a CycleGAN, train a CycleGAN model, and evaluate the model on a dataset of horse images and zebra images.
Wasserstein GAN with Gradient Penalty
In this project, you will find implementation of Wasserstein GAN with Gradient Penalty (WGAN-GP) that solves some of the stability issues with the GANs. Specifically, you'll use a special kind of loss function known as the W-loss, where W stands for Wasserstein, and gradient penalties to prevent mode collapse.