Data provenance
ex-2.2.23 · 7de7e82 · run 2026-10-07
via reports/m2/ex-2.2.23/eval, reports/m2/ex-2.2.23/suppression
tau-lambda-sweep · 1719493 (dirty) · run 2026-10-08
via reports/m2/tau-lambda-sweep/eval, reports/m2/tau-lambda-sweep/suppression, reports/m2/tau-lambda-sweep/trajectories

The pool temperature and anchor weight, without the embedding

We swept the pool temperaturePool temperature The temperature of the mellowmax, a smooth stand-in for the maximum, that pools the alignment over the positions of a context: small τ is close to the largest alignment, large τ close to the mean. The recipe uses 0.1. τ and the anchor weight λ_a together, with the in-context pull kept off the embedding slice. Leaving the embedding out keeps the latchLatch A pooled pull that settles on one cheap position that every context shares, a different one from run to run: here, a syntax token whose embedding comes to lie on e₁ (spill-by-position, E3). off the syntax embeddings over most of the plane, but at the recipe point the edit still spills about as much as on the every-slice runs without a latch, and the spill grows as the pool softens. The most selective trials tend to sit near a narrow edge, just soft enough for the edit to remove the op at all.

Spill-by-position found that most anchored runs of the recipe latch one syntax embedding onto e₁, and that a latched separator carries much of the spill of the edit. The no-emb pull of ex-2.2.21, which leaves the embedding slice out of the anchor and anti-subspace terms, never latched there and scored best on the task, but only at three seeds and 200 epochs. The backlog item on a softer τ asked a related question: whether spreading the pull over more positions would move the anchor where it is needed.

This page trains no-emb at the recipe length over a log-log plane of τ and λ_a, one seed per trial, and fits smooth surfaces over the plane in place of repeated seeds. A few every-slice trials along τ are the reference.

Observations

Scope

This is an exploratory study, with no preregistration and no gate. It trains 32 no-emb trials and 8 every-slice trials, each at its own model seed (800 to 839) and for 400 epochs, on the recipe of record: ex-2.2.21's corpus with 3 examples per context, the whole-line label, no cap. The no-emb trials are scattered over τPool temperature The temperature of the mellowmax, a smooth stand-in for the maximum, that pools the alignment over the positions of a context: small τ is close to the largest alignment, large τ close to the mean. The recipe uses 0.1. from 0.01 to 1 and λ_a from 0.025 to 0.4, both on log scales, by a scrambled Sobol sequence (a quasi-random pattern that covers a square more evenly than random draws). The every-slice trials are spaced evenly along τ, on a log scale, at the recipe weight of 0.1. Beside them are ex-2.2.23's 12 every-slice runs at 400 epochs, all at the recipe point (τ = λ_a = 0.1), which show how far runs differ by seed alone at one point.

The recipe sets the weight of the anti-subspace term as a multiple of λ_a, so the two terms move together and the ratio between them is the same on every trial. The sweep says nothing about the anti-subspace term relative to the pull.

With one seed per trial, how far a difference can be trusted comes from the fits (see below), which also estimate how much the trials scatter about the surface. At the recipe point, removal is nearly the same from seed to seed, and spill is not: its seed standard deviation is 0.13, as large as most of the differences in E3. So a single trial says little about spill, and a pattern has to show across several neighboring trials before we read anything into it.

The measurements

Each measurement is taken on ex-2.2.21's held-out set, as in ex-2.2.23. The edit is ex-2.2.22's: at every position and every slice, it removes a share (the dose) of the component of the state along e₁, the anchored direction.

Both edit measurements are net of the seed mean of ex-2.2.23's 12 controls at 400 epochs, so what the edit does to a model with no anchor is not counted. Ex-2.2.23 netted against the control at the same seed; here the trials have new seeds, and on ex-2.2.23's runs pairing by seed made little difference.

