Эмерджентная интерлингва — веса первого этапа
Кодировщик переводит фразу с любого из двенадцати языков в придуманное дискретное сообщение (64 слота × словарь 4096), декодировщик разворачивает его обратно на любой язык. Обучение только переводу; выравнивание кодов между языками не задаётся.
Вопрос исследования: придёт ли одна мысль, поданная с разных языков, к одному сообщению.
Код, полный отчёт и рабочий журнал: https://github.com/Levos06/interlingua
Что здесь лежит
Все четыре модели — 24M параметров, 48 000 шагов, одинаковое расписание. Отличаются ровно одним, чтобы их можно было сравнивать.
| файл | что это | chrF | тождество | тождество общей части |
|---|---|---|---|---|
TRC-ctl.pt |
контроль, без рычагов | 0.305 | 0.155 | 0.093 |
SPC-16.pt |
расщепление кода: первые 16 слотов — общая часть | 0.303 | 0.190 | 0.165 |
TRC-t05.pt |
обучение со случайной обрезкой хвоста | 0.281 | 0.137 | — |
L2s192000.pt |
лучший переводчик, 192 000 шагов | 0.403 | 0.144 | — |
Тождество — доля позиций, где символы двух языков для одной мысли совпадают, минус контроль на чужой мысли той же длины. chrF — качество своего развёртывания без золотого префикса. Потолок тождества, измеренный на перефразировках внутри одного языка, около 0.80.
Чем интересны
SPC-16 — рабочий рычаг этапа. Если объявить первые 16 слотов общей частью и
потребовать, чтобы по ней фразы различались между собой и совпадали между языками, тождество
общей части растёт с 0.093 до 0.165 — на 77%, при неизменном качестве перевода. Прибавка
одинакова на всех 64 парах языков. Общая часть при этом структурно здорова: 15.3 разных
символа на 16 слотов, слипание слотов 0.05.
TRC-t05 — модель, придумавшая себе границу сообщения. Обучалась со случайной обрезкой
хвоста, слепой к длине фразы. В результате завела алфавит «пустых» символов, поставила его
в хвост, и место границы поехало вместе с длиной мысли (связь +0.44 против +0.09 у контроля).
Ни символа конца, ни платы за длину не закладывалось.
Как загрузить
import torch
blob = torch.load("SPC-16.pt", map_location="cpu", weights_only=False)
cfg = blob["config"] # все настройки прогона
# сборка модели — scripts/many.py:Many в репозитории на GitHub
Корпус: levossadtchi/mx7-c48a20e1f3. Все промежуточные чекпойнты всех прогонов проекта:
levossadtchi/rx4-7f31c0a9d2.
Личный исследовательский проект, август 2026. Этап закрыт, работа на паузе.