NLP Engineer
For developers who want to build language AI, from classical text processing to transformers and LLMs. You will train, adapt, evaluate, and deploy production NLP systems.
{"nodes":[{"id":"title","type":"title","position":{"x":0,"y":0},"data":{"label":"NLP Engineer"},"width":1688,"height":61,"style":{"width":1688,"height":61},"measured":{"width":1688,"height":61},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":0,"y":0}},{"id":"summary","type":"paragraph","position":{"x":404,"y":77},"data":{"label":"For developers who want to build language AI, from classical text processing to transformers and LLMs. You will train, adapt, evaluate, and deploy production NLP systems."},"width":880,"height":56,"style":{"width":880,"height":56},"measured":{"width":880,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":404,"y":77}},{"id":"meta","type":"paragraph","position":{"x":524,"y":147},"data":{"label":"10 STAGES · 49 TOPICS · 180 SUBTOPICS","style":{"fontSize":13,"fontFamily":"jetbrains","fontWeight":500,"color":"var(--color-fg-subtle)"}},"width":640,"height":21,"style":{"width":640,"height":21},"measured":{"width":640,"height":21},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":524,"y":147}},{"id":"stage-1","type":"section","position":{"x":0,"y":224},"data":{"label":"Programming and Engineering Foundations","description":"Master the programming, data, and software engineering skills that production NLP work relies on.","number":1},"width":824,"height":1125,"style":{"width":824,"height":1125},"measured":{"width":824,"height":1125},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":0,"y":224}},{"id":"topic-1-1","type":"topic","position":{"x":28,"y":345},"data":{"label":"Python","number":"1.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":345}},{"id":"sub-1-1-1","type":"subtopic","position":{"x":28,"y":413},"data":{"label":"Advanced Python","description":"OOP · Generators · Decorators · Memory Management"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":413}},{"id":"sub-1-1-2","type":"subtopic","position":{"x":288,"y":413},"data":{"label":"Asynchronous Programming","description":"asyncio · Concurrency"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":413}},{"id":"sub-1-1-3","type":"subtopic","position":{"x":548,"y":413},"data":{"label":"Data Libraries","description":"NumPy · Pandas · Polars"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":413}},{"id":"topic-1-2","type":"topic","position":{"x":28,"y":526},"data":{"label":"SQL and Data Engineering","number":"1.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":526}},{"id":"sub-1-2-1","type":"subtopic","position":{"x":28,"y":594},"data":{"label":"SQL for Data Extraction","description":"Joins · CTEs · Window Functions"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":594}},{"id":"sub-1-2-2","type":"subtopic","position":{"x":288,"y":594},"data":{"label":"Data Pipelines","description":"Apache Spark · Airflow · dbt"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":594}},{"id":"sub-1-2-3","type":"subtopic","position":{"x":548,"y":594},"data":{"label":"Data Formats","description":"JSONL · Parquet · Arrow"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":594}},{"id":"topic-1-3","type":"topic","position":{"x":28,"y":707},"data":{"label":"Software Engineering Practices","number":"1.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":707}},{"id":"sub-1-3-1","type":"subtopic","position":{"x":28,"y":775},"data":{"label":"Version Control","description":"Git · GitHub · GitLab"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":775}},{"id":"sub-1-3-2","type":"subtopic","position":{"x":288,"y":775},"data":{"label":"Testing","description":"pytest · Mocking · Integration Tests"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":775}},{"id":"sub-1-3-3","type":"subtopic","position":{"x":548,"y":775},"data":{"label":"CI/CD Pipelines","description":"GitHub Actions · GitLab CI · Jenkins"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":775}},{"id":"sub-1-3-4","type":"subtopic","position":{"x":28,"y":872},"data":{"label":"API Development","description":"FastAPI · gRPC · WebSockets"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":872}},{"id":"topic-1-4","type":"topic","position":{"x":28,"y":967},"data":{"label":"Data Structures and Algorithms","number":"1.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":967}},{"id":"sub-1-4-1","type":"subtopic","position":{"x":28,"y":1035},"data":{"label":"Arrays, Hash Maps, and Tries"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1035}},{"id":"sub-1-4-2","type":"subtopic","position":{"x":288,"y":1035},"data":{"label":"Trees and Graphs"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":1035}},{"id":"sub-1-4-3","type":"subtopic","position":{"x":548,"y":1035},"data":{"label":"Dynamic Programming","description":"Edit Distance · Viterbi"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":1035}},{"id":"sub-1-4-4","type":"subtopic","position":{"x":28,"y":1114},"data":{"label":"Complexity Analysis"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1114}},{"id":"topic-1-5","type":"topic","position":{"x":28,"y":1188},"data":{"label":"Systems Languages (Optional)","number":"1.5"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1188}},{"id":"sub-1-5-1","type":"subtopic","position":{"x":28,"y":1256},"data":{"label":"C++ for Inference Engines and Kernels"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1256}},{"id":"sub-1-5-2","type":"subtopic","position":{"x":288,"y":1256},"data":{"label":"Rust for Tokenizers and Tooling"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":1256}},{"id":"stage-2","type":"section","position":{"x":864,"y":224},"data":{"label":"Mathematics for NLP","description":"Build the math intuition behind embeddings, attention, training, and probabilistic language models.","number":2},"width":824,"height":1125,"style":{"width":824,"height":1125},"measured":{"width":824,"height":1125},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":864,"y":224}},{"id":"topic-2-1","type":"topic","position":{"x":892,"y":345},"data":{"label":"Linear Algebra","number":"2.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":345}},{"id":"sub-2-1-1","type":"subtopic","position":{"x":892,"y":413},"data":{"label":"Vectors, Matrices, and Tensors"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":413}},{"id":"sub-2-1-2","type":"subtopic","position":{"x":1152,"y":413},"data":{"label":"Matrix Multiplication and Norms"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":413}},{"id":"sub-2-1-3","type":"subtopic","position":{"x":1412,"y":413},"data":{"label":"Eigenvalues and SVD"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":413}},{"id":"topic-2-2","type":"topic","position":{"x":892,"y":506},"data":{"label":"Calculus","number":"2.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":506}},{"id":"sub-2-2-1","type":"subtopic","position":{"x":892,"y":574},"data":{"label":"Derivatives and Partial Derivatives"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":574}},{"id":"sub-2-2-2","type":"subtopic","position":{"x":1152,"y":574},"data":{"label":"Chain Rule and Gradients"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":574}},{"id":"sub-2-2-3","type":"subtopic","position":{"x":1412,"y":574},"data":{"label":"Jacobians and Hessians"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":574}},{"id":"topic-2-3","type":"topic","position":{"x":892,"y":667},"data":{"label":"Probability and Statistics","number":"2.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":667}},{"id":"sub-2-3-1","type":"subtopic","position":{"x":892,"y":735},"data":{"label":"Probability Distributions"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":735}},{"id":"sub-2-3-2","type":"subtopic","position":{"x":1152,"y":735},"data":{"label":"Bayes' Theorem"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":735}},{"id":"sub-2-3-3","type":"subtopic","position":{"x":1412,"y":735},"data":{"label":"Hypothesis Testing and Significance"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":735}},{"id":"sub-2-3-4","type":"subtopic","position":{"x":892,"y":812},"data":{"label":"Markov Chains"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":812}},{"id":"topic-2-4","type":"topic","position":{"x":892,"y":886},"data":{"label":"Information Theory","number":"2.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":886}},{"id":"sub-2-4-1","type":"subtopic","position":{"x":892,"y":954},"data":{"label":"Entropy and Cross-Entropy"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":954}},{"id":"sub-2-4-2","type":"subtopic","position":{"x":1152,"y":954},"data":{"label":"KL Divergence"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":954}},{"id":"sub-2-4-3","type":"subtopic","position":{"x":1412,"y":954},"data":{"label":"Mutual Information"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":954}},{"id":"sub-2-4-4","type":"subtopic","position":{"x":892,"y":1012},"data":{"label":"Perplexity"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":1012}},{"id":"stage-3","type":"section","position":{"x":0,"y":1389},"data":{"label":"Machine Learning Fundamentals","description":"Learn core ML algorithms, optimization, and evaluation methods before moving into neural NLP.","number":3},"width":824,"height":1325,"style":{"width":824,"height":1325},"measured":{"width":824,"height":1325},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":0,"y":1389}},{"id":"topic-3-1","type":"topic","position":{"x":28,"y":1510},"data":{"label":"Supervised Learning","number":"3.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1510}},{"id":"sub-3-1-1","type":"subtopic","position":{"x":28,"y":1578},"data":{"label":"Linear and Logistic Regression"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1578}},{"id":"sub-3-1-2","type":"subtopic","position":{"x":288,"y":1578},"data":{"label":"Support Vector Machines"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":1578}},{"id":"sub-3-1-3","type":"subtopic","position":{"x":548,"y":1578},"data":{"label":"Tree Ensembles","description":"Random Forest · XGBoost · LightGBM"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":1578}},{"id":"topic-3-2","type":"topic","position":{"x":28,"y":1691},"data":{"label":"Unsupervised Learning","number":"3.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1691}},{"id":"sub-3-2-1","type":"subtopic","position":{"x":28,"y":1759},"data":{"label":"Clustering","description":"K-Means · DBSCAN · HDBSCAN"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1759}},{"id":"sub-3-2-2","type":"subtopic","position":{"x":288,"y":1759},"data":{"label":"Dimensionality Reduction","description":"PCA · t-SNE · UMAP"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":1759}},{"id":"topic-3-3","type":"topic","position":{"x":28,"y":1854},"data":{"label":"Optimization","number":"3.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1854}},{"id":"sub-3-3-1","type":"subtopic","position":{"x":28,"y":1922},"data":{"label":"Gradient Descent and SGD"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":1922}},{"id":"sub-3-3-2","type":"subtopic","position":{"x":288,"y":1922},"data":{"label":"Adaptive Optimizers","description":"Adam · AdamW · RMSprop"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":1922}},{"id":"sub-3-3-3","type":"subtopic","position":{"x":548,"y":1922},"data":{"label":"Learning Rate Schedules","description":"Warmup · Cosine Decay"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":1922}},{"id":"topic-3-4","type":"topic","position":{"x":28,"y":2017},"data":{"label":"Model Evaluation","number":"3.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":2017}},{"id":"sub-3-4-1","type":"subtopic","position":{"x":28,"y":2085},"data":{"label":"Cross-Validation and Data Splits"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":2085}},{"id":"sub-3-4-2","type":"subtopic","position":{"x":288,"y":2085},"data":{"label":"Classification Metrics","description":"Precision · Recall · F1 · ROC-AUC"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":2085}},{"id":"sub-3-4-3","type":"subtopic","position":{"x":548,"y":2085},"data":{"label":"Bias-Variance and Overfitting"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":2085}},{"id":"stage-4","type":"section","position":{"x":864,"y":1389},"data":{"label":"Text Processing and Classical NLP","description":"Clean, represent, and analyze text with rule-based and statistical NLP techniques.","number":4},"width":824,"height":1325,"style":{"width":824,"height":1325},"measured":{"width":824,"height":1325},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":864,"y":1389}},{"id":"topic-4-1","type":"topic","position":{"x":892,"y":1510},"data":{"label":"Text Preprocessing","number":"4.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":1510}},{"id":"sub-4-1-1","type":"subtopic","position":{"x":892,"y":1578},"data":{"label":"Regular Expressions and String Handling"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":1578}},{"id":"sub-4-1-2","type":"subtopic","position":{"x":1152,"y":1578},"data":{"label":"Text Normalization","description":"Lowercasing · Unicode · Spell Checking"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":1578}},{"id":"sub-4-1-3","type":"subtopic","position":{"x":1412,"y":1578},"data":{"label":"Stemming and Lemmatization"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":1578}},{"id":"sub-4-1-4","type":"subtopic","position":{"x":892,"y":1675},"data":{"label":"Stop Word Removal"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":1675}},{"id":"sub-4-1-5","type":"subtopic","position":{"x":1152,"y":1675},"data":{"label":"String Similarity","description":"Edit Distance · Jaccard · Cosine"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":1675}},{"id":"topic-4-2","type":"topic","position":{"x":892,"y":1770},"data":{"label":"Tokenization","number":"4.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":1770}},{"id":"sub-4-2-1","type":"subtopic","position":{"x":892,"y":1838},"data":{"label":"Word and Sentence Tokenization"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":1838}},{"id":"sub-4-2-2","type":"subtopic","position":{"x":1152,"y":1838},"data":{"label":"Subword Algorithms","description":"BPE · WordPiece · Unigram · Byte-Level BPE"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":1838}},{"id":"sub-4-2-3","type":"subtopic","position":{"x":1412,"y":1838},"data":{"label":"Tokenizer Libraries","description":"SentencePiece · tiktoken · HF Tokenizers"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":1838}},{"id":"topic-4-3","type":"topic","position":{"x":892,"y":1951},"data":{"label":"Text Representation","number":"4.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":1951}},{"id":"sub-4-3-1","type":"subtopic","position":{"x":892,"y":2019},"data":{"label":"Bag of Words and N-Grams"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":2019}},{"id":"sub-4-3-2","type":"subtopic","position":{"x":1152,"y":2019},"data":{"label":"TF-IDF"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":2019}},{"id":"sub-4-3-3","type":"subtopic","position":{"x":1412,"y":2019},"data":{"label":"BM25 Lexical Retrieval"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":2019}},{"id":"topic-4-4","type":"topic","position":{"x":892,"y":2093},"data":{"label":"Sequence Labeling and Parsing","number":"4.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":2093}},{"id":"sub-4-4-1","type":"subtopic","position":{"x":892,"y":2161},"data":{"label":"Part-of-Speech Tagging"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":2161}},{"id":"sub-4-4-2","type":"subtopic","position":{"x":1152,"y":2161},"data":{"label":"Named Entity Recognition (NER)"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":2161}},{"id":"sub-4-4-3","type":"subtopic","position":{"x":1412,"y":2161},"data":{"label":"Probabilistic Models","description":"HMM · CRF · Viterbi"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":2161}},{"id":"sub-4-4-4","type":"subtopic","position":{"x":892,"y":2240},"data":{"label":"Chunking and Shallow Parsing"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":2240}},{"id":"sub-4-4-5","type":"subtopic","position":{"x":1152,"y":2240},"data":{"label":"Dependency and Constituency Parsing"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":2240}},{"id":"topic-4-5","type":"topic","position":{"x":892,"y":2333},"data":{"label":"Text Classification and Topic Modeling","number":"4.5"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":2333}},{"id":"sub-4-5-1","type":"subtopic","position":{"x":892,"y":2401},"data":{"label":"Text Classifiers","description":"Naive Bayes · Logistic Regression · SVM"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":2401}},{"id":"sub-4-5-2","type":"subtopic","position":{"x":1152,"y":2401},"data":{"label":"Topic Modeling","description":"LDA · NMF · BERTopic"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":2401}},{"id":"topic-4-6","type":"topic","position":{"x":892,"y":2514},"data":{"label":"Classical NLP Libraries","number":"4.6"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":2514}},{"id":"sub-4-6-1","type":"subtopic","position":{"x":892,"y":2582},"data":{"label":"NLTK"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":2582}},{"id":"sub-4-6-2","type":"subtopic","position":{"x":1152,"y":2582},"data":{"label":"spaCy"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":2582}},{"id":"sub-4-6-3","type":"subtopic","position":{"x":1412,"y":2582},"data":{"label":"Gensim"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":2582}},{"id":"sub-4-6-4","type":"subtopic","position":{"x":892,"y":2640},"data":{"label":"scikit-learn"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":2640}},{"id":"sub-4-6-5","type":"subtopic","position":{"x":1152,"y":2640},"data":{"label":"Stanza"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":2640}},{"id":"stage-5","type":"section","position":{"x":0,"y":2753},"data":{"label":"Deep Learning for NLP","description":"Train neural networks for text, from word embeddings to recurrent models and attention.","number":5},"width":824,"height":1258,"style":{"width":824,"height":1258},"measured":{"width":824,"height":1258},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":0,"y":2753}},{"id":"topic-5-1","type":"topic","position":{"x":28,"y":2874},"data":{"label":"Neural Network Fundamentals","number":"5.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":2874}},{"id":"sub-5-1-1","type":"subtopic","position":{"x":28,"y":2942},"data":{"label":"Feedforward Networks (MLP)"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":2942}},{"id":"sub-5-1-2","type":"subtopic","position":{"x":288,"y":2942},"data":{"label":"Backpropagation and Computational Graphs"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":2942}},{"id":"sub-5-1-3","type":"subtopic","position":{"x":548,"y":2942},"data":{"label":"Activation Functions","description":"ReLU · GELU · Sigmoid · Tanh · SiLU"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":2942}},{"id":"sub-5-1-4","type":"subtopic","position":{"x":28,"y":3039},"data":{"label":"Loss Functions","description":"Cross-Entropy · NLL · Contrastive · Focal · Triplet"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3039}},{"id":"sub-5-1-5","type":"subtopic","position":{"x":288,"y":3039},"data":{"label":"Regularization","description":"Dropout · Weight Decay · LayerNorm · BatchNorm"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":3039}},{"id":"topic-5-2","type":"topic","position":{"x":28,"y":3152},"data":{"label":"Deep Learning Frameworks","number":"5.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3152}},{"id":"sub-5-2-1","type":"subtopic","position":{"x":28,"y":3220},"data":{"label":"PyTorch"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3220}},{"id":"sub-5-2-2","type":"subtopic","position":{"x":288,"y":3220},"data":{"label":"JAX and Flax"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":3220}},{"id":"sub-5-2-3","type":"subtopic","position":{"x":548,"y":3220},"data":{"label":"TensorFlow and Keras"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":3220}},{"id":"sub-5-2-4","type":"subtopic","position":{"x":28,"y":3278},"data":{"label":"Triton GPU Programming"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3278}},{"id":"topic-5-3","type":"topic","position":{"x":28,"y":3352},"data":{"label":"Word Embeddings","number":"5.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3352}},{"id":"sub-5-3-1","type":"subtopic","position":{"x":28,"y":3420},"data":{"label":"Word2Vec","description":"CBOW · Skip-Gram · Negative Sampling"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3420}},{"id":"sub-5-3-2","type":"subtopic","position":{"x":288,"y":3420},"data":{"label":"GloVe"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":3420}},{"id":"sub-5-3-3","type":"subtopic","position":{"x":548,"y":3420},"data":{"label":"FastText Subword Embeddings"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":3420}},{"id":"sub-5-3-4","type":"subtopic","position":{"x":28,"y":3517},"data":{"label":"Contextual Embeddings (ELMo)"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3517}},{"id":"topic-5-4","type":"topic","position":{"x":28,"y":3610},"data":{"label":"Sequence Models","number":"5.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3610}},{"id":"sub-5-4-1","type":"subtopic","position":{"x":28,"y":3678},"data":{"label":"1D CNNs for Text"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3678}},{"id":"sub-5-4-2","type":"subtopic","position":{"x":288,"y":3678},"data":{"label":"Recurrent Neural Networks and BPTT"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":3678}},{"id":"sub-5-4-3","type":"subtopic","position":{"x":548,"y":3678},"data":{"label":"LSTM and GRU"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":3678}},{"id":"sub-5-4-4","type":"subtopic","position":{"x":28,"y":3755},"data":{"label":"Bidirectional RNNs (BiLSTM)"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3755}},{"id":"topic-5-5","type":"topic","position":{"x":28,"y":3848},"data":{"label":"Seq2Seq and Attention","number":"5.5"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3848}},{"id":"sub-5-5-1","type":"subtopic","position":{"x":28,"y":3916},"data":{"label":"Encoder-Decoder Architecture"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":3916}},{"id":"sub-5-5-2","type":"subtopic","position":{"x":288,"y":3916},"data":{"label":"Attention Mechanisms","description":"Additive · Multiplicative"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":3916}},{"id":"sub-5-5-3","type":"subtopic","position":{"x":548,"y":3916},"data":{"label":"Pointer Networks and Copy Mechanisms"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":3916}},{"id":"stage-6","type":"section","position":{"x":864,"y":2753},"data":{"label":"Transformers and Large Language Models","description":"Understand how transformers work and how modern language model families differ.","number":6},"width":824,"height":1258,"style":{"width":824,"height":1258},"measured":{"width":824,"height":1258},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":864,"y":2753}},{"id":"topic-6-1","type":"topic","position":{"x":892,"y":2874},"data":{"label":"Transformer Core","number":"6.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":2874}},{"id":"sub-6-1-1","type":"subtopic","position":{"x":892,"y":2942},"data":{"label":"Scaled Dot-Product Self-Attention"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":2942}},{"id":"sub-6-1-2","type":"subtopic","position":{"x":1152,"y":2942},"data":{"label":"Multi-Head Attention","description":"MHA · MQA · GQA"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":2942}},{"id":"sub-6-1-3","type":"subtopic","position":{"x":1412,"y":2942},"data":{"label":"Positional Encoding","description":"Absolute · Relative · RoPE · ALiBi"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":2942}},{"id":"sub-6-1-4","type":"subtopic","position":{"x":892,"y":3039},"data":{"label":"Normalization","description":"Post-LN · Pre-LN · RMSNorm"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3039}},{"id":"sub-6-1-5","type":"subtopic","position":{"x":1152,"y":3039},"data":{"label":"Gated Activations","description":"SwiGLU · GeGLU"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":3039}},{"id":"sub-6-1-6","type":"subtopic","position":{"x":1412,"y":3039},"data":{"label":"Encoder and Decoder Blocks"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":3039}},{"id":"topic-6-2","type":"topic","position":{"x":892,"y":3134},"data":{"label":"Efficient Attention and Long Context","number":"6.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3134}},{"id":"sub-6-2-1","type":"subtopic","position":{"x":892,"y":3202},"data":{"label":"FlashAttention"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3202}},{"id":"sub-6-2-2","type":"subtopic","position":{"x":1152,"y":3202},"data":{"label":"KV Caching and PagedAttention"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":3202}},{"id":"sub-6-2-3","type":"subtopic","position":{"x":1412,"y":3202},"data":{"label":"Long Context","description":"Ring Attention · Sliding Window · RoPE Scaling"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":3202}},{"id":"topic-6-3","type":"topic","position":{"x":892,"y":3315},"data":{"label":"Pre-training Essentials","number":"6.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3315}},{"id":"sub-6-3-1","type":"subtopic","position":{"x":892,"y":3383},"data":{"label":"Training Objectives","description":"Causal LM · Masked LM · Span Corruption"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3383}},{"id":"sub-6-3-2","type":"subtopic","position":{"x":1152,"y":3383},"data":{"label":"Scaling Laws"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":3383}},{"id":"sub-6-3-3","type":"subtopic","position":{"x":1412,"y":3383},"data":{"label":"Data Curation","description":"Deduplication · Filtering · Data Mixtures"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":3383}},{"id":"topic-6-4","type":"topic","position":{"x":892,"y":3496},"data":{"label":"Pre-trained Model Families","number":"6.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3496}},{"id":"sub-6-4-1","type":"subtopic","position":{"x":892,"y":3564},"data":{"label":"Encoder-Only","description":"BERT · RoBERTa · DeBERTaV3 · ModernBERT"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3564}},{"id":"sub-6-4-2","type":"subtopic","position":{"x":1152,"y":3564},"data":{"label":"Decoder-Only","description":"GPT · Llama · Mistral · Qwen · Gemma"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":3564}},{"id":"sub-6-4-3","type":"subtopic","position":{"x":1412,"y":3564},"data":{"label":"Encoder-Decoder","description":"T5 · BART · FLAN-T5"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":3564}},{"id":"topic-6-5","type":"topic","position":{"x":892,"y":3677},"data":{"label":"Emerging Architectures","number":"6.5"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3677}},{"id":"sub-6-5-1","type":"subtopic","position":{"x":892,"y":3745},"data":{"label":"Mixture of Experts","description":"Mixtral · DeepSeek-V3 · Qwen3 MoE"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3745}},{"id":"sub-6-5-2","type":"subtopic","position":{"x":1152,"y":3745},"data":{"label":"Small Language Models","description":"Phi-4 · Gemma 3 · Qwen3"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":3745}},{"id":"sub-6-5-3","type":"subtopic","position":{"x":1412,"y":3745},"data":{"label":"State Space and Hybrid Models","description":"Mamba · Jamba · RWKV"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":3745}},{"id":"sub-6-5-4","type":"subtopic","position":{"x":892,"y":3844},"data":{"label":"Reasoning Models","description":"Test-Time Compute · Long Chain-of-Thought"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":3844}},{"id":"stage-7","type":"section","position":{"x":0,"y":4051},"data":{"label":"Adapting LLMs: Fine-Tuning, RAG, and Agents","description":"Adapt LLMs to your tasks with fine-tuning, alignment, prompting, retrieval, and agentic workflows.","number":7},"width":824,"height":1421,"style":{"width":824,"height":1421},"measured":{"width":824,"height":1421},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":0,"y":4051}},{"id":"topic-7-1","type":"topic","position":{"x":28,"y":4172},"data":{"label":"Supervised Fine-Tuning","number":"7.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4172}},{"id":"sub-7-1-1","type":"subtopic","position":{"x":28,"y":4240},"data":{"label":"Task-Specific Fine-Tuning"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4240}},{"id":"sub-7-1-2","type":"subtopic","position":{"x":288,"y":4240},"data":{"label":"Instruction Tuning (SFT)"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":4240}},{"id":"sub-7-1-3","type":"subtopic","position":{"x":548,"y":4240},"data":{"label":"Fine-Tuning Tooling","description":"Hugging Face TRL · Unsloth · Axolotl · LLaMA-Factory"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":4240}},{"id":"topic-7-2","type":"topic","position":{"x":28,"y":4353},"data":{"label":"Parameter-Efficient Fine-Tuning","number":"7.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4353}},{"id":"sub-7-2-1","type":"subtopic","position":{"x":28,"y":4421},"data":{"label":"LoRA and QLoRA"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4421}},{"id":"sub-7-2-2","type":"subtopic","position":{"x":288,"y":4421},"data":{"label":"LoRA Variants","description":"DoRA · PiSSA"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":4421}},{"id":"sub-7-2-3","type":"subtopic","position":{"x":548,"y":4421},"data":{"label":"Adapters and Prompt Tuning","description":"Prefix Tuning · P-Tuning"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":4421}},{"id":"topic-7-3","type":"topic","position":{"x":28,"y":4536},"data":{"label":"Preference Alignment","number":"7.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4536}},{"id":"sub-7-3-1","type":"subtopic","position":{"x":28,"y":4604},"data":{"label":"RLHF with PPO"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4604}},{"id":"sub-7-3-2","type":"subtopic","position":{"x":288,"y":4604},"data":{"label":"Direct Preference Methods","description":"DPO · KTO · ORPO"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":4604}},{"id":"sub-7-3-3","type":"subtopic","position":{"x":548,"y":4604},"data":{"label":"RL for Reasoning","description":"GRPO · Verifiable Rewards"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":4604}},{"id":"sub-7-3-4","type":"subtopic","position":{"x":28,"y":4683},"data":{"label":"Constitutional AI and RLAIF"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4683}},{"id":"topic-7-4","type":"topic","position":{"x":28,"y":4757},"data":{"label":"Prompt Engineering","number":"7.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4757}},{"id":"sub-7-4-1","type":"subtopic","position":{"x":28,"y":4825},"data":{"label":"Prompting Basics","description":"Zero-Shot · Few-Shot"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4825}},{"id":"sub-7-4-2","type":"subtopic","position":{"x":288,"y":4825},"data":{"label":"Reasoning Prompts","description":"Chain-of-Thought · Tree of Thoughts · ReAct"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":4825}},{"id":"sub-7-4-3","type":"subtopic","position":{"x":548,"y":4825},"data":{"label":"Programmatic Prompt Optimization","description":"DSPy · TextGrad"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":4825}},{"id":"topic-7-5","type":"topic","position":{"x":28,"y":4940},"data":{"label":"Retrieval-Augmented Generation","number":"7.5"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":4940}},{"id":"sub-7-5-1","type":"subtopic","position":{"x":28,"y":5008},"data":{"label":"RAG Pipeline","description":"Chunking · Query Rewriting · Reranking"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5008}},{"id":"sub-7-5-2","type":"subtopic","position":{"x":288,"y":5008},"data":{"label":"Embedding Models","description":"BGE · E5 · Nomic · Jina · OpenAI"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":5008}},{"id":"sub-7-5-3","type":"subtopic","position":{"x":548,"y":5008},"data":{"label":"Vector Databases","description":"FAISS · Qdrant · Milvus · pgvector · Pinecone"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":5008}},{"id":"sub-7-5-4","type":"subtopic","position":{"x":28,"y":5105},"data":{"label":"Advanced RAG","description":"Hybrid Search · GraphRAG · Self-RAG"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5105}},{"id":"sub-7-5-5","type":"subtopic","position":{"x":288,"y":5105},"data":{"label":"RAG Frameworks","description":"LangChain · LlamaIndex · Haystack"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":5105}},{"id":"topic-7-6","type":"topic","position":{"x":28,"y":5218},"data":{"label":"Agentic Workflows","number":"7.6"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5218}},{"id":"sub-7-6-1","type":"subtopic","position":{"x":28,"y":5286},"data":{"label":"Tool Use and Function Calling"},"width":248,"height":104,"style":{"width":248,"height":104},"measured":{"width":248,"height":104},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5286}},{"id":"sub-7-6-2","type":"subtopic","position":{"x":288,"y":5286},"data":{"label":"Model Context Protocol (MCP)"},"width":248,"height":104,"style":{"width":248,"height":104},"measured":{"width":248,"height":104},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":5286}},{"id":"sub-7-6-3","type":"subtopic","position":{"x":548,"y":5286},"data":{"label":"Agent Frameworks","description":"LangGraph · CrewAI · OpenAI Agents SDK · Microsoft Agent Framework"},"width":248,"height":104,"style":{"width":248,"height":104},"measured":{"width":248,"height":104},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":5286}},{"id":"stage-8","type":"section","position":{"x":864,"y":4051},"data":{"label":"NLP Applications and Evaluation","description":"Apply NLP to real tasks and measure quality with the right metrics and benchmarks.","number":8},"width":824,"height":1421,"style":{"width":824,"height":1421},"measured":{"width":824,"height":1421},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":864,"y":4051}},{"id":"topic-8-1","type":"topic","position":{"x":892,"y":4172},"data":{"label":"Core NLP Applications","number":"8.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4172}},{"id":"sub-8-1-1","type":"subtopic","position":{"x":892,"y":4240},"data":{"label":"Machine Translation"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4240}},{"id":"sub-8-1-2","type":"subtopic","position":{"x":1152,"y":4240},"data":{"label":"Summarization","description":"Extractive · Abstractive"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":4240}},{"id":"sub-8-1-3","type":"subtopic","position":{"x":1412,"y":4240},"data":{"label":"Question Answering","description":"Extractive · Generative"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":4240}},{"id":"sub-8-1-4","type":"subtopic","position":{"x":892,"y":4319},"data":{"label":"Sentiment and Emotion Analysis","description":"Document-Level · Aspect-Based"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4319}},{"id":"sub-8-1-5","type":"subtopic","position":{"x":1152,"y":4319},"data":{"label":"Error Correction and Style Transfer"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":4319}},{"id":"sub-8-1-6","type":"subtopic","position":{"x":1412,"y":4319},"data":{"label":"Code Generation and Math Reasoning"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":4319}},{"id":"topic-8-2","type":"topic","position":{"x":892,"y":4434},"data":{"label":"Information Extraction","number":"8.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4434}},{"id":"sub-8-2-1","type":"subtopic","position":{"x":892,"y":4502},"data":{"label":"Relation Extraction"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4502}},{"id":"sub-8-2-2","type":"subtopic","position":{"x":1152,"y":4502},"data":{"label":"Coreference Resolution"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":4502}},{"id":"sub-8-2-3","type":"subtopic","position":{"x":1412,"y":4502},"data":{"label":"Knowledge Graph Construction"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":4502}},{"id":"sub-8-2-4","type":"subtopic","position":{"x":892,"y":4579},"data":{"label":"Structured Extraction with LLMs"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4579}},{"id":"topic-8-3","type":"topic","position":{"x":892,"y":4672},"data":{"label":"Conversational AI","number":"8.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4672}},{"id":"sub-8-3-1","type":"subtopic","position":{"x":892,"y":4740},"data":{"label":"Dialogue Systems and Chatbots"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4740}},{"id":"sub-8-3-2","type":"subtopic","position":{"x":1152,"y":4740},"data":{"label":"Intent Recognition and Slot Filling"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":4740}},{"id":"sub-8-3-3","type":"subtopic","position":{"x":1412,"y":4740},"data":{"label":"Dialogue State Tracking"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":4740}},{"id":"sub-8-3-4","type":"subtopic","position":{"x":892,"y":4817},"data":{"label":"Conversational Frameworks","description":"Rasa · Botpress · Voiceflow"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4817}},{"id":"topic-8-4","type":"topic","position":{"x":892,"y":4932},"data":{"label":"Multimodal NLP","number":"8.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":4932}},{"id":"sub-8-4-1","type":"subtopic","position":{"x":892,"y":5000},"data":{"label":"Vision-Language Models","description":"CLIP · LLaVA · Qwen-VL · Gemini · GPT-4o"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5000}},{"id":"sub-8-4-2","type":"subtopic","position":{"x":1152,"y":5000},"data":{"label":"Speech and Audio Models","description":"Whisper · SeamlessM4T · Text-to-Speech"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":5000}},{"id":"sub-8-4-3","type":"subtopic","position":{"x":1412,"y":5000},"data":{"label":"Text-to-Image Generation","description":"Stable Diffusion · FLUX · Midjourney"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":5000}},{"id":"sub-8-4-4","type":"subtopic","position":{"x":892,"y":5097},"data":{"label":"Video Understanding and Generation","description":"Gemini · Veo · Sora"},"width":248,"height":87,"style":{"width":248,"height":87},"measured":{"width":248,"height":87},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5097}},{"id":"topic-8-5","type":"topic","position":{"x":892,"y":5212},"data":{"label":"Evaluation and Benchmarking","number":"8.5"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5212}},{"id":"sub-8-5-1","type":"subtopic","position":{"x":892,"y":5280},"data":{"label":"Classic Metrics","description":"BLEU · ROUGE · METEOR · BERTScore"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5280}},{"id":"sub-8-5-2","type":"subtopic","position":{"x":1152,"y":5280},"data":{"label":"LLM Benchmarks","description":"MMLU-Pro · GPQA · HumanEval · GSM8K · LMArena"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":5280}},{"id":"sub-8-5-3","type":"subtopic","position":{"x":1412,"y":5280},"data":{"label":"LLM-as-a-Judge and Reward Models"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":5280}},{"id":"sub-8-5-4","type":"subtopic","position":{"x":892,"y":5377},"data":{"label":"RAG Evaluation","description":"Ragas · ARES · TruLens"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5377}},{"id":"sub-8-5-5","type":"subtopic","position":{"x":1152,"y":5377},"data":{"label":"Evaluation Harnesses","description":"lm-evaluation-harness · HELM"},"width":248,"height":67,"style":{"width":248,"height":67},"measured":{"width":248,"height":67},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":5377}},{"id":"stage-9","type":"section","position":{"x":0,"y":5511},"data":{"label":"LLMOps and Deployment","description":"Serve, scale, monitor, and secure NLP models efficiently in production environments.","number":9},"width":824,"height":1480,"style":{"width":824,"height":1480},"measured":{"width":824,"height":1480},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":0,"y":5511}},{"id":"topic-9-1","type":"topic","position":{"x":28,"y":5632},"data":{"label":"Inference Optimization","number":"9.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5632}},{"id":"sub-9-1-1","type":"subtopic","position":{"x":28,"y":5700},"data":{"label":"Numeric Precision","description":"FP16 · BF16 · FP8 · MXFP4"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5700}},{"id":"sub-9-1-2","type":"subtopic","position":{"x":288,"y":5700},"data":{"label":"Quantization","description":"INT8 · INT4 · AWQ · GPTQ · GGUF"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":5700}},{"id":"sub-9-1-3","type":"subtopic","position":{"x":548,"y":5700},"data":{"label":"Speculative Decoding","description":"Draft Models · Medusa · EAGLE"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":5700}},{"id":"sub-9-1-4","type":"subtopic","position":{"x":28,"y":5797},"data":{"label":"Batching and Scheduling","description":"Continuous Batching · Chunked Prefill · Multi-LoRA"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5797}},{"id":"topic-9-2","type":"topic","position":{"x":28,"y":5910},"data":{"label":"Serving Engines and Formats","number":"9.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5910}},{"id":"sub-9-2-1","type":"subtopic","position":{"x":28,"y":5978},"data":{"label":"Inference Engines","description":"vLLM · SGLang · TensorRT-LLM"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":5978}},{"id":"sub-9-2-2","type":"subtopic","position":{"x":288,"y":5978},"data":{"label":"Local and Edge Runtimes","description":"llama.cpp · Ollama · MLC-LLM · ExecuTorch"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":5978}},{"id":"sub-9-2-3","type":"subtopic","position":{"x":548,"y":5978},"data":{"label":"Model Formats","description":"Safetensors · ONNX · GGUF"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":5978}},{"id":"topic-9-3","type":"topic","position":{"x":28,"y":6091},"data":{"label":"Cloud and Infrastructure","number":"9.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6091}},{"id":"sub-9-3-1","type":"subtopic","position":{"x":28,"y":6159},"data":{"label":"Hugging Face Ecosystem","description":"Hub · Transformers · Datasets · Inference Endpoints"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6159}},{"id":"sub-9-3-2","type":"subtopic","position":{"x":288,"y":6159},"data":{"label":"Cloud ML Platforms","description":"SageMaker · Vertex AI · Azure ML"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":6159}},{"id":"sub-9-3-3","type":"subtopic","position":{"x":548,"y":6159},"data":{"label":"GPU Clouds","description":"Modal · RunPod · Together AI · Baseten"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":6159}},{"id":"sub-9-3-4","type":"subtopic","position":{"x":28,"y":6256},"data":{"label":"Containers and Orchestration","description":"Docker · Kubernetes · KServe · Ray Serve"},"width":248,"height":106,"style":{"width":248,"height":106},"measured":{"width":248,"height":106},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6256}},{"id":"topic-9-4","type":"topic","position":{"x":28,"y":6390},"data":{"label":"Distributed Training","number":"9.4"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6390}},{"id":"sub-9-4-1","type":"subtopic","position":{"x":28,"y":6458},"data":{"label":"Parallelism Strategies","description":"Data · Tensor · Pipeline · FSDP"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6458}},{"id":"sub-9-4-2","type":"subtopic","position":{"x":288,"y":6458},"data":{"label":"Training Frameworks","description":"DeepSpeed · Megatron-LM · Ray Train"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":6458}},{"id":"sub-9-4-3","type":"subtopic","position":{"x":548,"y":6458},"data":{"label":"GPU Profiling","description":"Nsight Systems · PyTorch Profiler"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":6458}},{"id":"topic-9-5","type":"topic","position":{"x":28,"y":6571},"data":{"label":"Monitoring and Observability","number":"9.5"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6571}},{"id":"sub-9-5-1","type":"subtopic","position":{"x":28,"y":6639},"data":{"label":"Quality Monitoring","description":"Data Drift · Concept Drift · Degradation"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6639}},{"id":"sub-9-5-2","type":"subtopic","position":{"x":288,"y":6639},"data":{"label":"Latency and Throughput","description":"TTFT · Tokens per Second"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":6639}},{"id":"sub-9-5-3","type":"subtopic","position":{"x":548,"y":6639},"data":{"label":"Tracing and Tracking","description":"LangSmith · Langfuse · Phoenix · W&B · MLflow"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":6639}},{"id":"topic-9-6","type":"topic","position":{"x":28,"y":6752},"data":{"label":"Security and Responsible AI","number":"9.6"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6752}},{"id":"sub-9-6-1","type":"subtopic","position":{"x":28,"y":6820},"data":{"label":"LLM Security Risks","description":"Prompt Injection · Jailbreaks · Data Leakage · Data Poisoning"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6820}},{"id":"sub-9-6-2","type":"subtopic","position":{"x":288,"y":6820},"data":{"label":"Guardrails","description":"NeMo Guardrails · Llama Guard"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":288,"y":6820}},{"id":"sub-9-6-3","type":"subtopic","position":{"x":548,"y":6820},"data":{"label":"Bias and Toxicity Mitigation"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":548,"y":6820}},{"id":"sub-9-6-4","type":"subtopic","position":{"x":28,"y":6917},"data":{"label":"Differential Privacy"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":28,"y":6917}},{"id":"stage-10","type":"section","position":{"x":864,"y":5511},"data":{"label":"Capstone Projects and Career","description":"Demonstrate end-to-end NLP skills through portfolio projects and prepare for NLP engineering interviews.","number":10},"width":824,"height":1480,"style":{"width":824,"height":1480},"measured":{"width":824,"height":1480},"zIndex":-999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":864,"y":5511}},{"id":"topic-10-1","type":"topic","position":{"x":892,"y":5632},"data":{"label":"Capstone Projects","number":"10.1"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5632}},{"id":"sub-10-1-1","type":"subtopic","position":{"x":892,"y":5700},"data":{"label":"Domain-Specific NER or Classifier","description":"Data Labeling · Fine-Tuning · Evaluation"},"width":248,"height":106,"style":{"width":248,"height":106},"measured":{"width":248,"height":106},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5700}},{"id":"sub-10-1-2","type":"subtopic","position":{"x":1152,"y":5700},"data":{"label":"Production RAG Assistant","description":"Hybrid Search · Reranking · Evaluation"},"width":248,"height":106,"style":{"width":248,"height":106},"measured":{"width":248,"height":106},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":5700}},{"id":"sub-10-1-3","type":"subtopic","position":{"x":1412,"y":5700},"data":{"label":"Fine-Tuned and Aligned Small LLM","description":"LoRA · DPO · Benchmarks"},"width":248,"height":106,"style":{"width":248,"height":106},"measured":{"width":248,"height":106},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":5700}},{"id":"sub-10-1-4","type":"subtopic","position":{"x":892,"y":5818},"data":{"label":"Low-Latency LLM API","description":"vLLM · Quantization · Monitoring"},"width":248,"height":85,"style":{"width":248,"height":85},"measured":{"width":248,"height":85},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5818}},{"id":"topic-10-2","type":"topic","position":{"x":892,"y":5931},"data":{"label":"Portfolio and Community","number":"10.2"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5931}},{"id":"sub-10-2-1","type":"subtopic","position":{"x":892,"y":5999},"data":{"label":"Documented GitHub Projects"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":5999}},{"id":"sub-10-2-2","type":"subtopic","position":{"x":1152,"y":5999},"data":{"label":"Model and Dataset Cards"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":5999}},{"id":"sub-10-2-3","type":"subtopic","position":{"x":1412,"y":5999},"data":{"label":"Paper Reproductions and Blog Posts"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":5999}},{"id":"sub-10-2-4","type":"subtopic","position":{"x":892,"y":6076},"data":{"label":"Open-Source Contributions"},"width":248,"height":46,"style":{"width":248,"height":46},"measured":{"width":248,"height":46},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":6076}},{"id":"topic-10-3","type":"topic","position":{"x":892,"y":6150},"data":{"label":"Interview Preparation","number":"10.3"},"width":768,"height":56,"style":{"width":768,"height":56},"measured":{"width":768,"height":56},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":6150}},{"id":"sub-10-3-1","type":"subtopic","position":{"x":892,"y":6218},"data":{"label":"NLP and LLM Fundamentals"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":6218}},{"id":"sub-10-3-2","type":"subtopic","position":{"x":1152,"y":6218},"data":{"label":"ML System Design for Language Apps"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1152,"y":6218}},{"id":"sub-10-3-3","type":"subtopic","position":{"x":1412,"y":6218},"data":{"label":"Coding and Algorithms"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":1412,"y":6218}},{"id":"sub-10-3-4","type":"subtopic","position":{"x":892,"y":6295},"data":{"label":"Research Paper Discussions"},"width":248,"height":65,"style":{"width":248,"height":65},"measured":{"width":248,"height":65},"zIndex":999,"selected":false,"selectable":true,"focusable":true,"dragging":false,"resizing":false,"positionAbsolute":{"x":892,"y":6295}}],"edges":[]}
01 Programming and Engineering Foundations Master the programming, data, and software engineering skills that production NLP work relies on.
02 Mathematics for NLP Build the math intuition behind embeddings, attention, training, and probabilistic language models.
03 Machine Learning Fundamentals Learn core ML algorithms, optimization, and evaluation methods before moving into neural NLP.
04 Text Processing and Classical NLP Clean, represent, and analyze text with rule-based and statistical NLP techniques.
05 Deep Learning for NLP Train neural networks for text, from word embeddings to recurrent models and attention.
06 Transformers and Large Language Models Understand how transformers work and how modern language model families differ.
07 Adapting LLMs: Fine-Tuning, RAG, and Agents Adapt LLMs to your tasks with fine-tuning, alignment, prompting, retrieval, and agentic workflows.
08 NLP Applications and Evaluation Apply NLP to real tasks and measure quality with the right metrics and benchmarks.
09 LLMOps and Deployment Serve, scale, monitor, and secure NLP models efficiently in production environments.
10 Capstone Projects and Career Demonstrate end-to-end NLP skills through portfolio projects and prepare for NLP engineering interviews.
NLP Engineer
For developers who want to build language AI, from classical text processing to transformers and LLMs. You will train, adapt, evaluate, and deploy production NLP systems.
10 STAGES · 49 TOPICS · 180 SUBTOPICS
1.1 Python
Advanced Python OOP · Generators · Decorators · Memory Management
Asynchronous Programming asyncio · Concurrency
Data Libraries NumPy · Pandas · Polars
1.2 SQL and Data Engineering
SQL for Data Extraction Joins · CTEs · Window Functions
Data Pipelines Apache Spark · Airflow · dbt
Data Formats JSONL · Parquet · Arrow
1.3 Software Engineering Practices
Version Control Git · GitHub · GitLab
Testing pytest · Mocking · Integration Tests
CI/CD Pipelines GitHub Actions · GitLab CI · Jenkins
API Development FastAPI · gRPC · WebSockets
1.4 Data Structures and Algorithms
Arrays, Hash Maps, and Tries
Trees and Graphs
Dynamic Programming Edit Distance · Viterbi
Complexity Analysis
1.5 Systems Languages (Optional)
C++ for Inference Engines and Kernels
Rust for Tokenizers and Tooling
2.1 Linear Algebra
Vectors, Matrices, and Tensors
Matrix Multiplication and Norms
Eigenvalues and SVD
2.2 Calculus
Derivatives and Partial Derivatives
Chain Rule and Gradients
Jacobians and Hessians
2.3 Probability and Statistics
Probability Distributions
Bayes' Theorem
Hypothesis Testing and Significance
Markov Chains
2.4 Information Theory
Entropy and Cross-Entropy
KL Divergence
Mutual Information
Perplexity
3.1 Supervised Learning
Linear and Logistic Regression
Support Vector Machines
Tree Ensembles Random Forest · XGBoost · LightGBM
3.2 Unsupervised Learning
Clustering K-Means · DBSCAN · HDBSCAN
Dimensionality Reduction PCA · t-SNE · UMAP
3.3 Optimization
Gradient Descent and SGD
Adaptive Optimizers Adam · AdamW · RMSprop
Learning Rate Schedules Warmup · Cosine Decay
3.4 Model Evaluation
Cross-Validation and Data Splits
Classification Metrics Precision · Recall · F1 · ROC-AUC
Bias-Variance and Overfitting
4.1 Text Preprocessing
Regular Expressions and String Handling
Text Normalization Lowercasing · Unicode · Spell Checking
Stemming and Lemmatization
Stop Word Removal
String Similarity Edit Distance · Jaccard · Cosine
4.2 Tokenization
Word and Sentence Tokenization
Subword Algorithms BPE · WordPiece · Unigram · Byte-Level BPE
Tokenizer Libraries SentencePiece · tiktoken · HF Tokenizers
4.3 Text Representation
Bag of Words and N-Grams
TF-IDF
BM25 Lexical Retrieval
4.4 Sequence Labeling and Parsing
Part-of-Speech Tagging
Named Entity Recognition (NER)
Probabilistic Models HMM · CRF · Viterbi
Chunking and Shallow Parsing
Dependency and Constituency Parsing
4.5 Text Classification and Topic Modeling
Text Classifiers Naive Bayes · Logistic Regression · SVM
Topic Modeling LDA · NMF · BERTopic
4.6 Classical NLP Libraries
NLTK
spaCy
Gensim
scikit-learn
Stanza
5.1 Neural Network Fundamentals
Feedforward Networks (MLP)
Backpropagation and Computational Graphs
Activation Functions ReLU · GELU · Sigmoid · Tanh · SiLU
Loss Functions Cross-Entropy · NLL · Contrastive · Focal · Triplet
Regularization Dropout · Weight Decay · LayerNorm · BatchNorm
5.2 Deep Learning Frameworks
PyTorch
JAX and Flax
TensorFlow and Keras
Triton GPU Programming
5.3 Word Embeddings
Word2Vec CBOW · Skip-Gram · Negative Sampling
GloVe
FastText Subword Embeddings
Contextual Embeddings (ELMo)
5.4 Sequence Models
1D CNNs for Text
Recurrent Neural Networks and BPTT
LSTM and GRU
Bidirectional RNNs (BiLSTM)
5.5 Seq2Seq and Attention
Encoder-Decoder Architecture
Attention Mechanisms Additive · Multiplicative
Pointer Networks and Copy Mechanisms
6.1 Transformer Core
Scaled Dot-Product Self-Attention
Multi-Head Attention MHA · MQA · GQA
Positional Encoding Absolute · Relative · RoPE · ALiBi
Normalization Post-LN · Pre-LN · RMSNorm
Gated Activations SwiGLU · GeGLU
Encoder and Decoder Blocks
6.2 Efficient Attention and Long Context
FlashAttention
KV Caching and PagedAttention
Long Context Ring Attention · Sliding Window · RoPE Scaling
6.3 Pre-training Essentials
Training Objectives Causal LM · Masked LM · Span Corruption
Scaling Laws
Data Curation Deduplication · Filtering · Data Mixtures
6.4 Pre-trained Model Families
Encoder-Only BERT · RoBERTa · DeBERTaV3 · ModernBERT
Decoder-Only GPT · Llama · Mistral · Qwen · Gemma
Encoder-Decoder T5 · BART · FLAN-T5
6.5 Emerging Architectures
Mixture of Experts Mixtral · DeepSeek-V3 · Qwen3 MoE
Small Language Models Phi-4 · Gemma 3 · Qwen3
State Space and Hybrid Models Mamba · Jamba · RWKV
Reasoning Models Test-Time Compute · Long Chain-of-Thought
7.1 Supervised Fine-Tuning
Task-Specific Fine-Tuning
Instruction Tuning (SFT)
Fine-Tuning Tooling Hugging Face TRL · Unsloth · Axolotl · LLaMA-Factory
7.2 Parameter-Efficient Fine-Tuning
LoRA and QLoRA
LoRA Variants DoRA · PiSSA
Adapters and Prompt Tuning Prefix Tuning · P-Tuning
7.3 Preference Alignment
RLHF with PPO
Direct Preference Methods DPO · KTO · ORPO
RL for Reasoning GRPO · Verifiable Rewards
Constitutional AI and RLAIF
7.4 Prompt Engineering
Prompting Basics Zero-Shot · Few-Shot
Reasoning Prompts Chain-of-Thought · Tree of Thoughts · ReAct
Programmatic Prompt Optimization DSPy · TextGrad
7.5 Retrieval-Augmented Generation
RAG Pipeline Chunking · Query Rewriting · Reranking
Embedding Models BGE · E5 · Nomic · Jina · OpenAI
Vector Databases FAISS · Qdrant · Milvus · pgvector · Pinecone
Advanced RAG Hybrid Search · GraphRAG · Self-RAG
RAG Frameworks LangChain · LlamaIndex · Haystack
7.6 Agentic Workflows
Tool Use and Function Calling
Model Context Protocol (MCP)
Agent Frameworks LangGraph · CrewAI · OpenAI Agents SDK · Microsoft Agent Framework
8.1 Core NLP Applications
Machine Translation
Summarization Extractive · Abstractive
Question Answering Extractive · Generative
Sentiment and Emotion Analysis Document-Level · Aspect-Based
Error Correction and Style Transfer
Code Generation and Math Reasoning
8.2 Information Extraction
Relation Extraction
Coreference Resolution
Knowledge Graph Construction
Structured Extraction with LLMs
8.3 Conversational AI
Dialogue Systems and Chatbots
Intent Recognition and Slot Filling
Dialogue State Tracking
Conversational Frameworks Rasa · Botpress · Voiceflow
8.4 Multimodal NLP
Vision-Language Models CLIP · LLaVA · Qwen-VL · Gemini · GPT-4o
Speech and Audio Models Whisper · SeamlessM4T · Text-to-Speech
Text-to-Image Generation Stable Diffusion · FLUX · Midjourney
Video Understanding and Generation Gemini · Veo · Sora
8.5 Evaluation and Benchmarking
Classic Metrics BLEU · ROUGE · METEOR · BERTScore
LLM Benchmarks MMLU-Pro · GPQA · HumanEval · GSM8K · LMArena
LLM-as-a-Judge and Reward Models
RAG Evaluation Ragas · ARES · TruLens
Evaluation Harnesses lm-evaluation-harness · HELM
9.1 Inference Optimization
Numeric Precision FP16 · BF16 · FP8 · MXFP4
Quantization INT8 · INT4 · AWQ · GPTQ · GGUF
Speculative Decoding Draft Models · Medusa · EAGLE
Batching and Scheduling Continuous Batching · Chunked Prefill · Multi-LoRA
9.2 Serving Engines and Formats
Inference Engines vLLM · SGLang · TensorRT-LLM
Local and Edge Runtimes llama.cpp · Ollama · MLC-LLM · ExecuTorch
Model Formats Safetensors · ONNX · GGUF
9.3 Cloud and Infrastructure
Hugging Face Ecosystem Hub · Transformers · Datasets · Inference Endpoints
Cloud ML Platforms SageMaker · Vertex AI · Azure ML
GPU Clouds Modal · RunPod · Together AI · Baseten
Containers and Orchestration Docker · Kubernetes · KServe · Ray Serve
9.4 Distributed Training
Parallelism Strategies Data · Tensor · Pipeline · FSDP
Training Frameworks DeepSpeed · Megatron-LM · Ray Train
GPU Profiling Nsight Systems · PyTorch Profiler
9.5 Monitoring and Observability
Quality Monitoring Data Drift · Concept Drift · Degradation
Latency and Throughput TTFT · Tokens per Second
Tracing and Tracking LangSmith · Langfuse · Phoenix · W&B · MLflow
9.6 Security and Responsible AI
LLM Security Risks Prompt Injection · Jailbreaks · Data Leakage · Data Poisoning
Guardrails NeMo Guardrails · Llama Guard
Bias and Toxicity Mitigation
Differential Privacy
10.1 Capstone Projects
Domain-Specific NER or Classifier Data Labeling · Fine-Tuning · Evaluation
Production RAG Assistant Hybrid Search · Reranking · Evaluation
Fine-Tuned and Aligned Small LLM LoRA · DPO · Benchmarks
Low-Latency LLM API vLLM · Quantization · Monitoring
10.2 Portfolio and Community
Documented GitHub Projects
Model and Dataset Cards
Paper Reproductions and Blog Posts
Open-Source Contributions
10.3 Interview Preparation
NLP and LLM Fundamentals
ML System Design for Language Apps
Coding and Algorithms
Research Paper Discussions