Each continuous measurement gets a Gaussian processGaussian process A smoother that fits a surface through scattered points and reports its own uncertainty at every point of the surface. Here it fits each measurement over log τ and log λ_a, with a separate term for how much single trials scatter about the surface. over the plane, fit in log τPool temperature The temperature of the mellowmax, a smooth stand-in for the maximum, that pools the alignment over the positions of a context: small τ is close to the largest alignment, large τ close to the mean. The recipe uses 0.1. and log λ_a on the no-emb trials, leaving out the four whose anchor sits on = (E2). The design also planned logistic fits for two yes/no outcomes, but neither varied: every trial made the second rise, the late jump in task skill when the model learns the three HSV ops (its worst HSV op ends above 0.3), and no no-emb trial latched a syntax embedding at spill-by-position's level of 0.9, though the = came close on four (E2). Task cost is small everywhere, at most 0.06, with no pattern over the plane; it is in the table at the end, and in E3 where it bears on the trials with the least spill.

Glossary

Pool temperature
τ
The temperature of the mellowmax, a smooth stand-in for the maximum, that pools the alignment over the positions of a context: small τ is close to the largest alignment, large τ close to the mean. The recipe uses 0.1.
Target null
What the model would answer without difference: the ideal predictor with that op removed from the posterior over ops.
Latch
A pooled pull that settles on one cheap position that every context shares, a different one from run to run: here, a syntax token whose embedding comes to lie on e₁ (spill-by-position, E3).
Gaussian process
A smoother that fits a surface through scattered points and reports its own uncertainty at every point of the surface. Here it fits each measurement over log τ and log λ_a, with a separate term for how much single trials scatter about the surface.

Removal along τ (E1)

Where on the plane does the edit remove difference? The figure plots removal against τPool temperature The temperature of the mellowmax, a smooth stand-in for the maximum, that pools the alignment over the positions of a context: small τ is close to the largest alignment, large τ close to the mean. The recipe uses 0.1., with the weight as shade, and the anchor at the example answers beside it, since that is where the example-evidence report found it.

Two panels against the pool temperature τ on a log axis, from 0.01 to 1. Left, removal: the no-emb trials, shaded by anchor weight, sit low or scattered below about 0.07 and near 0.9 above it; the fitted curves at the three weights lie on top of each other and rise steeply around 0.07. Four hollow trials at the sharpest pool sit near 0.9. The every-slice trials, triangles, follow the same rise, collapsing below about 0.04. The twelve every-slice runs at the recipe point cluster near 0.85. Right, α at the example answers: low below the edge and near 0.7 above it, for both pulls. Two panels against the pool temperature τ on a log axis, from 0.01 to 1. Left, removal: the no-emb trials, shaded by anchor weight, sit low or scattered below about 0.07 and near 0.9 above it; the fitted curves at the three weights lie on top of each other and rise steeply around 0.07. Four hollow trials at the sharpest pool sit near 0.9. The every-slice trials, triangles, follow the same rise, collapsing below about 0.04. The twelve every-slice runs at the recipe point cluster near 0.85. Right, α at the example answers: low below the edge and near 0.7 above it, for both pulls.

Removal and the anchor at the example answers, along τ. Circles are no-emb trials, shaded from light (λ_a = 0.025) to dark (λ_a = 0.4), hollow where the anchor sits on = (E2). Lines are the fits at three weights, with bands of one standard deviation; the fits leave out the hollow trials, and where the lines coincide, the fit found no effect of the weight. Triangles are the every-slice trials at λ_a = 0.1; the diamond, its whisker, and the faint dots are ex-2.2.23's every-slice runs at the recipe point.

Removal depends mostly on τ, through a sharp edge near τ = 0.07 (placed by eye). The fit rises again at the sharpest pool, but that rests on one trial. Above it, every no-emb trial removes the op most of the way, about as far as the every-slice runs at the recipe point, and softening the pool further changes little. Below it, most trials remove little. The every-slice trials follow the same edge, a little sharper.

The weight makes little difference. The fit finds no change with λ_a over the sixteenfold range of the sweep, and the shades mix on both sides of the edge. Just below it, the two trials that remove the op best are among the heavier ones, which is a hint at most.

