Skip to main content

Downsampling

When a run logs thousands or millions of data points, transferring and rendering every point would be impractical. Pluto downsamples the data server-side before sending it to the browser, which keeps page loads fast, reduces bandwidth, and allows charts to render smoothly even for very long training runs. Instead of shipping raw data, Pluto divides the x-axis into evenly spaced buckets and aggregates the points within each bucket. For each bucket, Pluto computes:
  • Mean — displayed as the plotted point
  • Min / Max — displayed as a shaded band around the mean
If a bucket contains only one point, it is plotted directly with no band. If a bucket contains no points, it is left empty — Pluto does not interpolate across gaps. Downsampling aggregation The number of buckets is controlled by the Max Points setting in the line chart settings drawer (default: 1500). Lowering this value produces a coarser summary; raising it preserves more detail at the cost of rendering performance.

Min/Max Band and Outliers

In pluto, the shaded band around the mean line represents the min and max values within each bucket. This is particularly useful for spotting outliers — a spike that appears as a faint vertical band at full zoom can be revealed as an actual extreme data point when you zoom in.

Screen-Aware Bucket Counts

Bucket counts are tied to the visible x-axis range. As you zoom into a region, fewer raw points fall within the view, so each bucket contains fewer points and the chart reveals more of the underlying raw data. At full zoom, you see individual data points with all their noise. Zooming back out re-aggregates the data into smoother buckets.
Downsampling is applied before smoothing. The smoothing algorithms operate on the already-downsampled points, not the raw data.

Smoothing

Smoothing applies a mathematical filter to reveal trends in noisy metrics. When enabled, the smoothed line is displayed prominently while the original raw data is shown faintly behind it as reference.
Screenshot 2026 02 09 At 8 04 24 PM
Screenshot 2026 02 09 At 8 04 44 PM

Enabling Smoothing

There are two ways to access smoothing controls: Settings Drawer — Click the settings icon in the chart toolbar to open the line chart settings drawer. The Line Smoothing section lets you toggle smoothing on/off, select an algorithm, adjust the parameter with a slider, and toggle visibility of the original data. Smoothing settings in the settings drawer Inline Toolbar — Each line chart group has an inline smoothing slider in its toolbar for quick access without opening the full settings drawer. Inline smoothing slider

Algorithms

Pluto supports four smoothing algorithms. Each uses a window whose size is determined by the smoothing parameter (0–1). A higher value means a larger window and more aggressive smoothing.

Exponential Moving Average (EMA)

A causal (backward-looking) filter where each smoothed value is a weighted combination of the previous smoothed value and the current point. Recent points are weighted more heavily, with weights decaying exponentially into the past. This is the most commonly used algorithm for training loss curves.

Time Weighted EMA (TWEMA)

Similar to EMA but accounts for irregular spacing on the x-axis. Standard EMA assumes evenly spaced steps — TWEMA adjusts the decay factor based on the actual time or step distance between points, producing more accurate results when logging intervals vary.

Gaussian

Applies a Gaussian (bell curve) kernel centered on each point. Unlike EMA, this is a non-causal filter — it looks both forward and backward. This produces a smoother result with less phase lag, but the edges of the curve may be less stable.

Running Average

A simple moving average (SMA) that computes the unweighted mean of all points within the window. Straightforward and easy to reason about, but can lag behind sharp transitions more than EMA.