Text Generation
PEFT
Safetensors
lora
trl
grpo
gdpo
dpo
divpo
rlhf
diversity
creative-writing
mode-collapse
Instructions to use Mercity/creative-writing-llm with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use Mercity/creative-writing-llm with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
File size: 6,921 Bytes
cbc33fe | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | """
Unit tests for src/diversity.py. Run: python3 -m pytest src/test_diversity.py -q
or: python3 src/test_diversity.py
"""
import numpy as np
from diversity import (
cosine_kernel,
greedy_diverse_subset,
l2_normalize,
logdet_volume,
marginal_contributions,
pairwise_deviation,
zscore,
)
RNG = np.random.default_rng(0)
def _orth(G, d):
"""G mutually orthonormal rows in R^d."""
Q, _ = np.linalg.qr(RNG.standard_normal((d, G)))
return Q.T[:G]
# ---------------------------------------------------------------- deviation
def test_deviation_duplicates_are_zero():
"""Exact duplicates: every pair distance is 0, so d_i == 0 for all."""
e = l2_normalize(RNG.standard_normal((1, 32)))
E = np.repeat(e, 8, axis=0)
d = pairwise_deviation(E)
assert np.allclose(d, 0.0, atol=1e-9), d
def test_deviation_orthogonal_is_one():
"""Orthogonal rows: cos = 0 for every pair, so d_i == 1 exactly."""
E = _orth(8, 64)
d = pairwise_deviation(E)
assert np.allclose(d, 1.0, atol=1e-9), d
def test_deviation_singleton_and_empty():
assert pairwise_deviation(np.zeros((1, 8))).shape == (1,)
assert pairwise_deviation(np.zeros((1, 8)))[0] == 0.0
assert pairwise_deviation(np.zeros((0, 8))).shape == (0,)
def test_deviation_flags_the_odd_one_out():
"""7 near-identical + 1 far: the outlier must have the highest d_i."""
base = l2_normalize(RNG.standard_normal((1, 64)))
tight = l2_normalize(np.repeat(base, 7, axis=0) + 0.01 * RNG.standard_normal((7, 64)))
far = l2_normalize(RNG.standard_normal((1, 64)))
E = np.vstack([tight, far])
d = pairwise_deviation(E)
assert d.argmax() == 7, d
# ------------------------------------------------------- marginal / logdet
def test_marginal_duplicate_is_large_negative():
"""A duplicated direction is already spanned -> dropping one costs ~nothing,
so the PRESENT duplicate's marginal is driven to ~log(eps), very negative."""
e = l2_normalize(RNG.standard_normal((1, 32)))
E = np.vstack([np.repeat(e, 2, axis=0), _orth(4, 32)])
m = marginal_contributions(E)
# the two duplicates (rows 0,1) are the least valuable members
assert m[0] < -3.0 and m[1] < -3.0, m
assert m[:2].max() < m[2:].min(), m
def test_marginal_orthogonal_is_near_zero_and_uniform():
"""Orthonormal rows: L = (1+eps)I, dropping any row costs log(1+eps) ~ 0.
'High m_i for all' in the sense of at-ceiling and symmetric."""
E = _orth(8, 64)
m = marginal_contributions(E)
assert np.allclose(m, m[0], atol=1e-9), m
assert abs(m[0] - np.log1p(1e-3)) < 1e-6, m[0]
def test_marginal_is_bounded_above_by_zero_ish():
"""logdet is monotone under adding a row with unit norm + jitter, so
m_i can never exceed log(1+eps)."""
E = l2_normalize(RNG.standard_normal((12, 64)))
m = marginal_contributions(E)
assert m.max() <= np.log1p(1e-3) + 1e-9, m.max()
def test_logdet_ordering_dup_lt_spread_lt_orthogonal():
e = l2_normalize(RNG.standard_normal((1, 64)))
dup = np.repeat(e, 8, axis=0)
spread = l2_normalize(RNG.standard_normal((8, 64)))
orth = _orth(8, 64)
assert logdet_volume(dup) < logdet_volume(spread) < logdet_volume(orth)
def test_kernel_is_psd_even_with_duplicates():
e = l2_normalize(RNG.standard_normal((1, 16)))
L = cosine_kernel(np.repeat(e, 6, axis=0))
assert np.linalg.eigvalsh(L).min() > 0, "jitter failed to make L PD"
assert np.isfinite(logdet_volume(np.repeat(e, 6, axis=0)))
# --------------------------------------- THE E1-vs-E2 HYPOTHESIS, AS A TEST
def test_two_clusters_fool_deviation_but_not_logdet():
"""This is the claim E2 rests on, so it gets asserted rather than assumed.
Config A: two tight antipodal clusters of 4 (rank ~2, 'diverse' only in
the sense that half the samples are far from the other half).
Config B: 8 genuinely spread directions (rank ~8).
Pairwise deviation cannot tell these apart -- mean pairwise distance for A
is actually HIGHER, because antipodal pairs sit at cos = -1. Log-det sees
straight through it: A occupies a 2-dimensional subspace.
"""
u, v = _orth(2, 64)
jit = 0.01
A = l2_normalize(np.vstack([
np.repeat(u[None], 4, axis=0) + jit * RNG.standard_normal((4, 64)),
np.repeat(-u[None], 4, axis=0) + jit * RNG.standard_normal((4, 64)),
]))
B = _orth(8, 64)
dev_A, dev_B = pairwise_deviation(A).mean(), pairwise_deviation(B).mean()
vol_A, vol_B = logdet_volume(A), logdet_volume(B)
# deviation RANKS THE DEGENERATE SET HIGHER -- the failure mode, reproduced
assert dev_A > dev_B, (dev_A, dev_B)
# log-det correctly ranks the spread set far higher
assert vol_B > vol_A + 10.0, (vol_A, vol_B)
# and per-sample: in A every member is redundant (its twin covers it),
# so marginal contributions are uniformly terrible
assert marginal_contributions(A).max() < -3.0
assert marginal_contributions(B).min() > -1e-3
_ = v # second basis vector unused, kept for clarity of construction
# ------------------------------------------------------------------ zscore
def test_zscore_constant_input_is_zeros_not_nan():
"""A constant reward column must degrade to 0, never NaN -- otherwise it
poisons the whole advantage tensor."""
z = zscore(np.full(8, 3.7))
assert np.all(np.isfinite(z)) and np.allclose(z, 0.0)
def test_zscore_standardizes():
z = zscore(RNG.standard_normal(64))
assert abs(z.mean()) < 1e-9 and abs(z.std() - 1.0) < 1e-9
# ------------------------------------------------------------ greedy subset
def test_greedy_avoids_duplicates_when_quality_is_flat():
"""With flat quality, selection is pure logdet: must not pick both dupes."""
e = l2_normalize(RNG.standard_normal((1, 64)))
E = np.vstack([np.repeat(e, 3, axis=0), _orth(3, 64)]) # rows 0,1,2 identical
sel = greedy_diverse_subset(np.ones(6), E, k=3, lam=1.0)
assert len(sel) == 3
assert len(set(sel) & {0, 1, 2}) <= 1, sel
def test_greedy_respects_quality_when_lambda_is_zero():
E = l2_normalize(RNG.standard_normal((10, 64)))
q = np.arange(10, dtype=float)
sel = greedy_diverse_subset(q, E, k=3, lam=0.0)
assert sorted(sel) == [7, 8, 9], sel
def test_greedy_k_larger_than_pool():
E = l2_normalize(RNG.standard_normal((3, 32)))
assert len(greedy_diverse_subset(np.ones(3), E, k=8)) == 3
if __name__ == "__main__":
import sys, traceback
fns = [(n, f) for n, f in sorted(globals().items())
if n.startswith("test_") and callable(f)]
bad = 0
for n, f in fns:
try:
f()
print(f" PASS {n}")
except Exception:
bad += 1
print(f" FAIL {n}")
traceback.print_exc()
print(f"\n{len(fns)-bad}/{len(fns)} passed")
sys.exit(1 if bad else 0)
|