The anchor at the example answers follows the same edge: below it, α there is low, and above it, α settles near 0.7 on every trial. So with a sharp pool, the pull is met somewhere the answer does not depend on, and the edit has nothing to remove. The trials at the sharpest pool that do remove the op are the exception, and E2 shows where their anchor went.

Where the anchor sits (E2)

Does the pool spread the anchor beyond the example answers as it softens, and does leaving out the embedding keep the syntax embeddings off e₁? The figure plots α at every = and the largest alignment of a syntax embedding.

Two panels against τ on a log axis. Left, α at every `=`: near zero up to about 0.2 for no-emb trials, then rising to about 0.5 at τ = 1; four trials at the sharpest pool sit at 0.25 to 0.66. Every-slice trials stay near zero until about 0.3, then rise to 0.4. Right, the largest syntax embedding on e₁: no-emb trials near 0.1 until about 0.2, then rising to between 0.3 and 0.75, with four trials at the sharpest pool between 0.74 and 0.9. Every-slice trials sit at 1 at several τ values, as do five of the twelve recipe runs. Two panels against τ on a log axis. Left, α at every `=`: near zero up to about 0.2 for no-emb trials, then rising to about 0.5 at τ = 1; four trials at the sharpest pool sit at 0.25 to 0.66. Every-slice trials stay near zero until about 0.3, then rise to 0.4. Right, the largest syntax embedding on e₁: no-emb trials near 0.1 until about 0.2, then rising to between 0.3 and 0.75, with four trials at the sharpest pool between 0.74 and 0.9. Every-slice trials sit at 1 at several τ values, as do five of the twelve recipe runs.

The anchor at every = and on the syntax embeddings, along τ. As in the figure of E1. The right panel has no fit: the syntax embedding with the largest alignment differs from trial to trial.

At the sharpest pool, the anchor of four trials moves to =. On those trials the = embedding lies most of the way along e₁, even though the embedding slice is not pulled, and α at every = is high on difference contexts, and on the contexts of other ops too. The pull at the output of the first block is cheapest to meet by moving a token that every context shares, so leaving out the embedding slice moves the latchLatch A pooled pull that settles on one cheap position that every context shares, a different one from run to run: here, a syntax token whose embedding comes to lie on e₁ (spill-by-position, E3). one slice up rather than removing it. On those trials the edit removes the op by removing = everywhere (E3 shows what that costs). The other two trials at the sharpest pool have no anchor in use.

From the edge up to τPool temperature The temperature of the mellowmax, a smooth stand-in for the maximum, that pools the alignment over the positions of a context: small τ is close to the largest alignment, large τ close to the mean. The recipe uses 0.1. ≈ 0.2 the anchor stays at the example answers, and the syntax embeddings stay near zero, as in ex-2.2.21. As the pool softens beyond that, α rises at every =, and the most aligned syntax embedding comes partway onto e₁, usually the line break or the separator. None reaches a full latch, and the weight makes little difference.

The every-slice pull latches at half the values of τ, much as it did at the recipe point: four of its 8 trials have one syntax embedding on e₁, and at the softest pool its syntax embeddings rise partway too.

Spill (E3)

How much does the edit spill across the plane, and does it follow where the anchor sits? The figure plots spill along τPool temperature The temperature of the mellowmax, a smooth stand-in for the maximum, that pools the alignment over the positions of a context: small τ is close to the largest alignment, large τ close to the mean. The recipe uses 0.1., as in E1.

Spill against τ on a log axis. No-emb trials at the sharpest pool split between about 0.6 (the four with the anchor on `=`) and below 0.1; between 0.025 and 0.07 they sit near zero; above the edge they rise from about 0.05 to between 0.2 and 0.6, with the fits climbing from about 0.1 to 0.4. The every-slice trials and recipe runs sit between 0.1 and 0.5 above the edge. Spill against τ on a log axis. No-emb trials at the sharpest pool split between about 0.6 (the four with the anchor on `=`) and below 0.1; between 0.025 and 0.07 they sit near zero; above the edge they rise from about 0.05 to between 0.2 and 0.6, with the fits climbing from about 0.1 to 0.4. The every-slice trials and recipe runs sit between 0.1 and 0.5 above the edge.

