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_outlineMachine 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_outlineMachine 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_outlineMachine 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_outlineMachine 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_outlineMachine 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_outlineMachine 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_outlineMachine 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_outlineMachine 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_outlineMachine 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_outlineExplains the fundamental differences between tensor dimensions, size, and shape, clarifying frequent misconceptions—such as the distinction between the number of features (“columns”) and true data dimensions—while also demystifying reshaping operations like expand_dims, squeeze, and transpose in NumPy. Through practical examples from images and natural language processing, listeners learn how to manipulate tensors to match model requirements, including scenarios like adding dummy dimensions for grayscale images or reordering axes for sequence data.
Links
- Notes and resources at ocdevel.com/mlg/mla-5
- Try a walking desk stay healthy & sharp while you learn & code
Definitions
-
Tensor: A general term for an array of any number of dimensions.
- 0D Tensor (Scalar): A single number (e.g., 5).
- 1D Tensor (Vector): A simple list of numbers.
- 2D Tensor (Matrix): A grid of numbers (rows and columns).
- 3D+ Tensors: Higher-dimensional arrays, such as images or batches of images.
-
NDArray (NumPy): Stands for "N-dimensional array," the foundational array type in NumPy, synonymous with "tensor."
Tensor Properties
Dimensions
- Number of nested levels in the array (e.g., a matrix has two dimensions: rows and columns).
- Access in NumPy: Via
.ndim
property (e.g.,array.ndim
).
Size
- Total number of elements in the tensor.
- Examples:
- Scalar: size = 1
- Vector: size equals number of elements (e.g., 5 for
[1, 2, 3, 4, 5]
) - Matrix: size = rows × columns (e.g., 10×10 = 100)
- Access in NumPy: Via
.size
property.
Shape
- Tuple listing the number of elements per dimension.
- Example: An image with 256×256 pixels and 3 color channels has
shape = (256, 256, 3)
.
Common Scenarios & Examples
Data Structures in Practice
- CSV/Spreadsheet Example: Dataset with 1 million housing examples and 50 features:
- Shape:
(1_000_000, 50)
- Size: 50,000,000
- Shape:
- Image Example (RGB): 256×256 pixel image:
- Shape:
(256, 256, 3)
- Dimensions: 3 (width, height, channels)
- Shape:
- Batching for Models:
- For a convolutional neural network, shape might become
(batch_size, width, height, channels)
, e.g.,(32, 256, 256, 3)
.
- For a convolutional neural network, shape might become
Conceptual Clarifications
- The term "dimensions" in data science often refers to features (columns), but technically in tensors it means the number of structural axes.
- The "curse of dimensionality" often uses "dimensions" to refer to features, not tensor axes.
Reshaping and Manipulation in NumPy
Reshaping Tensors
-
Adding Dimensions:
- Useful when a model expects higher-dimensional input than currently available (e.g., converting grayscale image from shape
(256, 256)
to(256, 256, 1)
). - Use
np.expand_dims
orarray.reshape
.
- Useful when a model expects higher-dimensional input than currently available (e.g., converting grayscale image from shape
-
Removing Singleton Dimensions:
- Occurs when, for example, model output is
(N, 1)
and single dimension should be removed to yield(N,)
. - Use
np.squeeze
orarray.reshape
.
- Occurs when, for example, model output is
-
Wildcard with -1:
- In reshaping,
-1
is a placeholder for NumPy to infer the correct size, useful when batch size or another dimension is variable.
- In reshaping,
-
Flattening:
- Use
np.ravel
to turn a multi-dimensional tensor into a contiguous 1D array.
- Use
Axis Reordering
- Transposing Axes:
- Needed when model input or output expects axes in a different order (e.g., sequence length and embedding dimensions in NLP).
- Use
np.transpose
for general axis permutations. - Use
np.swapaxes
to swap two specific axes but prefertranspose
for clarity and flexibility.
Practical Example
- In NLP sequence models:
- 3D tensor with
(batch_size, sequence_length, embedding_dim)
might need to be reordered to(batch_size, embedding_dim, sequence_length)
for certain models. - Achieved using:
array.transpose(0, 2, 1)
- 3D tensor with
Core NumPy Functions for Manipulation
- reshape: General function for changing the shape of a tensor, including adding or removing dimensions.
- expand_dims: Adds a new axis with size 1.
- squeeze: Removes axes with size 1.
- ravel: Flattens to 1D.
- transpose: Changes the order of axes.
- swapaxes: Swaps specified axes (less general than transpose).
Summary Table of Operations
Operation | NumPy Function | Purpose |
---|---|---|
Add dimension | np.expand_dims | Convert (256,256) to (256,256,1) |
Remove dimension | np.squeeze | Convert (N,1) to (N,) |
General reshape | np.reshape | Any change matching total size |
Flatten | np.ravel | Convert (a,b) to (a*b,) |
Swap axes | np.swapaxes | Exchange positions of two axes |
Permute axes | np.transpose | Reorder any sequence of axes |
Closing Notes
- A deep understanding of tensor structure - dimensions, size, and shape - is vital for preparing data for machine learning models.
- Reshaping, expanding, squeezing, and transposing tensors are everyday tasks in model development, especially for adapting standard datasets and models to each other.