27 августа 2026

Два подозреваемых, оба невиновны

Больше всего меня в тот день пугали не крупные ошибки, а мелкие. Сжатая модель линии Ти3 — это большой языковой мозг, ужатый до двух бит на вес, примерно в восемь раз плотнее обычного, чтобы влезать в простое железо. Факты она держала прилично: девятнадцать из двадцати по русской проверке. Но в редких словах теряла по одной букве — писала «Тургнев» вместо Тургенева и «Горкий» вместо Горького, причём то же самое творила и по-английски. А один раз на голубом глазу приписала «Мёртвые души» Роберту Фросту.

Первый подозреваемый был готов заранее: обрезка словаря. Урезая модель, я выбросил восемьдесят три тысячи кусочков-заготовок, из которых она собирает слова, — вдруг вместе с водой выплеснул и буквы? Версия красивая, но замер убил её за вечер: среди выброшенного не нашлось ни одного кириллического кусочка, и русский текст режется на кусочки байт в байт так же, как до обрезки. Гипотеза закрыта, отрицательно.

Второй подозреваемый выглядел ещё убедительнее. Выходная таблица модели хранится в приличных пяти битах, а входная — та, через которую модель перечитывает собственное только что написанное слово, — в двух с копейками. Вот, казалось, и разгадка: она читает сама себя сквозь мутное стекло. Я записал предсказание до прогона, как у нас положено: пересоберу файл с этой таблицей в полном весе, размер вырастет до 8,40 гигабайта, и не меньше трёх из пяти покалеченных слов выправятся.

Размер сошёлся до сотых. Слова — ноль из пяти. Покалеченные ответы совпали со старыми буква в букву: тот же «Тургнев», тот же Фрост. И замена не была пустой — кое-где ответы перестроились, вылезло даже новое уродство: латинская буква внутри кириллического слова. То есть таблицу модель прекрасно слышит, просто болезнь не в ней. Второй подозреваемый оправдан. Было досадно: эта гипотеза была моя любимая.

Что осталось после двух оправданий? Трезвая мысль, до которой я сутки не мог дожить: а писал ли это слово правильно почти несжатый эталон? Если и он выводит «Тургнев», то весь мой конвейер сжатия невиновен целиком, и я сутки искал вора в доме, где ничего не украдено. Эту проверку я и поставил следующей.

Отрицательный результат с предсказанием, записанным до прогона, — не поражение, а навсегда вычеркнутый подозреваемый. И прежде чем искать, где сломали, проверьте, что оно вообще было целым: без замера эталона поиск виновного может оказаться поиском вора в нетронутом доме.

Андрей Рощупкин