Spill along τ. As in the figure of E1.

Past the edge, spill grows as the pool softens. Near the recipe τ (0.08 to 0.2), the no-emb trials spill about as much as the every-slice runs at the recipe point that did not latchLatch A pooled pull that settles on one cheap position that every context shares, a different one from run to run: here, a syntax token whose embedding comes to lie on e₁ (spill-by-position, E3)., and less than the ones that did. So leaving out the embedding slice takes away the extra spill of the latch, and leaves the rest. The four trials with the anchor on = spill most of all, since their edit removes = in every context. Below the edge, the trials spill little, and remove little.

The spill follows the anchor at =. Among the trials that remove the op, leaving out the four on =, the correlation between spill and α at every = is 0.69.

Spill against α at every `=`, for the trials and runs whose removal is at least 0.5. No-emb trials rise from spill near 0.05 at α near zero to 0.4 to 0.6 at α of 0.4 to 0.5; the four with the anchor on `=`, drawn hollow, sit at the top right. Every-slice runs spread from 0 to 0.5 at α near zero. Spill against α at every `=`, for the trials and runs whose removal is at least 0.5. No-emb trials rise from spill near 0.05 at α near zero to 0.4 to 0.6 at α of 0.4 to 0.5; the four with the anchor on `=`, drawn hollow, sit at the top right. Every-slice runs spread from 0 to 0.5 at α near zero.

Spill against the anchor at every =. The trials whose removal is at least 0.5. Circles are no-emb trials, shaded by weight as before, hollow where the anchor sits on = (E2); triangles are every-slice trials and runs.

The trials that spread the anchor onto = spill most, and those that keep it at the example answers spill least, though even those spill well above the criterion of ex-2.2.21. The every-slice runs at the recipe point have little α at = and spill as widely as the no-emb trials, so = is one source of spill among others.

Putting removal and spill together, the most selective trials tend to sit near the edge, where the pool is just soft enough for the anchor to settle at the example answers and no softer. The three trials with the least spill among those that remove at least 0.7 of the way are no-emb-04 (τ = 0.08, λ_a = 0.39), no-emb-06 (τ = 0.19, λ_a = 0.10), and no-emb-20 (τ = 0.07, λ_a = 0.18). Two of them are among the few trials that cost the task something (no-emb-04 and no-emb-06, whose worst HSV op ends lower than on most trials), so a model that learned the task less well may account for part of their low spill. The third has no task cost, and it sits on the edge.

The plane of τ (log, horizontal) and λ_a (log, vertical). Solid contours of the fitted removal at 0.5 and 0.7 run straight up the plane between τ = 0.06 and 0.07, with a second 0.5 contour near τ = 0.012. Dashed contours of the fitted spill at 0.15 and 0.3 curve across the right half, spill growing toward the upper right. The no-emb trials are filled dots, hollow for the four with the anchor on `=`; the every-slice trials are triangles along λ_a = 0.1, with a diamond at the recipe point. A star marks τ = 0.07, λ_a = 0.13, on the 0.7 removal contour. The plane of τ (log, horizontal) and λ_a (log, vertical). Solid contours of the fitted removal at 0.5 and 0.7 run straight up the plane between τ = 0.06 and 0.07, with a second 0.5 contour near τ = 0.012. Dashed contours of the fitted spill at 0.15 and 0.3 curve across the right half, spill growing toward the upper right. The no-emb trials are filled dots, hollow for the four with the anchor on `=`; the every-slice trials are triangles along λ_a = 0.1, with a diamond at the recipe point. A star marks τ = 0.07, λ_a = 0.13, on the 0.7 removal contour.

The fitted surfaces over the plane. Solid: removal at 0.5 and 0.7. Dashed: spill. Dots are the no-emb trials, hollow where the anchor sits on =; triangles the every-slice trials; the diamond the recipe point. The star is the point of least fitted spill where the fitted removal reaches 0.7.

