loader from loading.io

MLA 011 Practical Clustering Tools

Machine Learning Guide

Release Date: 11/08/2020

MLG 035 Large Language Models 2 show art MLG 035 Large Language Models 2

Machine Learning Guide

At inference, large language models use in-context learning with zero-, one-, or few-shot examples to perform new tasks without weight updates, and can be grounded with Retrieval Augmented Generation (RAG) by embedding documents into vector databases for real-time factual lookup using cosine similarity. LLM agents autonomously plan, act, and use external tools via orchestrated loops with persistent memory, while recent benchmarks like GPQA (STEM reasoning), SWE Bench (agentic coding), and MMMU (multimodal college-level tasks) test performance alongside prompt engineering techniques such as...

info_outline
MLG 034 Large Language Models 1 show art MLG 034 Large Language Models 1

Machine Learning Guide

Explains language models (LLMs) advancements. Scaling laws - the relationships among model size, data size, and compute - and how emergent abilities such as in-context learning, multi-step reasoning, and instruction following arise once certain scaling thresholds are crossed. The evolution of the transformer architecture with Mixture of Experts (MoE), describes the three-phase training process culminating in Reinforcement Learning from Human Feedback (RLHF) for model alignment, and explores advanced reasoning techniques such as chain-of-thought prompting which significantly improve complex...

info_outline
MLA 024 Code AI MCP Servers, ML Engineering show art MLA 024 Code AI MCP Servers, ML Engineering

Machine Learning Guide

Tool use in code AI agents allows for both in-editor code completion and agent-driven file and command actions, while the Model Context Protocol (MCP) standardizes how these agents communicate with external and internal tools. MCP integration broadens the automation capabilities for developers and machine learning engineers by enabling access to a wide variety of local and cloud-based tools directly within their coding environments. Links Notes and resources at  stay healthy & sharp while you learn & code Tool Use in Code AI Agents Code AI agents offer two primary modes of...

info_outline
MLA 023 Code AI Models & Modes show art MLA 023 Code AI Models & Modes

Machine Learning Guide

Gemini 2.5 Pro currently leads in both accuracy and cost-effectiveness among code-focused large language models, with Claude 3.7 and a DeepSeek R1/Claude 3.5 combination also performing well in specific modes. Using local open source models via tools like Ollama offers enhanced privacy but trades off model performance, and advanced workflows like custom modes and fine-tuning can further optimize development processes. Links Notes and resources at  stay healthy & sharp while you learn & code Model Current Leaders According to the  (as of April 12, 2025), leading...

info_outline
MLA 022 Code AI: Cursor, Cline, Roo, Aider, Copilot, Windsurf show art MLA 022 Code AI: Cursor, Cline, Roo, Aider, Copilot, Windsurf

Machine Learning Guide

Vibe coding is using large language models within IDEs or plugins to generate, edit, and review code, and has recently become a prominent and evolving technique in software and machine learning engineering. The episode outlines a comparison of current code AI tools - such as Cursor, Copilot, Windsurf, Cline, Roo Code, and Aider - explaining their architectures, capabilities, agentic features, pricing, and practical recommendations for integrating them into development workflows. Links Notes and resources at   stay healthy & sharp while you learn & code Definition and...

info_outline
MLG 033 Transformers show art MLG 033 Transformers

Machine Learning Guide

Links: Notes and resources at 3Blue1Brown videos:   stay healthy & sharp while you learn & code  audio/video editing with AI power-tools Background & Motivation RNN Limitations: Sequential processing prevents full parallelization—even with attention tweaks—making them inefficient on modern hardware. Breakthrough: “Attention Is All You Need” replaced recurrence with self-attention, unlocking massive parallelism and scalability. Core Architecture Layer Stack: Consists of alternating self-attention and feed-forward (MLP) layers, each wrapped...

info_outline
MLA 021 Databricks: Cloud Analytics and MLOps show art MLA 021 Databricks: Cloud Analytics and MLOps

Machine Learning Guide

Databricks is a cloud-based platform for data analytics and machine learning operations, integrating features such as a hosted Spark cluster, Python notebook execution, Delta Lake for data management, and seamless IDE connectivity. Raybeam utilizes Databricks and other ML Ops tools according to client infrastructure, scaling needs, and project goals, favoring Databricks for its balanced feature set, ease of use, and support for both startups and enterprises. Links Notes and resources at   stay healthy & sharp while you learn & code Raybeam and Databricks Raybeam is a...

info_outline
MLA 020 Kubeflow and ML Pipeline Orchestration on Kubernetes show art MLA 020 Kubeflow and ML Pipeline Orchestration on Kubernetes

Machine Learning Guide

