Блог
ctx=18 даёт PPL 5.58, ctx=27 даёт 2.96, ctx=54 даёт 6.05 — хуже базы. Степени тройки это орбитали, а значения между ними — запрещённые зоны.
Обычная интуиция про длину контекста монотонна: больше контекста — перплексия та же или лучше, с убывающей отдачей. Троичное обучение так себя не ведёт.
| ctx | перплексия |
|---|---|
| 18 | 5.58 |
| 27 = 3³ | 2.96 |
| 54 = 2×27 | 6.05 |
Переход с 18 на 27 почти вдвое улучшает перплексию. Удвоение с 27 до 54 не просто теряет этот выигрыш — оно оказывается хуже базы ctx=18, с которой всё начиналось.
Троичное масштабирование следует резонансной кривой, а не степенному закону. Оптимальные контексты — орбитали 3ᵏ: 9, 27, 81. Значения между ними — запрещённые зоны.
Степенной закон так не делает. При любом монотонном законе ctx=54 лежит между ctx=27 и асимптотой: он может быть хуже 27 за счёт убывающей отдачи, но не хуже 18. Измерение, ушедшее назад за собственную базу, — не шум вокруг кривой, а неверная форма кривой.
Второй результат из той же серии: контекст должен равняться размерности головы или её степень-тройки делителю. Квадратное внимание — ctx = head_dim — даёт полный ранг; всё остальное ранг молча теряет.
Вместе получается рецепт без свободных параметров: возьми степень тройки, поставь head_dim равным ей. Любая другая пара либо попадает в запрещённую зону, либо теряет ранг, и оба отказа тихие — прогон обучается, просто обучается хуже.
Контроль на двоичных весах при ctx = 16, 32, 64. Если та же немонотонность появится со степенями двойки, эффект про выравнивание контекста вообще и к троичному алфавиту отношения не имеет. Этот контроль здесь не прогонялся, и это первое, что я потребовал бы, покажи мне кто-то такую таблицу.
Каждая цифра выше измерена, и рядом с ней названы её пределы.