On the fitted surfaces, the point of least spill where removal reaches 0.7 is at τ = 0.07 and λ_a = 0.13. There the fits give removal 0.7 ± 0.1 and spill 0.1 ± 0.1. The edge is narrow along τ and the spill is noisy, so the region is a thin band beside a steep slope, rather than a broad plateau.

Discussion

The pull kept off the embedding slice does what spill-by-position hoped for over most of the plane: no syntax embedding latchesLatch A pooled pull that settles on one cheap position that every context shares, a different one from run to run: here, a syntax token whose embedding comes to lie on e₁ (spill-by-position, E3)., and the extra spill that a latched separator brings goes away. But the edit still spills at the recipe τPool temperature The temperature of the mellowmax, a smooth stand-in for the maximum, that pools the alignment over the positions of a context: small τ is close to the largest alignment, large τ close to the mean. The recipe uses 0.1., about as much as on the every-slice runs without a latch. So most of the spill on a fully trained model has some other source. A later re-analysis, where the lean comes from, traces it on the every-slice runs to lightness loaded onto e₁ in the color embedding table, and finds the no-emb trials here leaning the same way. The no-emb runs of ex-2.2.21 and ex-2.2.22 spilled little, and at 200 epochs on three seeds, that may have been the short training more than the pull, though this sweep has no 200-epoch arm to separate the two.

Leaving out the embedding slice also moves the latch rather than removing it, when the pool is sharp. At the sharpest τ the pull is met at the first slice it reaches, by putting the = embedding on e₁. That fits the account of the latch in spill-by-position, a pool that is close to a max is met most cheaply by a position every context shares, and it suggests that leaving out more slices might only move the latch further up at a sharp enough pool, though only the embedding slice was left out here.

Softening the pool spreads the anchor, as the backlog item expected, but onto = and the syntax tokens, and the spill grows with it. The anchor does reach the query =, though only together with every other =. So a softer pool does not help the edit here: by the time the anchor reaches the query, the spill has grown.

So within this plane, the least spill comes at the edge where the anchor first settles at the example answers. It is a narrow band beside a steep slope, and the noise in the spill is about as large as the differences along it, so we hold the proposed point loosely: with one trial per point, we cannot tell whether the spill drops on the edge or the trials there were lucky draws. Two of the three least-spilling trials also cost the task something (E3), which leaves one clean trial on the edge. If the spill does drop there, removal and spill are traded along τ, and λ_a barely enters removal; the spill fit varies with λ_a only through single trials. Since λ_a scales the anti-subspace term too, the ratio between the two terms is the same on every trial, so the sweep says nothing about a heavier anti-subspace term relative to the pull.

All trials