Machine learning pipeline orchestration tools, such as SageMaker and Kubeflow, streamline the end-to-end process of data ingestion, model training, deployment, and monitoring, with Kubeflow providing an open-source, cross-cloud platform built atop Kubernetes. Organizations typically choose between cloud-native managed services and open-source solutions based on required flexibility, scalability, integration with existing cloud environments, and vendor lock-in considerations. Links Notes and resources at   stay healthy & sharp while you learn & code  - Data Scientist...

info_outline
MLA 019 Cloud, DevOps & Architecture show art MLA 019 Cloud, DevOps & Architecture

Machine Learning Guide

The deployment of machine learning models for real-world use involves a sequence of cloud services and architectural choices, where machine learning expertise must be complemented by DevOps and architecture skills, often requiring collaboration with professionals. Key concepts discussed include infrastructure as code, cloud container orchestration, and the distinction between DevOps and architecture, as well as practical advice for machine learning engineers wanting to deploy products securely and efficiently. Links Notes and resources at   stay healthy & sharp while you learn...

info_outline
MLA 017 AWS Local Development Environment show art MLA 017 AWS Local Development Environment

Machine Learning Guide

AWS development environments for local and cloud deployment can differ significantly, leading to extra complexity and setup during cloud migration. By developing directly within AWS environments, using tools such as Lambda, Cloud9, SageMaker Studio, client VPN connections, or LocalStack, developers can streamline transitions to production and leverage AWS-managed services from the start. This episode outlines three primary strategies for treating AWS as your development environment, details the benefits and tradeoffs of each, and explains the role of infrastructure-as-code tools such as...

info_outline
 
More Episodes

Primary clustering tools for practical applications include K-means using scikit-learn or Faiss, agglomerative clustering leveraging cosine similarity with scikit-learn, and density-based methods like DBSCAN or HDBSCAN. For determining the optimal number of clusters, silhouette score is generally preferred over inertia-based visual heuristics, and it natively supports pre-computed distance matrices.

Links

K-means Clustering

  • K-means is the most widely used clustering algorithm and is typically the first method to try for general clustering tasks.
  • The scikit-learn KMeans implementation is suitable for small to medium-sized datasets, while Faiss's kmeans is more efficient and accurate for very large datasets.
  • K-means requires the number of clusters to be specified in advance and relies on the Euclidean distance metric, which performs poorly in high-dimensional spaces.
  • When document embeddings have high dimensionality (e.g., 768 dimensions from sentence transformers), K-means becomes less effective due to the limitations of Euclidean distance in such spaces.

Alternatives to K-means for High Dimensions

  • For text embeddings with high dimensionality, agglomerative (hierarchical) clustering methods are preferable, particularly because they allow the use of different similarity metrics.
  • Agglomerative clustering in scikit-learn accepts a pre-computed cosine similarity matrix, which is more appropriate for natural language processing.
  • Constructing the pre-computed distance (or similarity) matrix involves normalizing vectors and computing dot products, which can be efficiently achieved with linear algebra libraries like PyTorch.
  • Hierarchical algorithms do not use inertia in the same way as K-means and instead rely on external metrics, such as silhouette score.
  • Other clustering algorithms exist, including spectral, mean shift, and affinity propagation, which are not covered in this episode.

Semantic Search and Vector Indexing

  • Libraries such as Faiss, Annoy, and HNSWlib provide approximate nearest neighbor search for efficient semantic search on large-scale vector data.
  • These systems create an index of your embeddings to enable rapid similarity search, often with the ability to specify cosine similarity as the metric.
  • Sample code using these libraries with sentence transformers can be found in the UKP Lab sentence-transformers examples directory.

Determining the Optimal Number of Clusters

  • Both K-means and agglomerative clustering require a predefined number of clusters, but this is often unknown beforehand.
  • The "elbow" method involves running the clustering algorithm with varying cluster counts and plotting the inertia (sum of squared distances within clusters) to visually identify the point of diminishing returns; see kmeans.inertia_.
  • The kneed package can automatically detect the "elbow" or "knee" in the inertia plot, eliminating subjective human judgment; sample code available here.
  • The silhouette score, calculated via silhouette_score, considers both inter- and intra-cluster distances and allows for direct selection of the number of clusters with the maximum score.
  • The silhouette score can be computed using a pre-computed distance matrix (such as from cosine similarities), making it well-suited for applications involving non-Euclidean metrics and hierarchical clustering.

Density-Based Clustering: DBSCAN and HDBSCAN

  • DBSCAN is a hierarchical clustering method that does not require specifying the number of clusters, instead discovering clusters based on data density.
  • HDBSCAN is a more popular and versatile implementation of density-based clustering, capable of handling various types of data without significant parameter tuning.
  • DBSCAN and HDBSCAN can be preferable to K-means or agglomerative clustering when automatic determination of cluster count or robustness to noise is important.
  • However, these algorithms may not perform well with all types of high-dimensional embedding data, as illustrated by the challenges faced when clustering 768-dimensional text embeddings.

Summary Recommendations and Links