Перейти к содержимому
Новости
Исследования
← Все исследования

ORCNEIT Lab / № 06 / Исследование численной точности

Как сохранить малые обновления при обучении

Проведено
—
Опубликовано

Аннотация

Короткая контролируемая проверка численной точности показала уменьшение среднего знакового отклонения записи обновлений примерно в 90 раз. Отдельный более поздний запуск подтвердил устойчивость обучения с точным состоянием, но не готовность модели.

Постановка задачи

Что происходит с малыми обновлениями весов при округлении и можно ли уменьшить систематическое отклонение, не подменяя это выводом о качестве модели?

Условия и методика

7 июля сравнили три вычислительных варианта от одинакового исходного состояния: прежние вычисления с округлением к ближайшему; вычисления обновления в повышенной точности с тем же округлением; тот же второй вариант со стохастическим округлением только при записи веса. Каждая ветвь ограничена 20 шагами. Порядок данных, исходные веса и остальные условия сравнения сохранены.

BF16 — числовой формат с ограниченным шагом представления веса. Если обновление меньше половины такого шага, обычное округление может записать прежнее значение. Стохастическое округление выбирает соседнее представимое число вероятностно, чтобы не отбрасывать одно направление малых обновлений систематически. Проверяли конкретную реализацию и её ошибки, а не новое научное изобретение самого метода.

Основное измерение — модуль среднего знакового отклонения фактически записанного обновления от рассчитанного в повышенной точности, на первом одинаковом шаге реальных тензоров. Это показатель смещения: большие ошибки разных знаков могут компенсироваться. Он не равен средней абсолютной ошибке отдельных весов.

Дополнительно использовали синтетические проверки малых обновлений и сохранения последовательности случайного округления. Раздельно проверяли непрерывное выполнение и выполнение после прерывания. Полное обучение не было побитно воспроизводимым; различие после возобновления находилось около измеренного разброса повторных непрерывных запусков.

21 августа отдельно завершился запуск на 1 200 шагов и 4 915 200 предъявленных токенов с сохранением основных весов и состояний оптимизатора в FP32 и вычислениями модели в BF16. Это другая модель и другие условия, не продолжение июльского сравнения. Его используют только как отдельное свидетельство работоспособности точного состояния обучения, а не причинное сравнение двух методов.

Измерения

Отклонение записи обновления

|Средняя знаковая ошибка|

Округление к ближайшему

7,76E-8

Стохастическое округление

8,58E-10
Меньше — лучше. Измерение первого шага на одинаковых реальных весах и градиентах. Это среднее знаковое отклонение, не средняя абсолютная ошибка каждого веса и не качество ответов.
Таблица значений
Отклонение записи обновления
Показатель|Средняя знаковая ошибка|
Округление к ближайшему7,76E-8
Стохастическое округление8,58E-10

Результат

В короткой проверке стохастическое округление уменьшило измеренное смещение примерно в 90 раз. Улучшение ответов этим экспериментом не доказано.

Как сохранить малые обновления при обучении — Результат
ПоказательНаблюдениеИнтерпретация
Вычисления обновления с обычным округлением7,76 × 10⁻⁸Модуль среднего знакового отклонения
Та же арифметика со стохастическим округлением8,58 × 10⁻¹⁰Изменён только способ записи веса
Отношение двух отклонений≈ 90,44Не увеличение качества модели в 90 раз
Рассчитанные обновления меньше половины шага BF16Около 95% в исследованных блоках; 99,7% в представлении токеновПервый шаг; не все веса на всех шагах
Максимальное синтетическое смещение1,2 × 10⁻³ шага представленияОтдельная проверка округления
Поздний отдельный запуск с FP32-состоянием1 200 шагов; NaN/Inf — 0Технически завершён, поведенческая проверка не пройдена
Тяжёлые нарушения в поздней проверке487 / 1 600Выше установленного предела 10%

Обсуждение

Повышение точности промежуточной арифметики без изменения записи веса оставило измеренное смещение около прежнего уровня. Разница проявилась при замене только округления. Это локализует численный эффект внутри короткого контролируемого сравнения.

Стохастическое округление не обязано менять каждый вес на каждом шаге: многие записи остаются нулевыми, а небольшие движения реализуются вероятностно. Поэтому уменьшение среднего смещения не означает исчезновение всех индивидуальных ошибок.

Причинная связь между этой проблемой и ухудшением длинных генераций не установлена. У данных, режима обучения и способа генерации остаются другие возможные эффекты. Июльская проверка вообще не оценивала качество ответов.

Отдельный августовский запуск с FP32-состоянием завершил все обновления без нечисловых значений. Однако на 1 600 генерациях получены 487 тяжёлых нарушений, и проверка качества не пройдена. Это наглядно разделяет численную устойчивость и освоенные способности.

Ограничения

Число шагов июльского сравнения невелико. Около 90-кратного отношения относится к указанному агрегату первого шага, не к длительному обучению, скорости, каждой ошибке веса или качеству текста.

Последовательность случайного округления после сохранения воспроизводилась в синтетической проверке; полная модель имела вычислительный разброс. Нельзя заявлять побитно одинаковое возобновление всего обучения.

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

Источник данных: итоговые измерения и проверки ORCNEIT.