trialτλₐtask cost ↓worst HSV op ↑top syntax embeddingα, answersα, every =removal ↑spill ↓
no-emb-000.0110.162+0.0120.46, 0.090.200.010.600.09 darken
no-emb-310.0120.082-0.0030.49= 0.900.030.460.910.63 lighten
no-emb-150.0150.037+0.0030.48= 0.870.020.630.910.64 darken
no-emb-160.0160.299+0.0010.48= 0.740.000.250.870.63 lighten
no-emb-080.0190.212+0.0280.46, 0.060.100.020.040.07 lighten
no-emb-230.0230.026+0.0220.48= 0.770.020.660.900.62 lighten
no-emb-070.0250.057+0.0140.46, 0.090.070.020.060.04 darken
no-emb-240.0310.116-0.0000.48, 0.120.060.010.110.00 darken
no-emb-030.0350.035-0.0030.48= 0.070.340.020.480.06 darken
no-emb-280.0380.283+0.0020.48, 0.020.100.010.390.09 lighten
no-emb-120.0460.129+0.0000.48, 0.110.220.010.240.09 darken
no-emb-190.0490.064-0.0040.49⏎ 0.090.090.020.130.00 hue-hsv
no-emb-110.0580.091+0.0010.49? 0.110.140.010.290.01 mix
no-emb-200.0720.181-0.0020.47, 0.040.690.010.840.07 hue-hsv
no-emb-040.0760.392+0.0320.41= 0.030.65-0.000.810.05 darken
no-emb-270.0940.050-0.0020.49⏎ 0.150.700.020.870.31 darken
no-emb-140.1120.320-0.0020.49⏎ -0.020.690.010.850.27 darken
no-emb-170.1200.040-0.0020.48⏎ 0.110.690.020.850.20 darken
no-emb-010.1530.072-0.0010.49, 0.160.720.030.890.17 hue-hsv
no-emb-300.1630.148+0.0120.49, 0.150.720.030.830.19 darken
no-emb-060.1850.102+0.0550.34⏎ 0.090.710.030.870.07 darken
no-emb-250.2290.052+0.0040.48⏎ 0.190.710.070.900.31 darken
no-emb-090.2510.028-0.0020.49⏎ 0.180.800.060.900.24 darken
no-emb-220.3110.224+0.0130.47⏎ 0.570.600.150.900.53 lighten
no-emb-130.3490.066-0.0030.48, 0.470.690.140.890.26 darken
no-emb-180.3740.131+0.0590.39⏎ 0.750.650.220.880.42 darken
no-emb-020.4570.239+0.0370.45⏎ 0.540.630.320.860.35 darken
no-emb-290.4890.030+0.0020.48⏎ 0.240.720.110.860.12 value-hsv
no-emb-050.5750.042+0.0320.42⏎ 0.400.660.140.840.19 value-hsv
no-emb-260.7110.343+0.0010.48, 0.310.670.520.900.59 lighten
no-emb-100.7530.186-0.0030.49⏎ 0.400.680.430.910.43 darken
no-emb-210.9310.092+0.0460.42, 0.450.660.390.900.22 lighten
whole-000.0100.100+0.0100.48= 0.020.110.020.310.11 darken
whole-010.0190.100+0.0400.43, 1.000.070.020.170.08 lighten
whole-020.0370.100+0.0360.44⏎ 1.000.080.03-0.010.01 darken
whole-030.0720.100-0.0030.49, 1.000.660.010.880.41 lighten
whole-040.1390.100-0.0010.48= 0.070.750.020.860.30 darken
whole-050.2680.100-0.0010.48⏎ 0.970.730.090.890.38 hue-hsv
whole-060.5180.100+0.0070.48⏎ 0.860.660.280.890.32 hue-hsv
whole-071.0000.100-0.0020.49, 0.730.730.400.900.41 hue-hsv
recipe, seed 7000.1000.100+0.0080.48? 0.030.690.020.860.28 darken
recipe, seed 7010.1000.100+0.0010.48, 1.000.660.010.890.39 darken
recipe, seed 7020.1000.100-0.0010.48= 0.060.690.020.860.13 darken
recipe, seed 7030.1000.100-0.0020.49= 0.060.700.030.850.18 darken
recipe, seed 7040.1000.100-0.0050.49, 1.000.680.010.900.33 lighten
recipe, seed 7050.1000.100+0.0090.47, 1.000.690.030.860.52 darken
recipe, seed 7060.1000.100-0.0000.49= 0.070.700.020.860.22 darken
recipe, seed 7070.1000.100-0.0040.49⏎ 1.000.670.010.890.01 hue-hsv
recipe, seed 7080.1000.100+0.0030.48= 0.080.690.010.820.15 darken
recipe, seed 7090.1000.100+0.0230.45, 1.000.680.030.830.31 darken
recipe, seed 7100.1000.100+0.0100.45= 0.040.690.040.800.20 darken
recipe, seed 7110.1000.100-0.0000.49= 0.040.690.030.840.28 darken

Every trial. The 32 no-emb trials in order of τ, then the 8 every-slice trials, then ex-2.2.23's every-slice runs at the recipe point (τ = λₐ = 0.1). Task cost is the seed mean of the controls minus the trial score; the worst HSV op is its score on the held-out set; the top syntax embedding is the one most aligned with e₁; α is averaged over slices 2 to 4 on difference contexts. Removal and spill are net of the control seed mean, and the spill names the op it lands on.