06 - AI, Machine Learning & LLM
Foundations of AI & Machine Learning
- AI Paradigms
- Symbolic AI - The collection of all methods in artificial intelligence research that are based on high-level symbolic (human-readable) representations of problems, logic and search
- Neuro-symbolic AI - A subfield of artificial intelligence that integrates neural methods with symbolic methods to combine the strengths of both approaches, resulting in AI systems that can be trained from raw data while preserving explainability and explicit reasoning
- AlphaGeometry - A neuro-symbolic system made up of a neural language model and a symbolic deduction engine, which work together to find proofs for complex geometry theorems
- Generative AI - A subset of artificial intelligence that uses generative models to produce text, images, videos, or other forms of data
- Causal AI - A technique in artificial intelligence that builds a causal model and can thereby make inferences using causality rather than just correlation
- Core Concepts
- Embedding - A representation learning technique that maps complex, high-dimensional data into a lower-dimensional vector space of numerical vectors
- Transfer learning - A machine learning technique where knowledge gained from one task is reapplied to improve performance on a different but related task
- Mathematical model - An abstract description of a concrete system using mathematical concepts and language
- Mathematical optimization - The selection of a best element, with regard to some criteria, from some set of available alternatives
Machine Learning
Learning Paradigms
- Supervised learning - A paradigm in machine learning where algorithms learn from labeled data
- Classification - The problem of identifying which of a set of categories (sub-populations) a new observation belongs to, on the basis of a training set of data containing observations
- Logistic regression - A statistical model that models the probability of an event taking place by having the log-odds for the event be a linear combination of one or more independent variables
- Support vector machine - A set of supervised learning models with associated learning algorithms that analyze data for classification and regression analysis
- Naive Bayes classifier - A family of simple probabilistic classifiers based on applying Bayes' theorem with strong (naive) independence assumptions between the features
- Decision tree learning - A method using a decision tree as a predictive model to go from observations about an item to conclusions about its target value
- Ensemble learning - A method using multiple learning algorithms to obtain better predictive performance than could be obtained from any of the constituent learning algorithms alone
- Random forest - An ensemble learning method for classification, regression and other tasks that operates by constructing a multitude of decision trees at training time
- ROC curve - A graphical plot that illustrates the diagnostic ability of a binary classifier system as its discrimination threshold is varied
- Regression - A set of statistical processes for estimating the relationships between a dependent variable and one or more independent variables
- Ordinary least squares - A type of linear least squares method for choosing the unknown parameters in a linear regression model
- Generalized linear model - A flexible generalization of ordinary least squares regression
- ARIMA model - A generalization of an autoregressive moving average (ARMA) model, fitted to time series data either to better understand the data or to predict future points in the series
- Classification - The problem of identifying which of a set of categories (sub-populations) a new observation belongs to, on the basis of a training set of data containing observations
- Unsupervised learning - A type of machine learning in which models are trained using unlabeled dataset and are allowed to act on that data without previous training
- K-means clustering - A method of vector quantization that aims to partition n observations into k clusters in which each observation belongs to the cluster with the nearest mean
- Reinforcement learning - An area of machine learning concerned with how intelligent agents ought to take actions in an environment in order to maximize the notion of cumulative reward
- Markov chain - A stochastic process that describes a sequence of events where the probability of each event depends only on the state attained in the previous event
- Markov decision process - A mathematical framework for modeling decision making in situations where outcomes are partly random and partly under the control of a decision maker
- Hidden Markov model - A statistical Markov model where the system being modeled is assumed to be a Markov process with unobserved (hidden) states
- Multi-armed bandit - A problem in which a fixed limited set of resources must be allocated between competing (alternative) choices in a way that maximizes their expected gain
- Value function - A function used in mathematical optimization and reinforcement learning that assigns a measure of desirability to states or actions
Concepts & Techniques
- Hyperparameter - A parameter whose value is used to control the learning process
- Hyperparameter optimization - The problem of choosing a set of optimal hyperparameters for a learning algorithm
- Early stopping - A form of regularization used to avoid overfitting when training a learner with an iterative method, such as gradient descent
- Cross-validation - Any of various similar model validation techniques for assessing how the results of a statistical analysis will generalize to an independent data set
- Anomaly detection - The identification of rare items, events or observations which raise suspicions by differing significantly from the majority of the data
- One-class classification - The technique trying to identify objects of a specific class amongst all objects, by primarily learning from a training set containing only the objects of that class
- Recommender system - An information filtering system that seeks to predict the 'rating' or 'preference' a user would give to an item
Ecosystem & Tools
- scikit-learn - A free software machine learning library for the Python programming language
- libsvm - A Library for Support Vector Machines
- ML.NET - An open-source, cross-platform machine learning framework for .NET developers
- Crab - A Python library for building recommender systems
- mlxtend - A Python library of useful tools for the day-to-day data science tasks
- Prophet - A forecasting procedure for time series data that is fast and provides completely automated forecasts
- Azure Machine Learning - An enterprise-grade machine learning service to build and deploy models faster
- Amazon SageMaker - The service to build, train, and deploy machine learning (ML) models for any use case with fully managed infrastructure, tools, and workflows
Neural Networks and Deep Learning
- Neural Network Fundamentals
- Neural network - The computational models used in machine learning for finding patterns in data
- Tensor - The mathematical objects represented as multidimensional arrays used in machine learning
- Activation Functions
- Sigmoid function - A mathematical function having a characteristic 'S'-shaped curve or sigmoid curve
- Softmax function - A function that converts a vector of K real numbers into a probability distribution of K possible outcomes
- Backpropagation - A widely used algorithm for training feedforward neural networks
- Autoencoder - A type of artificial neural network used to learn efficient codings of unlabeled data (unsupervised learning)
- Vanishing gradient problem - The difficulty encountered when training artificial neural networks with gradient-based learning methods and backpropagation, where gradients shrink as they back-propagate
- Deep Learning Concepts & Training
- Deep Learning - A part of a broader family of machine learning methods based on artificial neural networks with representation learning
- Stochastic gradient descent - An iterative method for optimizing an objective function with suitable smoothness properties
- Fine tuning - An approach to transfer learning in which the weights of a pre-trained model are trained on new data
- LoRA (machine learning) - A parameter-efficient fine-tuning technique for adapting pre-trained models to specific tasks with significantly fewer computational resources
Architectures
- Recurrent neural network - A class of artificial neural networks where connections between nodes can create cycles, allowing output from some nodes to affect subsequent input to the same nodes
- LSTM - An artificial neural network used in the fields of artificial intelligence and deep learning, distinguished by feedback connections
- Convolutional neural network (CNN) - A class of artificial neural network, most commonly applied to analyze visual imagery
- Attention - A technique in the context of neural networks that mimics cognitive attention, enhancing the important parts of the input data and fading out the rest
- FlashAttention - A fast and memory-efficient exact attention mechanism
- Transformer - A deep learning architecture based on the multi-head attention mechanism
Frameworks & Tools
- TensorFlow - An end-to-end open source platform for machine learning
- PyTorch - An open source machine learning framework that accelerates the path from research prototyping to production deployment
- AttentionViz - A Global View of Transformer Attention
- BertViz - A tool for visualizing Attention in NLP Models
Textbooks
- Neural Networks and Deep Learning - A free online book explaining the core ideas behind neural networks and deep learning
- Deep Learning, MIT Press - The textbook intended to help students and practitioners enter the field of machine learning in general and deep learning in particular
Natural Language Processing (NLP)
- Linguistics Foundations
- Morphology - The study of words, how they are formed, and their relationship to other words in the same language
- Syntax - A linguistic field that is the study of how words and morphemes combine to form larger units like phrases and sentences
- Semantics - The study of linguistic meaning, examining how words acquire meaning and how complex expressions derive meaning from their constituent parts
- Symbol grounding problem - The challenge of connecting abstract symbols to the real-world objects or concepts they represent
Concepts & Vector Representations
- Levenshtein distance - A string metric for measuring the difference between two sequences by counting the minimum number of single-character edits required to change one into the other
- n-gram - A sequence of n adjacent symbols in a particular order, used in fields like natural language processing and computational biology
- tf-idf (term frequency-inverse document frequency) - A statistical measure used in information retrieval to evaluate the importance of a word in a document relative to a collection or corpus, accounting for its general frequency
- Word embedding - A representation of a word in natural language processing, typically a real-valued vector that encodes its meaning such that words closer in vector space are expected to be similar in meaning
- Sentence embedding - A numerical vector representation of a sentence that encodes its meaningful semantic information
Libraries & Tools
- Natural Language Toolkit - A leading platform for building Python programs to work with human language data
- Gensim - A free open-source Python library for representing documents as semantic vectors
- Kuromoji - An open source Japanese morphological analyzer written in Java
- Kagome - An open source Japanese morphological analyzer written in pure golang
- mecab-python3 - A Python wrapper for the MeCab morphological analyzer for Japanese text
- jieba - A Python module for Chinese text segmentation
Computer Vision
Software & Tools
-
OpenCV - An open source computer vision and machine learning software library
- GoCV - A package for the Go programming language with bindings for OpenCV 4
-
Tesseract OCR - An open source text recognition (OCR) Engine
- gosseract OCR - A Go package for OCR (Optical Character Recognition), by using Tesseract C++ library
-
EasyOCR - A ready-to-use OCR with 80+ supported languages and all popular writing scripts
-
OCRmyPDF - A tool to add a searchable OCR text layer to PDF files
-
Open Models
- LLaVA - A novel end-to-end trained large multimodal model that combines a vision encoder and Vicuna for general-purpose visual and language understanding, achieving impressive chat capabilities mimicking spirits of the multimodal GPT-4 and setting a new state-of-the-art accuracy on Science QA
Speech Recognition
- Open Models
- Whisper - A robust speech recognition model trained via large-scale weak supervision
Generative AI & Large Language Models (LLMs)
- Core Concepts
- Vision Language Models (VLM) - An exciting class of models that can understand images and text
- Diffusion model - A class of latent variable generative models in machine learning that learn to generate new data by reversing a gradual noising process
- Multimodal learning - A deep learning approach that combines and processes diverse data types such as text, audio, images, or video for a more holistic understanding of complex information
Model Providers & Aggregators
-
Anthropic - The API providing access to Anthropic's Claude models
-
OpenAI - The platform for building applications with OpenAI's models
-
DeepSeek - An AI model research and development company that focuses on building advanced large language models and artificial intelligence infrastructure
-
Gemini Developer APIs - The API that gives you access to the latest Gemini models from Google
-
Hugging Face Serverless Inference API - The API allowing inference on models hosted on the Hugging Face Hub
-
OpenRouter - A unified interface for LLMs
-
Open Models
- Llama - The open-source AI models you can fine-tune, distill and deploy anywhere
- Gemma - A family of lightweight, state-of-the-art open models built from the same research and technology used to create the Gemini models
- Mistral - A family of open-source and commercial generative AI models
- OLMo - A state-of-the-art, truly open language model and framework to build and study the science of language models
Techniques & Methods
- Retrieval-augmented generation (RAG) - A technique that enables large language models to retrieve and incorporate new information from external data sources
- dsRAG - A high-performance retrieval engine for unstructured data
- AWQ (Activation-aware Weight Quantization) - An efficient and accurate low-bit weight quantization (INT3/4) for LLM compression and acceleration
- GraphRAG - A data pipeline and transformation suite that is designed to extract meaningful, structured data from unstructured text using the power of LLMs
- Prompt Engineering Guide - A comprehensive resource for learning and applying prompt engineering techniques to effectively utilize large language models and build AI agents
- CRAFT framework - A structured method for crafting clear and precise AI prompts by defining context, role, action, format, and tone
- ReAct Prompting - A prompting technique synergizing reasoning and acting in language models
- Reason, Act, Thought, Observation
- Recursive Language Models - An inference strategy where language models (LMs) can decompose and recursively interact with input context of unbounded length
Ecosystem & Frameworks
- Libraries & SDKs
- OmniAI - A minimalist library for interfacing with LLMs
- RubyLLM - The one beautiful Ruby API for GPT, Claude, Gemini, and more
- Go OpenAI - The Go client libraries for OpenAI API
- Ruby OpenAI - A Ruby wrapper for the OpenAI API
- Google Gen AI SDK - The Python SDK for Google's generative AI models
- Platforms
- OpenWebUI - An extensible, feature-rich, and user-friendly self-hosted AI platform designed to operate entirely offline
- Application Frameworks
- Genkit - The AI framework for building full-stack applications with integrated support for agents, RAG, and tool use
- LangChain - A framework for developing applications powered by language models
- LlamaIndex - A developer-first agent framework for building GenAI applications with modular building blocks for agents, RAG, and custom workflows
- DSPy - A declarative framework for building modular AI software that allows for fast iteration on structured code and offers algorithms to compile AI programs into effective prompts and weights for language models
- Chainlit - An open-source Python package to build production ready Conversational AI
- Development Tools & Utilities
- LiteLLM - A Python SDK and AI Gateway (Proxy) that allows users to call over 100 Large Language Models (LLMs) using a unified OpenAI input/output format
- RedCandle - A Ruby gem for running state-of-the-art language models locally (via Rust's Candle)
- Unsloth AI - A platform providing tools and services for easily fine-tuning and training Large Language Models (LLMs) to achieve faster and more efficient AI training
- LLM - A CLI utility and Python library for interacting with Large Language Models
- lootbox - A CLI which is inspired by "Code Mode" - LLMs write TypeScript code to call APIs rather than using tool invocation
- Gradio - The fastest way to demo your machine learning model with a friendly web interface so that anyone can use it, anywhere
- Benchmarking & Analysis
- ARC-AGI - A benchmark for general intelligence, focusing on the ability to learn new concepts from a few examples
- ARC-AGI-2 - A general artificial intelligence benchmark, program synthesis benchmark, or psychometric intelligence test targeted at both humans and artificially intelligent systems that aim at emulating a human-like form of general fluid intelligence
- Artificial Analysis - An independent analysis of AI models and API providers, helping users understand the AI landscape
- Arena - A platform designed for benchmarking and comparing various AI models, including both large language models (LLMs) and vision-language models (VLMs)
Agentic AI
Standards & Protocols
- AGENTS.md - An open standard for defining and running AI agents
- Agent Skills - A simple, open format for giving agents new capabilities and expertise
- Model Context Protocol (MCP) - An open-source standard for connecting AI applications to external systems, enabling them to access data sources, tools, and workflows
- A2A Protocol - A protocol for enabling bidirectional communication between web applications and AI agents
- Agent Name Service (ANS) - A secure, DNS-inspired framework for AI agent discovery that leverages Public Key Infrastructure (PKI) for identity verification, structured JSON schemas for communication, and a protocol adapter layer supporting A2A, MCP, and ACP protocols
Libraries & Frameworks
- Agent Orchestration Frameworks
- LangGraph - A library for building stateful, multi-actor applications with LLMs by creating cyclic graphs for agent runtimes
- Agno - A multi-agent framework, runtime and control plane
- Agent Zero - An open-source personal AI agent that uses a dynamic toolset to solve complex tasks by writing and executing code, managing its own computer environment, and learning from its actions
- crewAI - An open-source, multi-agent orchestration framework that empowers developers to orchestrate high-performing AI agents with ease and scale
- Microsoft 365 Agents SDK - A comprehensive framework for building full-stack, multi-channel agents that operate seamlessly across Microsoft 365 Copilot, Teams, third-party platforms, custom applications, and websites
- Mastra - An all-in-one, open-source TypeScript framework for building, iterating, and deploying AI agents with built-in support for workflows, RAG, memory, and observability
- Semantic Kernel - A lightweight, open-source development kit that lets you easily build AI agents and integrate the latest AI models
- Building Agents & Providers
- Agent Development Kit (ADK) - A flexible and modular framework for developing and deploying AI agents
- Fantasy - A Go library for building AI agents with multiple providers and models through a single API
- Claude Agent SDK - A library for building AI agents with Claude
- OpenAI Agents SDK - A library for building agentic applications where models can use additional context and tools, hand off to specialized agents, and stream results
- Claude Agent Skills - The modular capabilities that extend an agent's functionality by packaging instructions, metadata, and optional resources
- Microsoft 365 Agents Toolkit - A suite of tools for building enterprise-ready agents and apps that work across Microsoft 365 Copilot, Teams, Office, web, and other third-party messaging channels
- Local & Desktop Agents
- goose - A local AI agent that automates engineering tasks seamlessly
- Interoperability
- FastMCP - A Pythonic framework for building Model Context Protocol (MCP) servers and clients
Supporting Services & Platforms
- Pre-built Agents & Collections
- agency-agents - A growing collection of meticulously crafted AI agent personalities designed to act as specialized experts with unique voices, proven workflows, and measurable deliverables
- Memory Systems
- Mem0 - An AI memory layer for LLM applications that aims to provide personalized AI experiences
- Search & Data Extraction
- Firecrawl - An API service that takes a URL, crawls it, and converts it into clean markdown or structured data
- Tavily Search - A search engine optimized for LLMs, aimed at efficient, quick and persistent search results
- SWIRL AI Search - A Federated AI Search solution that connects to over 100 enterprise platforms, providing real-time visibility across data and document silos without requiring costly data transformations or migrations
- Security Tools
- skill-scanner - A best-effort security scanner for AI Agent Skills that detects prompt injection, data exfiltration, and malicious code patterns
MLOps & Productionalization
- ML Lifecycle & Versioning
- DVC - Open-source Data Version Control for machine learning projects
- CML - An open-source tool for implementing continuous integration & delivery (CI/CD) in machine learning projects
- MLFlow - An open source platform to manage the ML lifecycle, including experimentation, reproducibility, deployment, and a central model registry
- KubeFlow - The Machine Learning Toolkit for Kubernetes, dedicated to making deployments of ML workflows on Kubernetes simple, portable and scalable
- Model Deployment & Serving
- LM Studio - A desktop app for developing and experimenting with LLMs locally on your computer
- LocalAI - The free, Open Source OpenAI alternative
- Ollama - A tool designed for deploying and managing large language models (LLMs) locally
- vLLM - A high-throughput and memory-efficient inference and serving engine for Large Language Models (LLMs)
- Standards & Model Formats
- GGUF - A file format for storing models for inference with GGML and executors based on GGML
- ONNX - An open format built to represent machine learning models
- Safetensors - A simple format for storing tensors safely
- AI Cloud Services
- Microsoft Foundry - A unified, interoperable platform for building, optimizing, and governing AI apps and agents that understand business context and deliver business impact
- Vertex AI - A machine learning (ML) platform for training and deploying ML models and AI applications
- Amazon Bedrock - A fully managed service offering a choice of high-performing foundation models
- Nebius - A specialized AI cloud platform offering purpose-built infrastructure for AI and machine learning workloads
- LLM Observability
- Langfuse - An open source LLM engineering platform providing traces, evals, prompt management, and metrics to debug and improve LLM applications
- OpenLIT - An open-source, OpenTelemetry-native tool for LLM and GenAI observability
- LangSmith - A unified DevOps platform for developing, collaborating, testing, deploying, and monitoring LLM applications
- Helicone - An open-source LLM observability platform built for developers to monitor and optimize their generative AI applications
- Arize Phoenix - An open-source AI observability and evaluation platform for LLMs
- Braintrust - The enterprise AI platform that provides an evaluation and observability platform for developers building with LLMs
- Datadog LLM Observability - A comprehensive monitoring solution that provides end-to-end visibility into large language model applications