Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Происхождение материалов

Книга переведена из исходного репозитория harvard-edge/cs249r_book, папка books/vol2/ (том II «Scaling Machine Learning Systems»). Исходный Quarto-файл главы «Введение» (books/vol2/01_introduction/01_introduction.qmd) переведен вручную и преобразован в Markdown для mdBook. Оригинальные файлы в исходном репозитории не менялись.

Актуальное состояние

Перевод тома завершен: переведены все 17 глав, четыре страницы с принципами частей, вводные материалы (посвящение, заметка автора, предисловие, благодарности, примечание об использовании ИИ, обозначения), семь приложений, глоссарий и список литературы. Разделы ниже описывают состояние на момент каждого этапа работы, поэтому пометки «пока не переведено» и «оставлено текстом» в них относятся к тому этапу. Заключительный этап (разделы в конце файла) закрыл эти пометки: ссылки на главы, части, приложения и принципы стали настоящими ссылками, рисунки главы 1 переведены, пропущенные части глав 5 и 15 дополнены.

Что остается на английском (надписи нельзя заменить без исходных данных или нового снимка): снимок клавиатуры Gboard (11_edge_intelligence/png/ondevice_gboard_example.png), три осциллограммы Colin O’Flynn в главе 13 (power_analysis_of_an_encryption_device_with_a_*.png), экспорт Energy-Charts (15_sustainable_ai/png/europe_energy_grid.png), фотографии и портреты без подписей. Названия технологий, моделей и библиотек на рисунках оставлены как в источнике.

Что переведено

  • Текст главы «Введение» (полный перевод исходного файла главы): назначение, момент масштаба, стек парка, законы масштабирования, ограничения масштаба, таксономия C³, закон парка, инвариант энергии и масштаба, три маячных архетипа, структура тома, заблуждения и ловушки, итоги.

  • Врезки: цели обучения, сценарии, справки, определения, контрольные вопросы, маячные архетипы, случаи из практики и системные выводы.

  • Таблицы: эволюция вычислений при обучении, типы нарушений масштабирования, розеттский камень фреймворков, маячные архетипы.

  • Сноски (10), подписи рисунков и таблиц, alt-тексты.

  • Список литературы: записи, на которые ссылаются главы 1 и 2 (45 записей); записи приведены на языке оригинала.

  • Глава 2 «Вычислительная инфраструктура»: полный перевод текста, врезок, таблиц, сносок и подписей; рисунки переведены (см. раздел «Глава 2» ниже).

  • Глава 3 «Сетевые фабрики», полностью: первые две части (от заголовка до конца раздела «Уровень 3: коммутаторы и топология», строки 1–3211 исходника) и третья часть (строки 3212–4342: от раздела «Уровень 4: поведение фабрики» до итогов): текст, врезки, таблицы, сноски, подписи и рисунки (см. разделы «Глава 3 (первая часть)», «Глава 3 (вторая часть)» и «Глава 3 (третья часть)» ниже).

  • Глава 6 «Коллективные коммуникации»: полный перевод текста, врезок, таблиц, сносок и подписей; рисунки переведены (см. раздел «Глава 6» ниже).

  • Глава 7 «Отказоустойчивость»: полный перевод, с рисунками (см. раздел «Глава 7» ниже).

  • Глава 8 «Оркестрация парка»: полный перевод текста, врезок, таблиц, сносок, подписей и рисунков (см. раздел «Глава 8» ниже).

  • Глава 9 «Инженерия производительности»: полный перевод текста, врезок, таблиц, сносок, подписей, листингов и рисунков (см. раздел «Глава 9» ниже).

  • Глава 10 «Инференс в масштабе»: полностью, текст, врезки, таблицы, сноски, листинги, подписи и рисунки (см. раздел «Глава 10» ниже).

  • Глава 11 «Граничный интеллект» полностью: текст, врезки, таблицы, сноски, подписи и рисунки (см. раздел «Глава 11» ниже).

  • Глава 12 «Эксплуатация ML-систем в масштабе» полностью: текст, врезки, таблицы, сноски, подписи и рисунки (см. разделы «Глава 12» ниже).

  • Глава 13 «Безопасность и приватность», полностью: первая часть (от заголовка до раздела «Векторы атак, специфичные для моделей») и вторая часть (с раздела «Аппаратные уязвимости» до итогов): текст, врезки, таблицы, сноски, подписи и рисунки (см. разделы «Глава 13» ниже).

  • Глава 14 «Надежный ИИ», полностью: первые две части (от заголовка до раздела «Атаки на уровне входов и устойчивость модели») и третья часть (от этого раздела до итогов): текст, врезки, таблицы, сноски, подписи и рисунки (см. разделы «Глава 14» ниже).

  • Глава 15 «Устойчивый ИИ», первые две части (от заголовка до раздела «Смягчение последствий»): текст, врезки, таблицы, сноски, подписи и рисунки (см. разделы «Глава 15» ниже).

  • Глава 16 «Ответственный ИИ», обе части: текст, врезки, таблицы, сноски, подписи и рисунки (см. разделы «Глава 16 (первая часть)» и «Глава 16 (вторая часть)» ниже).

  • Глава 17 «Заключение», первая часть (от заголовка до раздела «Освоенные компетенции», строки 1–371 исходника): текст, врезка, таблицы, сноски, подписи и рисунки (см. раздел «Глава 17 (первая часть)» ниже).

Не перенесено:

  • Тесты к главе (файл introduction_quizzes.json) и карта концепций (introduction_concepts.yml): это функции онлайн-версии, в статическом издании их нет.
  • Ячейки кода Python с #| echo: false: в исходнике они скрыты, и их результаты вставлены в текст как значения. Код самих графиков выполнен заново (см. ниже), поэтому комментарии в нем не выводятся в книгу.
  • Фрагмент \mlfleetstack на полях (LaTeX-только): в HTML-версии оригинала он тоже не отображается.
  • на момент первого этапа не были переведены вторая часть главы 5, третья часть главы 15, вторая часть главы 17 и приложения; позже все они переведены (см. заключительные разделы), а ссылки на них стали настоящими ссылками.

Значения в тексте

Встроенные вычисления {python} исходника выполнены локально (mlsysim из репозитория, версия из того же коммита), значения подставлены по выводу. Все 60 значений вычислены без ошибок.

Рисунки

  • Графики matplotlib (два рисунка: тренд вычислений для обучения и рост размера кластера): код исходника выполнен без изменений; подписи переведены перехватом строк при выводе. Шрифт — DejaVu Sans. Данные и оформление не менялись.
  • TikZ (четыре рисунка без готового SVG в исходнике: режимы масштабирования системы, потери в зависимости от объема данных, режимы масштабирования по данным, три фазы масштабирования): собраны заново из исходного кода TikZ с русскими подписями. Сборка: pdfLaTeX с кириллическим шрифтом WNCYSS (OT2), латинские слова набраны через \lat{}, обрезка по фактической области рисунка.
  • Векторные рисунки с текстом (карта стека, барьерная синхронизация, дорожная карта тома, AI-триада, таксономия C³, коллапс надежности, разрыв масштаба): подписи в SVG переведены на заключительном этапе (см. раздел «Рисунки главы 1: заключительный этап»).
  • Векторные рисунки на полях (с подписями в контурах): подписи, оставшиеся английскими (vol2_introduction_coordination_tax, vol2_introduction_margin_001, vol2_introduction_margin_004), заменены на русский текст на заключительном этапе; остальные поля не содержат текста или содержат только аббревиатуру CI.
  • Растровые рисунки (compute-trends.png, compute_optimal.png, kaplan_scaling_data_compute.png): русские подписи наложены на заключительном этапе (см. ниже).
  • Обложка главы (cover_introduction_blueprint_labeled.webp): четыре выноски переведены на заключительном этапе.

Итог по рисункам на момент первого этапа: на русском языке подписи были только у четырех рисунков TikZ и у двух графиков matplotlib; остальные рисунки главы 1 переведены на заключительном этапе.

Решения по переводу

  • Буква «ё» не используется, как и в остальных книгах серии.
  • Десятичная запятая в тексте; разделитель тысяч — пробел.
  • Термины: «парк машинного обучения» (ML fleet), «момент масштаба», «стена памяти», «сетевая стена», «энергетическая стена», «налог на координацию», «разрыв надежности», «отстающий узел», «бисекционная пропускная способность», «инференс» (inference), «обслуживание» (serving), «дообучение» (fine-tuning), «предобучение» и «постобучение», «законы масштабирования».
  • Имена алгоритмов и библиотек (AllReduce, Ring All-Reduce, NCCL, RDMA, DLRM, MobileNet) оставлены на английском.
  • Заголовки врезок: «Цели обучения», «Ключевые выводы», «Заблуждения и ловушки», «Сценарий», «Случай из практики», «Формулировка», «Справка», «Определение», «Контрольные вопросы», «Маячные архетипы».

Особенности исходника, оставленные как есть

  • В разделе о законах масштабирования предложение о сравнении обучения с нагрузкой на игровой ПК повторено дважды в исходнике (в тексте до и после рисунка); в переводе оба варианта сохранены.
  • В примере с налогом на коммуникацию в исходнике сказано «FP16», а объем градиентов (около 700 ГБ) приведен так же, как в основном тексте, где речь идет о FP32; это расхождение не исправлялось, его стоит сверить с оригиналом.
  • Первая глава ссылается на главы, которые еще не переведены (в тексте указаны названия глав).

Проверки

Из корня репозитория:

  • python3 scripts/check_books.py: книга проходит проверку структуры.
  • python3 scripts/check_links.py books/scaling-ml-systems/src: все относительные ссылки ведут на существующие файлы.
  • mdbook build books/scaling-ml-systems: сборка без ошибок.

Книга в каталоге не закоммичена (директория не отслеживается git).

Глава 2 «Вычислительная инфраструктура»: перевод

Исходник: books/vol2/02_compute_infrastructure/02_compute_infrastructure.qmd. Текст переведен полностью: назначение, стены инфраструктуры, спектр ускорителей, GPU и TPU, стена памяти, HBM, модель Roofline, тензорные ядра, энергетическая стена, выбор ускорителя, узел, иерархия пропускной способности, стойка, под, складской вычислитель, технологии, сдвигающие стены (CXL, движок на всю пластину, продвинутая упаковка, оптическая коммутация), заблуждения и ловушки, итоги.

Значения {python}: все 127 блоков и 434 встроенных значения выполнены локально (mlsysim из репозитория), значения подставлены по выводу; ошибок нет.

Не перенесено:

  • тесты к главе (compute_infrastructure_quizzes.json) и карта концепций (compute_infrastructure_concepts.yml): это функции онлайн-версии;
  • скрытые ячейки кода (#| echo: false): код выполнен, в книгу попадают результаты и рисунки;
  • элементы только для LaTeX без рисунков;
  • неиспользуемые файлы папки: девять SVG без ссылок в тексте, _cover_networking.png, печатные обложки, CSV с данными.

Рисунки главы 2

  • TikZ (девять рисунков): собраны заново с русскими подписями (pdfLaTeX, кириллица WNCYSS в кодировке OT2, латинские слова через \lat{}). Файлы: images/02_compute_infrastructure/svg/tikz_t01.svg … tikz_t09.svg.
  • Графики matplotlib (пять рисунков): код главы выполнен заново, подписи переведены: рост вычислений, стена эффективности, уровни памяти, расхождение вычислений и памяти, ландшафт Roofline. Данные и оформление не менялись.
  • Векторные рисунки с текстом в контурах (поля margin_001–003 и разрыв CXL): нарисованы заново в matplotlib, текст сохранен как контуры. Размеры и цвета взяты из исходника, геометрия измерена по превью, поэтому координаты немного отличаются.
  • Декодирующий Roofline (compute_infrastructure_decode_roofline.svg) не содержит текста и перенесен без изменений.
  • Обложка главы: переписаны пять выносок (HBM, «лоток», «стойка», «ускоритель», «охлаждение»), остальная иллюстрация не менялась.

Решения по переводу главы 2

  • Термины: стена памяти, сетевая стена, энергетическая стена, стена надежности, налог на универсальность, складской вычислитель (WSC), движок на всю пластину (WSE), тензорное ядро, систолический массив, точка перехода (ridge point), модель Roofline, тайлинг, слияние ядер (kernel fusion), баланс конвейера, шардинг, выгрузка, контрольные точки, пузыри конвейера, серый отказ (gray failure), варп.
  • Приложения: «Основы коммуникации», «От D·A·M к C³» (раздел «Сводка диагностики»), «Основы парка», «Основы надежности». Главы, которые еще не переведены («Распределенное обучение», «Отказоустойчивость», «Инженерия производительности», «Хранение данных», «Сетевые ткани», «Коллективная коммуникация», «Устойчивый ИИ», «Эксплуатация в масштабе»), упомянуты обычным текстом с названием на русском.
  • Названия технологий и библиотек оставлены по-английски: NVLink, InfiniBand, RDMA, GPUDirect, PCIe, CXL, HBM, SRAM, FlashAttention, NCCL, ZeRO, FSDP, MFU и др.
  • Ссылки на литературу оформлены как (Автор, год) с оригинальными фамилиями; в список литературы добавлены 17 записей этой главы.
  • Внутренние ссылки главы указывают на якоря внутри файла; подписи рисунков и таблиц приведены к строчным якорям (fig-, tbl-, sec-).

Особенности исходника главы 2, оставленные как есть

  • В таблице HBM сказано, что B200 с 180 ГБ вмещает «55,2 процента» весов модели на 175B (350 ГБ в FP16). Это около 51 процента. Расхождение не исправлялось.
  • В разделе об оптической коммутации сказано, что перенастройка на «семь порядков медленнее» электрической пакетной коммутации. Но 10–30 мс против 10–100 нс — это 5–6 порядков. Переведено как в оригинале.

Проверки главы 2

Из корня репозитория:

  • python3 scripts/check_books.py: книга проходит проверку структуры.
  • python3 scripts/check_links.py books/scaling-ml-systems/src: 56 относительных ссылок, битых нет.
  • mdbook build books/scaling-ml-systems: сборка без ошибок; есть только предупреждение о версии mdbook-katex.
  • Внутренние якоря главы все существуют; сноски (14) определены и используются.
  • Проверка смешанных алфавитов и буквы «ё»: замечаний нет.
  • Рисунки TikZ проверены отображением в браузере (Chromium).

Книга в каталоге не закоммичена (директория не отслеживается git).

Глава 3 «Сетевые фабрики»: перевод (первая часть)

Исходник: books/vol2/03_network_fabrics/03_network_fabrics.qmd. Переведена первая часть главы: от заголовка до раздела «Уровень 1: провод и канал» (строки 1–1024 исходника). В нее входят разделы «Назначение», «Магистраль синхронизации», «Как сети ML переворачивают допущения дата-центров» с подразделом «Пятиуровневая модель» и «Уровень 1: провод и канал» с подразделами «Целостность сигнала и PAM4», «Дальность и среда для меди и оптики» и «SerDes, бюджет линии и мощность».

Вторая часть (от раздела «Уровень 2: транспорт и модель производительности» до конца раздела «Уровень 3: коммутаторы и топология») и третья (от раздела «Уровень 4: поведение фабрики» до итогов) пока не переведены. Ссылки в первой части на разделы этих частей оставлены обычным текстом.

Не перенесено:

  • тесты к главе (network_fabrics_quizzes.json) и карта концепций (network_fabrics_concepts.yml): это функции онлайн-версии;
  • скрытые ячейки кода (#| echo: false): код выполнен, в книгу попадают значения и рисунки; комментарии в этих ячейках не выводятся;
  • LaTeX-только элементы: \mlfleetstack на полях, \chapterminitoc, \newpage, \Needspace, метки \index{...}, печатная обложка;
  • файлы папки images/svg, на которые в этой части нет ссылок (например, bandwidth-hierarchy.svg и pam4-vs-nrz.svg: в исходнике эти рисунки построены из TikZ).

Значения {python}: все 27 значений первой части вычислены локально (mlsysim из репозитория, зависимости в отдельном окружении) и подставлены по выводу в русском написании (1 024 GPU, 350 ГБ, 9×, 10 млн долл.); ошибок нет.

Рисунки главы 3 (первая часть)

  • TikZ (четыре рисунка): собраны заново с русскими подписями (pdfLaTeX, кириллица WNCYSS в кодировке OT2, латинские слова через \lat{}, цвета и библиотеки из заголовка книги, обрезка по области рисунка). Файлы: images/03_network_fabrics/svg/tikz_t01.svg (пятиуровневая модель), tikz_t02.svg (иерархия пропускной способности), tikz_t03.svg (обрыв пропускной способности в шаге обучения), tikz_t04.svg (NRZ и PAM4).
  • График matplotlib «Историческая пропускная способность сети»: код главы выполнен заново, подписи переведены; названия технологий (Ethernet, InfiniBand, NVLink, PCIe) оставлены. Файл: png/network_bandwidth_scaling.png.
  • Веер узлов (svg/network_fabrics_gpu_fanout.svg): текста в нем нет, файл скопирован; размер увеличен scripts/scale_small_svgs.py.
  • Обложка главы (webp/cover_network_fabrics_blueprint_labeled.webp): пять выносок переписаны: канал (link), транспорт (transport), топология (topology), синхронизация (sync), перегрузка (congestion); остальная иллюстрация не менялась.
  • Таблицы: три таблицы (сетевые допущения ML, шаблоны трафика и метрики фабрики, среды передачи) переведены в таблицы mdBook; подписи стоят над таблицами.

Решения по переводу главы 3 (первая часть)

  • Термины: сетевая фабрика, магистраль синхронизации, градиентная шина, коммуникационная стена, стена памяти, обрыв пропускной способности, бисекционная пропускная способность, передписка, сечение, перегрузка сети, хвостовая задержка, инкаст, слоновые и мышиные потоки, многопутевая маршрутизация (ECMP), коммутатор, сетевая карта (NIC), трансивер, частота символов, бюджет линии, прямая коррекция ошибок (FEC), сериализатор/десериализатор (SerDes), пузырь конвейера. Имена технологий и алгоритмов оставлены по-английски: AllReduce, AllGather, AllToAll, NVLink, InfiniBand, RoCE, RDMA, GPUDirect, NRZ, PAM4, DCQCN, HPCC, PFC, DCTCP, fat-tree, Dragonfly, rail-оптимизированные топологии.
  • Заголовки врезок: «Цели обучения», «Перспектива: …», «Определение: …»; внутри определения — «Значение», «Отличие», «Типичная ошибка», как в главе 5.
  • Ссылки на литературу: (Автор, год); 10 записей добавлены в список литературы.
  • Ссылки на главы 1, 2 и 6 ведут на якоря переведенных разделов; ссылки на разделы второй и третьей частей и на приложения тома — обычным текстом.
  • Сноски переведены. Единицы: ГБ/с, Гбит/с, ТБ/с, TFLOP/s (как в главах 2 и 5), мс, нс; десятичная запятая; тысячные разряды пробелом; суммы в тексте — «долл.» (без \$).

Особенности исходника главы 3, оставленные как есть

  • В подписи рисунка «Иерархия пропускной способности» сказано, что InfiniBand вырос в 4 раза от V100 до B200, а надпись в плашке внизу того же рисунка (и столбцы) дают примерно в 8 раз. Перевод сохраняет обе формулировки без правки; сверить с первоисточником.

Проверки главы 3 (первая часть)

  • scripts/check_books.py: все книги в порядке.
  • scripts/check_links.py books/scaling-ml-systems/src: 694 относительных ссылки, битых нет.
  • mdbook build books/scaling-ml-systems: код возврата 0. Ошибок KaTeX в главе 3 нет; предупреждения о батарее относятся к главам 11 и 15.
  • scripts/scale_small_svgs.py --check для папки рисунков главы 3: масштабирование выполнено, проверка проходит.
  • Рисунки TikZ просмотрены в превью: подписи укладываются в блоки; латинские слова (GPU, PCIe, NVLink, IB, AR, PAM4, NRZ, FEC, PHY, RS(544,514)) выведены через \lat{}.
  • Рисунок matplotlib: подписи осей, легенды и заголовок переведены, тысячные разряды отделены пробелом.

Глава 4 «Хранение данных»: перевод

Исходник: books/vol2/04_data_storage/04_data_storage.qmd. Текст переведен полностью: назначение, топливопровод, как рабочие нагрузки ML переворачивают допущения хранения, иерархия хранилищ (HBM, DRAM хоста, локальный NVMe, параллельная файловая система, объектное хранилище, архив), обрывы пропускной способности, уравнение конвейера данных, предвыборка и многопоточная загрузка, размещение данных и локальность, версионирование и семантика распределенных преобразований, GPUDirect Storage, экономика хранения и многоуровневое размещение, технологии, сдвигающие уровни, хранение для вывода, векторные индексы, контрольные точки (включая распределенную координацию и публикацию манифеста), синтетический топливопровод, заблуждения и ловушки, итоги.

Значения {python}: все 51 блок выполнен локально (mlsysim из репозитория), 408 встроенных значений подставлены по выводу; ошибок нет.

Не перенесено:

  • тесты к главе (data_storage_quizzes.json) и карта концепций (data_storage_concepts.yml): это функции онлайн-версии;
  • скрытые ячейки кода (#| echo: false): код выполнен, в книгу попадают результаты и рисунки;
  • LaTeX-только элементы: \mlfleetstack на полях, \Needspace, \newpage, \part, метки \index{...} (в тексте не выводятся);
  • неиспользуемые файлы папки: девять SVG (bandwidth-cliffs.svg, gds-path.svg и др.) без ссылок в тексте, печатные обложки, CSV с данными.

Ссылки на главы, которые еще не переведены (глава 3 «Сетевые ткани», глава 5 «Распределенное обучение», приложения тома), оставлены названиями без ссылок.

Рисунки главы 4

  • TikZ (шесть рисунков): собраны заново с русскими подписями (pdfLaTeX, кириллица WNCYSS в кодировке OT2, латинские слова через \lat{}, пакет amsmath для \text, обрезка по фактической области рисунка). Файлы: images/04_data_storage/svg/tikz_t01.svg … tikz_t06.svg.
  • Графики matplotlib (три рисунка): код главы выполнен заново, подписи переведены перехватом строк при выводе (названия GPU, годы и числовые метки оставлены как есть). Файлы: images/04_data_storage/png/fig-storage-compute-gap.png, fig-storage-compute-chasm.png, fig-data-stall-frontier.png.
  • Векторные рисунки с текстом в контурах (поля vol2_data_storage_margin_001–003 и столбцы data_storage_bandwidth_cliff, data_storage_checkpoint_dominance, data_storage_checkpoint_storm_write_time): нарисованы заново в matplotlib с русскими подписями; геометрия и цвета взяты из исходника.
  • Рисунок data_storage_dai_locator.svg содержит только буквы D, A, I (оси стека парка) и перенесен без изменений.
  • Обложка главы (cover_data_storage_blueprint_labeled.webp): пять выносок (ввод-вывод, иерархия, локальность, извлечение, контрольная точка) переписаны; остальная иллюстрация не менялась.

Решения по переводу главы 4

  • Термины: иерархия хранилищ, топливопровод, разрыв хранения и вычислений, пропасть между хранением и вычислениями, обрыв пропускной способности, стена ввода-вывода (I/O Wall), шквал контрольных точек, конвейер данных, предвыборка, шард и шардинг, эффект громового стада, рабочее множество, локальность, горячие и холодные данные, параллельная файловая система (PFS), объектное хранилище, холодный архив, развертывание модели, теплый кэш, теплые реплики, кэш ключей и значений (KV Cache), стена данных, коллапс модели, цепочка происхождения.
  • Имена технологий и библиотек оставлены по-английски: NVMe, HBM, DRAM, PCIe, CXL, NVLink, InfiniBand, RDMA, GPUDirect Storage, cuFile, Lustre, GPFS, WebDataset, TFRecord, Parquet, Mosaic Streaming, DiskANN, HNSW, DVC, lakeFS, Adam, ZeRO, FSDP, MFU.
  • Заголовки врезок: «Цели обучения», «Блокнот: …» (названия блокнотов переведены, без префикса), «Контрольные вопросы: …» (для чек-листа), «Заблуждение и ловушка», «Системный урок», «Системный вывод», «Случай из практики».
  • Ссылки на литературу: (Автор, год) с фамилиями из библиографии; 25 записей добавлены в список литературы (записи на языке оригинала, как и раньше).
  • Денежные суммы и единицы: $ сохранены, «тыс.» и «млн» в подписях, ГБ/ТБ/ПБ, мс, мкс.

Проверки главы 4

Из корня репозитория:

  • python3 scripts/check_books.py: книга проходит проверку структуры.
  • python3 scripts/check_links.py books/scaling-ml-systems/src: все относительные ссылки ведут на существующие файлы.
  • mdbook build books/scaling-ml-systems: сборка без ошибок.

Книга в каталоге не закоммичена (директория не отслеживается git).

Глава 5 «Распределенное обучение»: перевод (первая часть)

Исходник: books/vol2/05_distributed_training/05_distributed_training.qmd. Переведена первая часть главы: от начала до раздела «Эффективность масштабирования и сходимость». В нее входят разделы «Назначение», «Зачем нужно распределение», «Шаг распределенного обучения» и «Параллелизм по данным» с подразделами о реализации, разбиении данных, проходах вперед и назад, синхронизации градиентов, ZeRO и FSDP. Вторая часть главы (с раздела «Эффективность масштабирования и сходимость» до заключения) пока не переведена; ссылки на нее оставлены обычным текстом, ссылки на главы 6–7 и приложения тома — названиями без ссылок.

Не перенесено:

  • тесты к главе (distributed_training_quizzes.json) и карта концепций (distributed_training_concepts.yml): это функции онлайн-версии;
  • скрытые ячейки кода (#| echo: false): код выполнен, в книгу попадают результаты и рисунки; комментарии в этих ячейках в книге не выводятся;
  • LaTeX-только элементы: \mlfleetstack на полях, \newpage, \chapterminitoc, метки \index{...};
  • печатная обложка и неиспользуемые файлы папки.

Значения {python}: все 75 различных значений (из 105 вхождений) вычислены локально (mlsysim из репозитория, зависимости установлены в отдельном окружении), подставлены по выводу; ошибок нет.

Рисунки главы 5

  • TikZ (семь рисунков): собраны заново с русскими подписями (pdfLaTeX, кириллица WNCYSS в кодировке OT2, латинские слова через \lat{} шрифтом Helvetica в кодировке T1, обрезка по области рисунка). Файлы: images/05_distributed_training/svg/tikz_t01.svg … tikz_t07.svg.
  • График matplotlib «Стена памяти»: код главы выполнен заново, подписи переведены; названия GPU и моделей оставлены как в исходнике. Файл: images/05_distributed_training/png/fig-memory-wall-trend.png.
  • Векторные рисунки с текстом в контурах (поля vol2_distributed_training_margin_001 и _002): нарисованы заново в matplotlib с русскими подписями; геометрия и цвета измерены по исходнику.
  • Обложка главы (cover_distributed_training_blueprint_labeled.webp): пять выносок (параллелизм, разбиение, эффективность, синхронизация, сходимость) переписаны; остальная иллюстрация не менялась.

Решения по переводу главы 5

  • Термины: распределенное обучение, параллелизм по данным, тензорный и конвейерный параллелизм, параллелизм модели, гибридный параллелизм, шардинг, шард, реплика, воркер, батч, микробатч, пузырь конвейера, отстающий воркер (straggler), барьер, пакетно-синхронный параллелизм (BSP), синхронный параллелизм с ограниченным устареванием (SSP), асинхронный SGD (ASP), стена памяти, стена коммуникации, закон Амдала, критический размер батча, пересчет активаций (activation checkpointing), накопление градиентов, разогрев (warmup), соотношение коммуникации и вычислений, налог на коммуникацию.
  • Имена технологий и алгоритмов оставлены по-английски: AllReduce, ReduceScatter, AllGather, NCCL, NVLink, InfiniBand, RoCE, DDP, FSDP, ZeRO, Adam, DLRM, Megatron-LM, Horovod, PyTorch.
  • Заголовки врезок: «Цели обучения», «Определение: …», «Справка: …», «Контрольные вопросы: …», «Задача: …» (для примера с разбором), «Случай из практики: …»; у блокнотов заголовки переведены без префикса.
  • Ссылки на литературу: (Автор, год) с фамилиями из библиографии; 13 записей добавлены в список литературы. Фамилия в записи Horovod исправлена на «Del Balso» (в библиографии имя Mike Del Balso разобрано неверно).
  • Таблицы: подпись над таблицей; подписи рисунков: под рисунком, как в главе 2.

Книга в каталоге не закоммичена (директория не отслеживается git).

Глава 6 «Коллективные коммуникации»: перевод

Исходник: books/vol2/06_collective_communication/06_collective_communication.qmd. Переведена вся глава: назначение, модели стоимости α-β и LogP, примитивы коллективных операций (AllReduce, AllGather, ReduceScatter, AllToAll), алгоритмы AllReduce (кольцо, дерево, бабочка, двойное двоичное дерево), иерархическая коммуникация и SHARP, маршрутизация с учетом топологии, сжатие градиентов с коррекцией по ошибке, коммуникационные библиотеки (NCCL, MPI, Gloo), перекрытие коммуникации и вычислений, заблуждения и ловушки, итоги.

Значения {python}: 254 встроенных значения вычислены локально (mlsysim из репозитория, код главы выполнен без изменений) и переведены вручную: десятичная запятая, пробел как разделитель разрядов, единицы (ГБ, мс, мкс, пДж). Ошибок выполнения нет.

Ссылки: на главы 1, 2, 4 и 5 — настоящие ссылки. На главу 3, главы 7–17 и приложения книги — текстом: «раздел «…» главы «…»», приложение «Коммуникация» назван текстом.

Не перенесено:

  • тесты к главе (collective_communication_quizzes.json) и карта концепций (collective_communication_concepts.yml): это функции онлайн-версии;
  • скрытые ячейки кода (#| echo: false): код выполнен, в книгу попадают результаты и рисунки;
  • LaTeX-только элементы: \vspace в блоках, метки \index{...}, фрагменты {=latex};
  • неиспользуемые файлы папки (data/bandwidth_trends.csv использован для рисунка, остальное не нужно).

Рисунки главы 6

  • TikZ (семь рисунков): собраны заново с русскими подписями (pdfLaTeX, кириллица WNCYSS в кодировке OT2, латинские слова через \lat{} шрифтом Helvetica в кодировке T1, обрезка по области рисунка). Файлы: images/06_collective_communication/svg/tikz_t01.svg … tikz_t07.svg. Цвета SteelBlue, LightBlue, DarkGreen, CardBorder, CardFill, TextDark, TextMuted, CanvasBg, CanvasBorder в общем файле diagram.yml не определены; они добавлены при сборке: первые семь — из палитры главы 5, CanvasBg и CanvasBorder подобраны по палитре карточек.
  • Графики matplotlib (три рисунка): код главы выполнен заново, подписи переведены (шрифт DejaVu Sans, подписи осей и делений переведены). На рисунке «Временная шкала вычислений и коммуникации» подпись «Ограничено InfiniBand» вынесена на правое поле: в исходнике она лежала поверх полосы 512 GPU. Файлы: png/fig-compute-comm-timeline.png, png/fig-bandwidth-divergence.png, png/fig-allreduce-crossover.png.
  • Векторные рисунки с текстом в контурах (поля collective_communication_alpha_beta_dominance, collective_communication_comm_dominance, vol2_collective_communication_margin_002, _003, _004): нарисованы заново в matplotlib с русскими подписями; геометрия измерена по исходнику, стрелки в поле 004 приблизительные.
  • Без текста, оставлены как в исходнике: collective_communication_ring_tree_divergence и vol2_collective_communication_margin_001 (только кривые).
  • Обложка главы (cover_collective_communication_blueprint_labeled.webp): пять выносок (градиент, коллектив, перекрытие, топология, масштаб) переписаны по обычной иллюстрации; выноски-линии сохранены.

Решения по переводу главы 6

  • Термины: коллективная коммуникация, воркер, шард, реплика, группа процессов (Process Group), ранг, коммуникатор, отстающий воркер, барьер, пузырь конвейера, бисекционная пропускная способность, коэффициент подписки, гейтинг-сеть (gating network), бакет и слияние бакетов, хук градиента, коррекция по ошибке (error feedback), накопление остатков, разреживание, квантование, блочное квантование, тороидальная топология, маршрутизация, оптимизированная под рельсы (rail-optimized), внутрисетевая редукция, обнаружение топологии, маячные архетипы.
  • Имена технологий и алгоритмов оставлены по-английски: AllReduce, AllGather, ReduceScatter, AllToAll, Broadcast, Reduce, NCCL, MPI, Gloo, RCCL, oneCCL, SHARP, NVLink, NVSwitch, InfiniBand, RoCE, PCIe, RDMA, GPUDirect, DDP, FSDP, ZeRO, DLRM, MoE, LogP, Tutel, SGD, Adam, 1-bit Adam, BF16, FP8/FP4, TPU, XLA.
  • Заголовки врезок: «Определение: …», «Контрольные вопросы: …», «Задача: …» (пример с разбором), «Сценарий/Диагноз/Системный урок», «Контекст/Механизм/Последствия/Исправление» (кейс), «Заблуждение и ловушка» с подписями «Заблуждение» и «Ловушка». Заголовки блокнотов переведены без префикса.
  • Ссылки на литературу: (Автор, год) с фамилиями из библиографии; 14 записей добавлены в список литературы. Фамилия Del Balso сохранена в записи Horovod как в библиографии: «Sergeev and Del Balso, 2018».
  • Названия принципов, на которые ссылается текст: «Компромисс пропускной способности и задержки (модель α-β)», «Закон парка (закон времени распределенного шага)», «Теорема о бисекционной пропускной способности». Сами принципы в русской книге пока не переведены.
  • Название приложения «Communication» переведено как «Коммуникация»; разделы приложения названы текстом.

Известные особенности исходника главы 6, оставленные как есть

  • В ловушке «Использовать кольцевой AllReduce по умолчанию» штраф дерева по пропускной способности назван 1 000 мкс, а в примере выше той же главы (1-МБ буфер на 64 GPU) — 1 200 мкс. Оставлено как в исходнике.
  • Значение времени AllReduce для Llama 70B (1 200,8 мс) вычисляется кодом; комментарий в коде главы называет другое число (около 929 мс). В книге использовано вычисленное значение.
  • Конвейерный пузырь: формула «не менее (p−1)/(p−1+m)» и порог в 20 процентов взяты из исходника без изменений.
  • Авторские имена в сносках и библиографии оставлены в оригинальной записи.

Проверки главы 6

  • check_books.py: в порядке.
  • check_links.py по каталогу src: 120 относительных ссылок, битых нет.
  • Проверка якорей (<a id>): 214 внутренних ссылок, ни одна не указывает на отсутствующий якорь (включая ссылки на главы 1 и 5).
  • Сборка mdbook build: код возврата 0, ошибок KaTeX нет (только предупреждение о версии mdbook-katex).
  • Смешанная латиница и кириллица в словах: не найдено. Буква «ё» не используется.
  • Все пары «автор, год» в тексте главы имеются в списке литературы.

Глава 7 «Отказоустойчивость»: перевод

Исходник: books/vol2/07_fault_tolerance/07_fault_tolerance.qmd. Переведена вся глава: назначение, раздел «Анализ отказов в масштабе» (математика неизбежного отказа, оптимальные контрольные точки по Янгу–Дэйли, количественный анализ надежности, разбор MTBF кластера), таксономия аппаратных и программных отказов с тихим повреждением данных, проверка и верификация, инструменты инъекции неисправностей, контрольные точки, обнаружение отказов и восстановление, эластичное восстановление, отказоустойчивость обслуживания, постепенная деградация, распределенная отладка и наблюдаемость, разборы случаев, заблуждения и ловушки, итоги. В тексте сохранены все якоря и сноски исходника.

Значения {python}: вычислены локально по коду главы (mlsysim из репозитория) и переведены вручную: десятичная запятая, пробел как разделитель разрядов, единицы (ГБ, ТБ, мс, ч). Ошибок выполнения нет.

Ссылки: на главы 1 и 4 — настоящие ссылки; на приложения и на главы, которые пока не переведены, — текстом.

Рисунки главы 7

  • TikZ (двадцать три рисунка, tikz_t01–tikz_t23; вторая половина: tikz_t18–tikz_t23): собраны заново с русскими подписями (pdfLaTeX, кириллица WNCYSS в кодировке OT2, латинские слова через \lat{} шрифтом Helvetica, обрезка по области рисунка). Файлы: images/07_fault_tolerance/svg/tikz_t01.svg … tikz_t17.svg. Цвета mlsys* из приложений главы добавлены в сборку, потому что в общем diagram.yml они не определены.
  • Графики matplotlib (четыре рисунка): код главы выполнен заново, подписи переведены (шрифт DejaVu Sans): png/fig-reliability-gap.png, png/fig-cluster-scaling-trend.png, png/fig-published-failure-rates.png, png/fig-checkpoint-tradeoff.png. В исходном Markdown их изображений не было (они создаются при сборке), поэтому в перевод вставлены готовые файлы.
  • Векторные поля с текстом в контурах (fault_tolerance_mtbf_ladder, vol2_fault_tolerance_margin_002; во второй половине vol2_fault_tolerance_margin_004, fault_tolerance_detection_ladder, fault_tolerance_kv_live_state_ladder): нарисованы заново в matplotlib с русскими подписями; геометрия взята из исходника (полосы и подписи по измерениям исходного рисунка).
  • Без текста, оставлены как в исходнике (вторая половина): vol2_fault_tolerance_margin_003 (дерево отстающего ранга, подписей нет). Схема tikz_t19–tikz_t23, таблицы и листинги переведены без изменения структуры.
  • Без текста, оставлены как в исходнике: vol2_fault_tolerance_margin_001 (только кривые), фотографии intermittent_fault, intermittent_fault_dram и снимки SDC в jpg/.
  • Не переведен: png/permanent_fault.png (трехмерный график ошибки деления Pentium) содержит английские подписи. Генератора этого рисунка в репозитории нет, поэтому он остается на английском; его можно перерисовать, если появится исходный код.
  • Обложка главы (webp/cover_fault_tolerance_blueprint_labeled.webp): пять выносок (отказ, обнаружение, восстановление, контрольная точка, устойчивость) переписаны; остальная иллюстрация не менялась.

Решения по переводу главы 7

  • Термины: отказоустойчивость, отказ, неисправность, ошибка, переходная / перемежающаяся / постоянная неисправность, остановка при отказе (fail-stop), византийский отказ, тихое повреждение данных (SDC), скрытый отказ (gray failure), отстающий узел (straggler), радиус поражения, домен отказа, горячий и холодный резерв, контрольная точка, налог на контрольные точки, эластичное обучение, сигнал активности (heartbeat), предохранитель (circuit breaker), плавная деградация, наблюдаемость, парк, кривая ванны, электромиграция.

  • Ссылки на литературу: в тексте в виде (Автор, год), как в главах 5 и 6; 61 запись добавлена в список литературы, записи приведены на языке оригинала. Якорей для отдельных записей в списке литературы нет, поэтому ссылки не делаются.

  • Формулы и подписи в рисунках: = и + в тексте рисунков передаются через математический режим ($=$, $+$), потому что в шрифте OT2 они отображаются неверно; знак & заменен на «и».

  • Денежные суммы записаны с экранированием \$, как в главах 2 и 5.

  • Структурированный журнал JSON (листинг с lst-cap): ключи и служебные поля (timestamp, level, trace_id, gpu_id) оставлены как идентификаторы; значение сообщения переведено. Уровни журнала DEBUG–FATAL оставлены латиницей, как в обычных журналах.

  • Блоки content-visible when-format="pdf" и служебные \Needspace, \pagebreak исходника не переносятся: они относятся только к PDF.

  • Ссылка на главу 8 («Оркестрация парка») и на главу 10 («Вывод») оставлены текстом: глава 8 переведена позже главы 7, и ссылку на нее можно заменить ссылкой на файл. Ссылка на главу 10 идет через раздел «Масштабирование вывода».

  • Ссылка «Kleppmann, 2016» взята из поля года в references.bib (ключ записи содержит 2017); записи списка литературы добавлены в исходном языке, как в главах 5 и 6.

  • Автор «Heisenbug» (Джим Грей, 1985) упоминается в сноске без записи в списке литературы: в references.bib ее нет.

Проверки главы 7

  • check_books.py: книга в порядке (статус-строка уложена в 70 знаков).
  • check_links.py по каталогу src: 271 относительная ссылка, битых нет.
  • Проверка якорей (<a id> и {#…}) по всем ссылкам книги: недостающих нет.
  • Сноски главы: 37 ссылок и 37 определений, без непарных.
  • Сборка mdbook build: код возврата 0; ошибок KaTeX в журнале нет, есть только предупреждение о версии mdbook-katex.
  • Смешанная латиница и кириллица в словах: не найдено. Буква «ё» не используется.

Глава 8 «Оркестрация парка»: перевод

Исходник: books/vol2/08_fleet_orchestration/08_fleet_orchestration.qmd. Переведена вся глава: назначение, проблема планирования, распределенная сложность, частота отказов в масштабе, цели планирования и их конфликты, упаковка и фрагментация, gang-планирование, взаимные блокировки и инверсия приоритетов, парадигмы Slurm и Kubernetes, иерархия топологии и алгоритмы размещения, рельсо-оптимизированное планирование, обнаружение топологии, эластичное планирование, оптимизация стоимости, специализированные планировщики (Tiresias, Gandiva, Themis, Pollux), управление ресурсами обслуживания, граница между обучением и обслуживанием, многоарендность и квоты, отладка загрузки кластера, заблуждения и ловушки, итоги. В тексте сохранены все якоря и сноски исходника.

Значения {python}: вычислены локально по коду главы (mlsysim из репозитория) и подставлены вручную: десятичная запятая, пробел как разделитель разрядов, \$ для денежных сумм. Ошибок выполнения нет. Ячейки кода в книгу не выводятся, как и в остальных главах.

Ссылки: на главы 1, 5, 6, 7 и 9 — настоящие ссылки. На главу о сетевых структурах (глава 3), раздел «Масштабирование вывода» (глава 10), главу «Эксплуатация ML-систем в масштабе» (глава 12) и принцип «Смещение накладных расходов» из части о принципах распределенного ML — текстом, так как эти разделы пока не переведены.

Рисунки главы 8

  • TikZ (одиннадцать рисунков, tikz_t01–tikz_t11): собраны заново с русскими подписями тем же способом, что в главе 7 (pdfLaTeX, кириллица WNCYSS в кодировке OT2, латинские слова через \lat{}, обрезка по области рисунка). Рисунки первой части — tikz_t01–tikz_t06; второй части — tikz_t07 (конечный автомат эластичных воркеров), tikz_t08 (кривая эффективности масштабирования), tikz_t09 (уровни облачной емкости), tikz_t10 (замкнутое управление автомасштабированием вывода), tikz_t11 (суточный сдвиг емкости GPU).
  • Графики matplotlib (четыре рисунка): png/fragmentation_problem.png и png/topology_placement.png (первая часть), png/cost_idle_gpus.png (стоимость простаивающих GPU) и png/utilization_paradox.png (парадокс загрузки). Данные взяты из кода главы и нарисованы заново с русскими подписями (шрифт DejaVu Sans).
  • Векторные поля с текстом, нарисованы заново: svg/fleet_orchestration_bw_hierarchy.svg, svg/fleet_orchestration_dependency_cascade.svg и svg/vol2_fleet_orchestration_margin_001.svg (первая часть); svg/vol2_fleet_orchestration_margin_003.svg (спрос, емкость и разрыв SLO), svg/vol2_fleet_orchestration_margin_004.svg (выделенная, активная и продуктивная загрузка) и svg/fleet_orchestration_sharing_fill.svg (совместное и эксклюзивное размещение). Во всех трех файлах геометрия, цвета и значения сохранены: английские контуры подписей удалены и заменены русскими контурами в той же системе координат.
  • Без текста, скопированы как есть: svg/fleet_orchestration_util_knee.svg (первая часть), svg/vol2_fleet_orchestration_margin_002.svg (кривая эластичного масштабирования) и svg/fleet_orchestration_preempt_cascade.svg (каскад вытеснения).
  • Обложка главы (webp/cover_fleet_orchestration_blueprint_labeled.webp): пять выносок (очередь, планирование, изоляция, размещение, восстановление) переписаны поверх той же иллюстрации.
  • Алгоритм «Размещение с учетом топологии»: переведен как блок text, как алгоритм кольцевого AllReduce в главе 6; комментарии переведены.
  • Листинги: комментарии переведены в листинге Kubernetes (yaml, первая часть) и в команде torchrun (bash, вторая часть); ключи, флаги и значения оставлены.

Решения по переводу главы 8

  • Термины (первая часть): планировщик, парк, gang-планирование, упаковка (bin packing), фрагментация, бэкфилл-планирование, дефрагментация, переподписка (over-subscription), взаимная блокировка удержания и ожидания (hold-and-wait), инверсия приоритетов, целостное вытеснение (holistic preemption), ресурс на основе аренды (lease-based resource), мониторинг прогресса, плоскость управления, контроль допуска, размещение, цикл согласования, справедливость по доминирующему ресурсу (DRF), замедление (slowdown), коэффициент вариации, группа размещения (Placement Group), маячные архетипы, отслеживаемые ресурсы (TRES).
  • Термины (вторая часть): воркер, рандеву (rendezvous), эластичное обучение, spot-инстанс, прерываемая виртуальная машина (Preemptible VM), полезная пропускная способность (goodput), налог на вытеснение (Preemption Tax), бюджет вытеснения (Preemption Budget), каскад вытеснения (Preemption Cascade), накопление квот (Hoarding Problem), минимально жизнеспособный масштаб (Minimum Viable Scale), двухуровневое сохранение контрольных точек (Two-Tier Checkpointing), холодный старт (Cold Start), гистерезис (Hysteresis), трешинг (thrashing), KV-кэш, страничный KV-кэш (Paged KV cache), «шумный сосед» (noisy neighbor), зона опасности (Danger Zone).
  • Названия глав, на которые даны ссылки текстом: глава 12 в оригинале называется «ML Operations at Scale», в переводе — «Эксплуатация ML-систем в масштабе»; при переводе главы 12 это название нужно сохранить или согласовать. Глава 9 — «Инженерия производительности» (Performance Engineering).
  • Ссылки на литературу: в тексте в виде (Автор, год). В первой части в список литературы добавлено 10 записей (Burns et al., Cloud Native Computing Foundation, Ghodsi et al., Gu et al., Hindman et al., Lifka, NVIDIA Corporation, Ousterhout, Tiwari et al., Yoo et al.). Во второй части добавлено 7 записей: Jeon et al. (2019), Li et al. (2023), Mahajan et al. (2020), Qiao et al. (2021), Sigler (2021), Xiao et al. (2018) и документация NVIDIA CUDA Multi-Process Service (NVIDIA, 2026). Записи приведены на языке оригинала.
  • Подписи формул: \text{Приоритет}_{\text{эфф}} и \text{Стоимость}_{\text{локальности}} переведены (первая часть); имена переменных F_target, F_actual сохранены.
  • Латинские слова в рисунках через \lat{}; = и + в тексте рисунков через математический режим ($=$, $+$); денежный знак в рисунках через математический режим ($\$$), так как в шрифте OT2 его нет; & заменен на «и».
  • Особенности исходника, оставленные как есть:
    • В первой части в рисунке «Размещение без учета топологии и с учетом топологии» ускорение в подписи и на полосе указано как 4×, а в таблице под ним как 4,2×.
    • Во второй части текст говорит, что линейное масштабирование идет до 512 GPU, а сублинейное — от 512 до 1 024; на рисунке кривой граница линейной и сублинейной зон стоит на 256 GPU. Текст переведен как есть, рисунок тоже воспроизведен по исходнику.
    • В исходнике есть две врезки с названием «The limping switch»: пример в первой части и военная история «The limping switch (2021)» во второй. В переводе они различаются заголовками «Хромающий коммутатор» и «Случай из практики: хромающий коммутатор (2021)».
    • В разделе о заблуждениях пример «Spot-инстансы всегда дешевле» дает экономию 52 % для скидки 65 % при 45 минутах потерь на каждые 2 часа продуктивной работы; расчет проверен и совпадает.

Проверки главы 8

  • check_books.py: книга в порядке.
  • check_links.py по каталогу src: 313 относительных ссылок, битых нет. Якоря ссылок внутри главы 8 и на главы 1, 5, 6 и 7 проверены отдельно: недостающих нет.
  • mdbook build books/scaling-ml-systems (результат в каталог вне репозитория): сборка без ошибок.
  • Все 25 путей к изображениям главы существуют. Ни одного оставшегося маркера исходника (\index, @sec-, \ref{}, {python}, {=latex}, {#…}) в тексте нет. Число знаков $ четное во всех строках.
  • Английский текст оставлен в двух местах намеренно: название продукта «AWS Spot Placement Score» и «tragedy of the commons» в скобках при переводе «трагедии общин».

Глава 9 «Инженерия производительности»: перевод

Исходник: books/vol2/09_performance_engineering/09_performance_engineering.qmd. Переведена вся глава: назначение, цели обучения, стена памяти и диагностика по Roofline, режимы обслуживания (размер батча, предзаполнение и декодирование), слияние операторов и инженерия ядер (проблема запуска, категории слияния, CUDA-графы, FlashAttention), инженерия точности (блочное квантование, посттренировочное квантование и обучение с учетом квантования, квантование только весов и весов с активациями, дивиденд точности), компиляция графов (конвейер, torch.compile, XLA, TensorRT, накладные расходы, режимы, язык Triton, дивиденд компиляции), алгоритмические преобразования (спекулятивное декодирование, смесь экспертов), перекрытие коммуникации и вычислений (CUDA-потоки, налог на перекрытие), системное профилирование (иерархия, метрики, Roofline для диагностики, PyTorch Profiler, Nsight Systems, типичные шаблоны, детектив профилирования, цикл обратной связи, пример регрессии из Cloudflare), измерения в масштабе (контракт измерения, генератор нагрузки, метрика эффективности парка, налог масштабирования, регрессии масштабирования, «геройский» запуск), руководство по оптимизации (кейс LLM на 70 млрд параметров в трех раундах), заблуждения и ловушки, итоги.

Значения {python}: в первой части 59 значений, во второй части 161 значение (по {python} в исходнике), все вычислены локально по коду главы (mlsysim из репозитория, ячейки выполнены по порядку в одном пространстве имен) и подставлены вручную: десятичная запятая, пробел как разделитель разрядов, \$ для денежных сумм, единицы в русской записи (ГБ, ТБ/с, ПБ, пДж, мкс, мс). Ошибок выполнения нет. Ячейки кода с {python} в книгу не выводятся, как и в остальных главах.

Листинги: четыре листинга Python (torch.compile, ядро Triton, потоки CUDA, PyTorch Profiler) и один псевдокод (спекулятивное декодирование) оставлены как код; переведены только комментарии и строка документации. Команда nsys profile (bash) не содержит комментариев и оставлена без изменений. Псевдокод переведен в текстовый блок с подписью «Алгоритм (псевдокод)».

Ссылки: на главу 2 (разделы «Вычислительная инфраструктура» и «Модель Roofline»), на главу 6 (разделы «Перекрытие коммуникации и вычислений» и «Кольцевой AllReduce») и на главу 8 — настоящие ссылки. На главу 5 (разделы «Тензорный параллелизм», «FP8 для распределенного обучения», «Эффективность масштабирования и сходимость»), на главу 10 («Инференс в масштабе» и его подраздел о спекулятивном декодировании) и на приложение о теории очередей — текстом, потому что эти части еще не переведены.

Рисунки главы 9

Первая часть (сохранена без изменений): TikZ tikz_t01–tikz_t04, png/shifting_roofline.png, векторные поля на полях iron_law_bars, margin_001, margin_002 и обложка.

Вторая часть:

  • TikZ (семь рисунков, tikz_t05–tikz_t11): слияние операторов до и после, тайлинг FlashAttention в иерархии памяти, блочное и квантование по тензору, конвейер компиляции глубокого обучения, процесс спекулятивного декодирования, иерархия профилирования, дерево решений руководства по оптимизации. Собраны заново тем же способом, что и в первой части: pdfLaTeX, кириллица WNCYSS (OT2), латинские названия через \lat{}, знаки «+» и «=» в математическом режиме, пробелы в {} там, где WNCYSS склеивает пары «тс» и «сх» (например, «Ис{}ходные»), обрезка по области рисунка с отступом 4 пт. В схеме конвейера компиляции код в блоках IR набран шрифтом Courier (T1), потому что \texttt в этой сборке рисуется растровыми глифами Computer Modern и не читается; в схеме спекулятивного декодирования надписи «Принять/Откл.» перенесены выше оси, чтобы не накладываться на «Время». В дереве решений имена методов AWQ и GPTQ в подписи квантования сокращены до «Квантование FP8/INT4», чтобы текст помещался в строку блока. Геометрия, цвета и структура исходных рисунков сохранены.
  • Графики matplotlib (png/flashattention_memory_savings.png, png/overlap_budget.png): код ячеек главы выполнен по порядку с заменой подписей на русские (строки в коде, без изменения данных); аннотации «экономии» в виде «4 096× экономии» и «32 768× экономии» сохраняют значения исходника. Шрифт DejaVu Sans для всех подписей. Исходные блоки с plt.show() не сохраняли рисунок при выполнении ячеек, поэтому их выполнили отдельно.
  • Векторные поля с текстом (нарисованы заново): svg/performance_engineering_flash_ladder.svg и svg/vol2_performance_engineering_margin_003.svg — исходные контурные глифы заменены текстом (геометрия столбцов и стрелок перенесена без изменений; подписи «Наивно: 35 ГБ», «Flash: 537 МБ», «лог. шкала», «INT4 + INT8: 971», «FP16: 407», «2,4×»). svg/vol2_performance_engineering_margin_004.svg — подписи заменены в самом файле (ядро, парк, налог синхр., высокая, ниже), заголовок и описание для доступности переведены.
  • Без текста, скопирован как есть: svg/performance_engineering_specdec_roofline.svg (силуэт Roofline без подписей).

Решения по переводу главы 9

  • Термины (вторая часть): слияние операторов, инженерия ядер, запуск ядра, накладные расходы запуска, CUDA-графы (воспроизведение графа), тайлинг, онлайн-softmax, варп, заполняемость (occupancy), выгрузка регистров (register spilling), поэлементные и редукционные операции, квантование по тензору и блочное квантование, выбросы признаков (outlier features), посттренировочное квантование (PTQ), обучение с учетом квантования (QAT), квантование только весов и весов с активациями, дивиденд точности, компиляция графов, разрыв графа (graph break), разбиение SM (SM partitioning), перекрытие коммуникации и вычислений, спекулятивное декодирование, смесь экспертов (MoE), маршрутизатор, параллелизм экспертов, отстающий узел (straggler), налог масштабирования, «геройский» запуск (hero run), скоординированное упущение (coordinated omission), контракт измерения, серый сбой (gray failure), эффект Гейзенберга, водяной матрас (waterbed), стена памяти, точка перегиба.
  • Имена методов и библиотек оставлены на английском: FlashAttention, CUDA Graphs, torch.compile, TorchDynamo, TorchInductor, AOTAutograd, XLA, GSPMD, TensorRT, Triton, cuBLAS, CUTLASS, NCCL, DDP, FSDP, LLM.int8(), GPTQ, AWQ, SmoothQuant, MLPerf, Nsight Systems, Nsight Compute, Ring Attention, Massive Multitask Language Understanding (MMLU).
  • Блоки из исходника: «Значение / Отличие / Типичная ошибка» (определение блочного квантования, MFU), «Заблуждение и ловушка» с метками «Заблуждение:» и «Ловушка:», «Сценарий / Диагноз / Системный урок» (Cloudflare и детектив профилирования), «Реакция» вместо «Fix» в кейсе Cloudflare, «Задача / Вычисления / Системный вывод» для расчетов.
  • Названия разделов кейса: «Раунд оптимизации 1: инженерия точности», «Раунд оптимизации 2: слияние операторов», «Раунд оптимизации 3: спекулятивное декодирование», «Уроки кейса».
  • Архетипы: «Архетип C (федеративный MobileNet)» — как в главе 5.
  • Контрольные вопросы в блоках «Контрольные вопросы: …» (как в первой части).
  • Особенности исходника, оставленные как есть:
    • Кейс оптимизации: числа TTFT, ITL, пропускной способности, доли GEMM и накладных расходов переданы в исходнике без расчета; в тексте они приведены как измерения.
    • Раунд 1: сокращение времени GEMM на 45 процентов в исходнике не выводится из четырехкратного сокращения трафика весов (указано как наблюдение трассы).
    • Раунд 2: сокращение трафика HBM внимания в 16 раз для фазы предзаполнения приведено без расчета.
    • Числа «65×» (сценарий трафика, 8K) и «3,1×» (спекулятивное декодирование) проверены по формулам исходника и совпадают.
    • Два поля \newpage и \mlfleetstack-подобных LaTeX-блока в переносе не участвуют (LaTeX-только, как в первой части).

Проверки главы 9

  • scripts/check_books.py: ok. scripts/check_links.py на src: 369 относительных ссылок, битых 0. Проверка якорей file.md#anchor на весь src: отсутствующих 0.
  • mdbook build (результат в каталог вне репозитория): код выхода 0, ошибок KaTeX нет.
  • Числа: каждое число из английского текста второй части (кроме десятичных разделителей) присутствует в русском тексте; разделители тысяч записаны пробелом (1 000, 10 000).
  • Смешение латиницы и кириллицы в одном слове: не найдено. Буква «ё» не используется. Десятичная точка в тексте сохранилась только в номере версии «Python 3.6».
  • В тексте не осталось маркеров исходника ({python}, @sec-, {#…}, :::, [[…]], references.md); ссылки на литературу — в скобках «(Автор, год)», список литературы дополнен пятнадцатью записями (references.md).

Глава 10 «Инференс в масштабе»: перевод

Исходник: books/vol2/10_inference/10_inference.qmd. Переведена вся глава (исходные строки 1–8275). Первая часть (от раздела «Назначение» до раздела «Измерения архитектуры обслуживания») переведена раньше; вторая часть (от H2 «Стратегии батчинга в масштабе» до «Итогов») переведена вместе с остальной главой.

Значения {python}: в главе 269 встроенных значений, все вычислены локально по коду главы (mlsysim из репозитория, ячейки выполнены по порядку в одном пространстве имен) и подставлены вручную: десятичная запятая, пробел как разделитель разрядов, \$ для денежных сумм, проценты с пробелом («40 %»). Скрытые ячейки Python (#| echo: false) в тексте не выводятся, кроме двух рисунков.

Листинги: в главе четыре показанных листинга на Python (квоты ресурсов, прерывание спотового инстанса, аварийный переход, маршрутизация с учетом стоимости) переведены: комментарии и сообщения об ошибках переведены, идентификаторы оставлены. Алгоритмы переведены как текстовые блоки в стиле главы 6; ASCII-схемы переведены в подписях и узлах.

Ссылки: внутренние ссылки главы указывают на якоря внутри файла. Ссылки на приложение о теории очередей и приложение о коммуникации, которые пока не переведены, оставлены обычным текстом. Нумерация принципов, примеров, уравнений и листингов не сохраняется: ссылки переведены как «см. раздел…», «пример …», «уравнение ниже».

Конструкции Quarto, которых нет в mdBook, убраны: column-margin (поля переведены как обычные рисунки и подписи), tbl-colwidths, lst-cap, lst-pos, fig-pos, \newpage (только для PDF) и offset в сносках.

Вопрос к исходнику: в разделе о групповом внимании с запросами (GQA) ссылка указывает на раздел главы 9 «Квантование только весов и квантование весов с активациями». Перевод сохраняет эту ссылку как есть; возможно, нужен другой раздел главы 9 (проверить в исходнике).

Рисунки главы 10

  • Обложка: исходная обложка без подписей с русскими подписями (маршрут, батч, кэш, шард, задержка) на месте английских выносок (часть 1).
  • SVG без текста, скопированы как есть: svg/inference_serving_cost_dominance.svg (единственный текст — CapEx и OpEx, определенные в тексте), svg/inference_batching_knee.svg, svg/vol2_inference_margin_003.svg, svg/vol2_inference_margin_004.svg.
  • SVG с текстом, подписи заменены: svg/inference_logic_wall_ladder.svg, svg/inference_kv_cache_ladder.svg, svg/inference_decode_roofline.svg, svg/inference_quantization_capacity_ladder.svg, svg/vol2_inference_margin_001.svg, svg/vol2_inference_margin_002.svg. Геометрия (полосы, стрелки, маркеры) сохранена; текст из контуров глифов заменен элементами <text> в стеке Helvetica/Arial с тем же базовым положением и размером. Подписи внутри полос центрированы по исходной подписи, длинные подписи уменьшены по ширине (измерено по Liberation Sans).
  • Графики matplotlib: png/serving_cost_curve.png, png/serving_cost_crossover.png (часть 1), png/gpu_memory_wall.png (рост пиковых вычислений и пропускной способности памяти по поколениям GPU) и png/kv_cache_wall.png (стена KV-кэша). Ячейки главы выполнены заново в одном пространстве имен, подписи переведены, шрифт DejaVu Sans, 200 dpi, как у первой части.
  • TikZ (svg/tikz_t01–tikz_t22): t01 и t02 (часть 1) и t03–t22 (вторая часть) собраны заново с русскими подписями: pdfLaTeX, кириллица WNCYSS (OT2), латинские слова через \lat{}, + и = в математическом режиме, лигатуры «тс» и «сх» разорваны пустой группой {}. Цвета берутся из блоков \providecolor главы и из общего header-includes.tex. Пустой блок \vspace (отступ в поле) не является рисунком и пропущен. Подписи, которые не помещались в карточки, сокращены; аннотации вида «Заголовок: текст» переведены полностью.

Решения по переводу главы 10

  • Термины: инференс, обслуживание, батчинг, шардирование, KV-кэш, предзаполнение и декодирование, фрагментированное предзаполнение (chunked prefill), разделенное обслуживание (disaggregated serving), липкая маршрутизация (sticky routing), налог на обслуживание, полезная пропускная способность (goodput), вытеснение (preemption), холодный старт, прогретый пул (warm pool), спотовый инстанс (spot), переборка (bulkhead), предохранитель (circuit breaker), обратное давление (backpressure), шумный сосед (noisy neighbor), выбор из двух (power of two choices), консистентное хеширование.
  • Имена систем, методов и показателей оставлены по-английски: vLLM, PagedAttention, Orca, DLRM, Sarathi-Serve, Punica, S-LoRA, Medusa, QuaRot, GPTQ, AWQ, SmoothQuant, Triton Inference Server, TensorRT-LLM, DeepSeek-V3, Mixtral, Llama, GPT-4, Redis, Milvus, Qdrant; аббревиатуры TTFT, TPOT, TBT, SLO, SLA, QPS, P99, MoE, LoRA, GQA, MHA, HBM, NVLink, PCIe, AllReduce, AllToAll.
  • Ссылки на литературу оформлены как (Автор, год). В список литературы добавлены одиннадцать записей: Ainslie (2023, GQA), Ashkboos (2024, QuaRot), Cai (2024, Medusa), Chen (2024, Punica), Karger (1997), Lewis (2020, RAG), Mitzenmacher (2001), Schaeffer (2023), Sheng (2024, S-LoRA), Touvron (2023, Llama 2), Wei (2022). Записи Agrawal, Frantar, Gupta, Hazelwood, Jiang, Kwon, Lin (AWQ), Naumov, Nygard, OpenAI, Shoeybi, Xiao, Yu и др. уже были.

Проверки главы 10

  • scripts/check_books.py: ok (все книги, включая scaling-ml-systems).
  • scripts/check_links.py books/scaling-ml-systems/src: 408 относительных ссылок, битых 0.
  • Якоря внутри файла: все ссылки (#…) указывают на существующие <a id>; отсутствующих нет. Все пути к изображениям существуют.
  • mdbook build books/scaling-ml-systems: выполнен без ошибок; ошибок KaTeX нет.
  • В переводе не осталось {python}, :::, {#…}, @-ссылок, \index, column-margin, tbl-colwidths и \newpage.

Глава 11 «Граничный интеллект»: перевод

Исходник: books/vol2/11_edge_intelligence/11_edge_intelligence.qmd. Переведена вся глава (исходные строки 1–5593): первая часть (от раздела «Назначение» до раздела «Ограничения проектирования») и вторая часть (от раздела «Адаптация модели» до «Итогов»: адаптация модели, эффективность данных, федеративное обучение, непрерывная адаптация, интеграция в продакшн, инженерные задачи, заблуждения и ловушки). Тесты к главе и карта концепций не переносились (см. выше).

Значения {python}: во второй части 69 встроенных значений (в главе всего 114 уникальных), все вычислены локально по коду главы (mlsysim из репозитория, четырнадцать скрытых ячеек выполнены по порядку в одном пространстве имен) без ошибок и подставлены вручную: десятичная запятая, пробел как разделитель разрядов, \$ для денежных сумм, проценты с пробелом («25 %»).

Листинги: четыре листинга второй части (адаптация только смещений, остаточный адаптер-«горлышко», избирательное обновление слоев, буфер воспроизведения) переведены, в коде переведены комментарии. Скрытые ячейки Python (#| echo: false) в текст не выводятся, кроме графика matplotlib «Компромисс коммуникации и вычислений в FL» (вторая часть), который выполнен заново с русскими подписями.

Ссылки: внутренние ссылки указывают на якоря внутри файла. Ссылки на главу 2 «Вычислительная инфраструктура» (раздел «Стена памяти»), на главу 13 «Безопасность и приватность» и на введение (архетип C) оставлены обычным текстом. Ссылки на литературу оформлены как (Автор, год), записи добавлены в список литературы (двадцать две для первой части и двадцать девять для второй).

Конструкции Quarto, которых нет в mdBook, убраны: column-margin (поля переведены как обычные рисунки с подписями), \mlfleetstack и \vspace (LaTeX-только), \chapterminitoc, \newpage, \index, tbl-colwidths, offset в сносках, атрибуты заголовков {#sec-…}.

Вопрос к исходнику: в библиографии ключ kwon2019 (TensorDIMM, Kwon и Rhu) имеет год 2018; в тексте ссылка дана по библиографии: (Kwon и Rhu, 2018). Запись ma2026challenges (Ma и Patterson, 2026) в библиографии без названия издания; в списке литературы приведена без него.

Рисунки главы 11

  • Обложка: исходная обложка без подписей с русскими подписями (устройство, ограничение, агрегация, приватность, обновление) на месте английских выносок. Фон под выносками взят из обложки без подписей; линии-выноски исходной обложки сохранены.
  • SVG с текстом, подписи заменены: svg/vol2_edge_intelligence_margin_001.svg, svg/edge_intelligence_bandwidth_ladder.svg, svg/edge_intelligence_device_memory_ladder.svg, а во второй части svg/vol2_edge_intelligence_margin_002.svg, svg/vol2_edge_intelligence_margin_003.svg, svg/vol2_edge_intelligence_margin_004.svg и svg/edge_intelligence_straggler_cutoff_strip.svg. Во второй части текст переведен в контуры глифов Liberation Sans, поэтому не зависит от шрифтов браузера. Геометрия, цвета и значения сохранены; английский текст из контуров глифов заменен элементами <text> в стеке Arial/Helvetica с тем же базовым положением. Длинные подписи уменьшены по ширине (измерено по Liberation Sans); подпись «Бюджет 300 МБ» сокращена относительно «Приложение 300 МБ», чтобы не уменьшать шрифт ниже трех четвертей.
  • TikZ (svg/tikz_t01–tikz_t03): t01 (перенос знаний), t02 (локальное, облачное и федеративное обучение) и t03 (предобучение и выборочное дообучение на устройстве) собраны заново с русскими подписями: pdfLaTeX, кириллица WNCYSS (OT2), латинские названия (ResNet, ViT, Whisper, LoRA, FedAvg, GPU, RAM, GDPR, HIPAA, MiniImageNet и др.) через \lat{}, цвета из books/shared/tex/header-includes.tex. В t02 буквы вкладок «A», «B», «C» заменены кириллическими «А», «Б», «В», потому что латинские буквы в WNCYSS выглядят как кириллические. Аббревиатуры GDPR, HIPAA и RTT оставлены, PII заменено на «ПДн» (персональные данные).
  • TikZ, вторая часть (svg/tikz_t04–tikz_t16): тринадцать схем собраны заново с русскими подписями тем же способом (pdfLaTeX, кириллица WNCYSS, латинские обозначения через \lat{}, цвета и макросы из books/shared/tex/header-includes.tex). Подписи, которые не помещались в карточки, сокращены; сжатия по ширине менее 0,78 не понадобились, кроме подписей «опоз.» и «стар.», которые сжаты до 0,67 и 0,57.
  • Графики matplotlib: png/npu_tops_scaling.png (рост TOPS мобильных NPU по годам), png/training_memory_amplifier.png (усиление памяти при обучении) и png/edge_inference_landscape.png и png/fl_communication_computation.png (вторая часть: компромисс коммуникации и вычислений) (ландшафт граничного инференса). Ячейки главы выполнены заново, подписи переведены через замену текста в объектах matplotlib, шрифт DejaVu Sans, 200 dpi. Названия продуктов и обозначения задач MLPerf Tiny (KWS, VWW, IC) оставлены без перевода.
  • Скриншот клавиатуры: png/ondevice_gboard_example.png (Gboard) скопирован без изменений. Интерфейс на скриншоте английский, перевести его можно только новым снимком экрана на русском.

Решения по переводу главы 11

  • Термины: граничный интеллект, обучение на устройстве, граничный инференс, федеративное обучение, федеративное усреднение (FedAvg), адаптация модели на устройстве, перенос знаний, кремниевый дивиденд, оппортунистическое планирование, стратегия выживания по пропускной способности, стена памяти, энергетическая стена, контрольные точки градиентов, обучение с учетом квантования (QAT), посттренировочное квантование (PTQ), обучение в смешанной точности, раздельные поэлементные свертки, отстающие клиенты, дрейф non-IID, архетип C, вычисления рядом с памятью, дифференциальная приватность, безопасная агрегация, адаптивная точность, разреженные обновления, вычислительные окна адаптации (допуск фоновой работы).
  • Имена систем, моделей и устройств оставлены по-английски: MobileNet, MobileNetV2, SqueezeNet, EfficientNet, ResNet, ViT, Whisper, LoRA, Gboard, Smart Compose, Syntiant Core 2, STM32N6, Jetson AGX Orin, Google Coral, Apple Neural Engine, Snapdragon, Hexagon, Pixel 8, A11 Bionic, A17 Pro, H100, TensorDIMM, MiniImageNet, MLPerf Tiny; аббревиатуры GDPR, HIPAA, PHI, TOPS, NPU, SRAM, KWS, VWW, IC, RTT, OOM, SoC, FedAvg, MLPerf.
  • Подписи таблиц и рисунков: «Рисунок», «таблица» в ссылках, «Контрольные вопросы: …» для проверок, «Сценарий: …» для блокнота (Задача, Расчет, Системный вывод), «Перспектива: …», «Определение: …», «Цели обучения».

Проверки главы 11

  • scripts/check_books.py: ok (все книги, включая scaling-ml-systems).
  • scripts/check_links.py books/scaling-ml-systems/src: 421 относительная ссылка, битых 0.
  • Якоря внутри файла: двенадцать, все ссылки (#…) указывают на существующие <a id>.
  • Изображения: одиннадцать путей, все существуют.
  • Сноски: 21 ссылка и 21 определение.
  • mdbook build books/scaling-ml-systems: выполнен без ошибок; ошибок KaTeX нет (предупреждение о версии mdbook-katex, как и раньше).
  • В переводе не осталось {python}, :::, {#…}, @-ссылок, \index, column-margin, tbl-colwidths, \newpage, маркеров [MARGIN], [FIG], [CALLOUT], [TIKZ].

Глава 12 «Эксплуатация ML-систем в масштабе»: перевод (часть 1)

Исходник: books/vol2/12_ops_scale/12_ops_scale.qmd. Переведена первая часть главы: исходные строки 1–2490, от раздела «Назначение» до конца раздела «Управление состоянием и изменениями» (включая подраздел «Пример: экосистема моделей электронной коммерции»). Граница выбрана по смысловому шву: портфель, экономика и управление состоянием в первой части, конвейеры и эксплуатация во второй. Вторая часть (с раздела «CI/CD для ML в масштабе» до «Итогов») пока не переведена.

Текст переведен полностью: назначение, портфель и плоскость управления, проблема N моделей, экономика платформы и парка, загрузка как экономический инвариант, амортизация, энергоэффективность, время поставки мощностей, облачные мощности, методология планирования инфраструктуры, выбор площадки и сроки строительства, реестры моделей, управление ансамблями, жизненный цикл модели, схемы развертывания, зависимости между моделями. Врезки, таблицы, сноски (4), подписи и alt-тексты переведены.

Значения {python}: 39 скрытых ячеек выполнены локально по порядку в одном пространстве имен (mlsysim из репозитория); 239 встроенных значений первой части подставлены по выводу, ошибок нет.

Не перенесено:

  • тесты к главе (ops_scale_quizzes.json) и карта концепций (ops_scale_concepts.yml): это функции онлайн-версии;
  • скрытые ячейки кода (#| echo: false): код выполнен, в книгу попадают результаты и рисунки;
  • элементы только для LaTeX и pdf-только блоки (\index, \mlfleetstack, \newpage);
  • изображения папки, на которые нет ссылок в первой части (печатные обложки, ops_scale_tco_dominance, tco-build-vs-buy и др.);
  • ссылки на главы и приложения, которые еще не переведены (глава «Сетевые фабрики», раздел «Математика масштабирования распределенного обучения», приложения «Основы надежности», «Основы коммуникации», «От D·A·M к C³»), даны текстом с названиями на русском.

Рисунки главы 12 (часть 1)

  • TikZ (три рисунка): «Сравнение TCO: строить или покупать» (tikz_t01.svg), «Реестр моделей с учетом зависимостей» (tikz_t02.svg), «Экосистема моделей электронной коммерции» (tikz_t03.svg). Собраны заново с русскими подписями (pdfLaTeX, кириллица WNCYSS в кодировке OT2, латинские слова через \lat{}, знак доллара через \lat{\$}, обрезка по фактической области рисунка). Файлы: images/12_ops_scale/svg/tikz_t01.svg … tikz_t03.svg.
  • Графики matplotlib (два рисунка): «Взрыв сложности при N моделях» (png/n_models_complexity.png) и «Порог окупаемости платформы» (png/platform_roi_threshold.png). Код главы выполнен заново, подписи переведены перехватом строк при выводе. Шрифт — DejaVu Sans, данные и оформление не менялись.
  • Векторные рисунки с текстом в контурах (поле ops_scale_cross_model_blast.svg и поле vol2_ops_scale_margin_001.svg): текст перерисован как <text> в той же позиции. Подписи: «эмб.», «24 ч, пакет», «5 с, поток», «лог. шкала»; идентификаторы M1–M5 оставлены.
  • Обложка главы (cover_ops_scale_blueprint_labeled.webp): пять выносок переписаны (платформа, реестр, выкатка, инцидент, арендатор); остальная иллюстрация не менялась.
  • Таблицы являются текстом и рисунков не требуют.

Решения по переводу главы 12

  • Название главы: «Эксплуатация ML-систем в масштабе» (ранее принятое в этом документе название).
  • Термины: плоскость управления (Control Plane), портфель, проблема N моделей, операционная сложность, дивиденд совместного использования, статистическое мультиплексирование, радиус поражения, перекос между обучением и обслуживанием, хранилище признаков (Feature Store), технический долг, рутина (toil), клеевой код, экономика платформы / парка / нагрузки, TCO, CapEx, OpEx, «строить или покупать», загрузка как экономический инвариант, инфраструктурный ров, канареечная выкатка, теневое развертывание, дилемма универсала, зомби-модели, эффект громового стада, аллея мощности (Power Alley), фрикулинг, брауфилд, временная стоимость вычислений (Time Value of Compute), налог на контрольные точки.
  • Заголовки врезок: «Цели обучения», «Сценарий: …» (с Задача, Расчет, Системный вывод), «Пример: …» (с Сценарий, Диагноз, Системный урок), «Маячный архетип …» (с Контекст, Механизм, Последствия, Системный урок), «Перспектива: …», «Контрольные вопросы: …».
  • Ссылки на литературу: (Sculley et al., 2015; Amershi et al., 2019), (Bender et al., 2021), (Covington et al., 2016; Liu et al., 2022), (Steck et al., 2021; Gomez-Uribe и Hunt, 2015). В список литературы добавлены 7 записей этой главы (записи на языке оригинала, как и раньше).
  • Числа: десятичная запятая, пробел как разделитель разрядов, проценты в тексте «процент», в таблицах и подписях «%» с пробелом; $ для денежных сумм.
  • Амперсанд в исходнике (\&) переведен как «и».
  • Листинг YAML («схема записи реестра») оставлен без изменений: это конфигурация, ключи и значения которой не переводятся, комментариев в нем нет.

Особенности исходника главы 12, оставленные как есть

  • Расчет «в 15,8 раза» (раздел о энергоэффективности) сравнивает V100 в FP16 с H100 в FP8, а таблица использует разные точности для разных поколений. Расхождение не исправлялось.
  • В разделе о масштабировании облака называется стоимость электроэнергии 1,5 млн $ в год, а в таблице стека затрат для кластера из 1 024 GPU — около 615 000 $ в год только на электроэнергию при 1 МВт. Это разные конфигурации; соотнесение оставлено как в оригинале.

Проверки главы 12 (часть 1)

Из корня репозитория:

  • python3 scripts/check_books.py: проверка структуры книги.
  • python3 scripts/check_links.py books/scaling-ml-systems/src: проверка относительных ссылок.
  • mdbook build books/scaling-ml-systems: сборка.

Книга в каталоге не закоммичена (директория не отслеживается git).

Глава 12 «Эксплуатация ML-систем в масштабе»: перевод (вторая часть)

Исходник: books/vol2/12_ops_scale/12_ops_scale.qmd. Переведена вторая часть главы: исходные строки 2491–6474, от раздела «CI/CD для ML в масштабе» до «Итогов». Текст переведен полностью: конвейеры и ворота выпуска, поэтапная выкатка, многорегиональное развертывание, теневое развертывание и эксперименты, мониторинг в масштабе, платформенная инженерия, FinOps и модель TCO, хранилище признаков, качество данных, организационные паттерны, кейсы платформ, отладка и реагирование на инциденты, заблуждения и ловушки, итоги. Врезки, таблицы, сноски, подписи, листинги и рисунки переведены.

Значения {python}: все 61 скрытый блок выполнен по порядку в одном пространстве имен (от начала главы, потому что вычисления второй части используют переменные первой); встроенные значения второй части подставлены по выводу, ошибок нет.

Не перенесено: тесты к главе (ops_scale_quizzes.json) и карта концепций (ops_scale_concepts.yml); HTML-комментарий о вставке квизов в конце главы; скрытые ячейки (#| echo: false), код которых выполнен, а результаты и рисунки вставлены в текст.

Рисунки главы 12 (вторая часть)

  • TikZ (семь рисунков, svg/tikz_t04–tikz_t10): конвейер CI/CD, теневое развертывание, чередование против A/B, пирамида мониторинга, архитектура хранилища признаков, «путешествие во времени», организационные паттерны. Собраны заново с русскими подписями: pdfLaTeX, кириллица WNCYSS (OT2), латинские слова через \lat{}. При сборке найдены особенности OT2, учтенные в подписях: знаки «+» и «=» набраны в математическом режиме ($+$, $=$), пары букв «сх» и «тс» разорваны {}, амперсанд заменен на «и». Каждая схема просмотрена в PNG, подписи укорочены там, где переполняли рамки.
  • Графики matplotlib (один рисунок): «Айсберг TCO» (png/tco_iceberg.png). Код ячеек главы выполнен заново, подписи переведены перехватом строк при выводе; шрифт — DejaVu Sans.
  • Векторные рисунки с текстом в контурах (svg/ops_scale_canary_exposure_ladder.svg, vol2_ops_scale_margin_002.svg, vol2_ops_scale_margin_003.svg, vol2_ops_scale_margin_004.svg, svg/ops_scale_tco_dominance.svg): текст перерисован как <text> в тех же позициях. В двух случаях текст сдвинут внутри рамки, чтобы не выходить за границу; подписи «Сине-зел.», «5 дн.», «4 ч», «лог. шкала» укорочены.
  • Без текста, скопированы как есть: svg/vol2_ops_scale_margin_005.svg (один медленный ускоритель на барьере).
  • Подписи в таблицах: таблицы являются текстом, рисунков не требуют.

Решения по переводу главы 12 (вторая часть)

  • Термины: непрерывная интеграция (CI), непрерывное обучение (CT), непрерывное развертывание (CD); канареечная выкатка; сине-зеленое развертывание; теневое развертывание; чередование (interleaving); ворота выпуска; радиус поражения; липкая маршрутизация; закрепление версии; смешанное обслуживание версий; координатор; конечная согласованность; ограниченное отставание; поправка Бонферрони и Шидака; контроль FDR (процедура Бенджамини — Хохберга); последовательное тестирование; SUTVA; эффект новизны; ворота справедливости; ворота качества данных; перекос между обучением и обслуживанием; утечка данных; соединение на момент времени; рутина (toil); серый отказ (gray failure); шумный сосед; проторенная дорога (Paved Road); дивиденд совместного использования; информационный пузырь.
  • Перекрестные ссылки на другие главы и разделы даны текстом с названиями на русском: «Устойчивый ИИ», «Ответственный ИИ», «Безопасность и приватность», «Граничный интеллект», «Отказоустойчивость», «Хранение данных», «Введение», «Распределенное обучение», «Основы надежности» (приложение, не переведено).
  • Врезки: «Сценарий» (с Задача, Расчет, Системный вывод), «Пример» (с Сценарий, Диагноз, Системный урок), «Маячный архетип B» (с Контекст, Механизм, Последствия, Системный урок), «Случай из практики» (с Контекст, Механизм, Последствия, Исправление, Системный урок), «Определение», «Перспектива», «Контрольные вопросы», «Ключевые выводы», «Связь с главами».
  • Ссылки на литературу в тексте — в форме (Автор et al., год), как в первой части; корпоративные блоги: (Netflix Technology Blog, 2017), (Engineering at Meta, 2016), (Spotify Engineering, 2019). Года взяты из библиографии, где они отличаются от ключа: kohavi2008 — 2009, kleinberg2016inherent — 2017.
  • В список литературы добавлены 26 записей этой части (на языке оригинала, как и раньше). Заголовок списка обновлен: глава «Эксплуатация ML-систем в масштабе» и глава «Граничный интеллект» переведены полностью.
  • Листинги: комментарии, строки документации и сообщения в коде переведены, идентификаторы, ключи YAML и SQL оставлены. Конфигурация YAML («метрики и правила отката») сохранена с переведенными комментариями.
  • Числа: десятичная запятая, пробел как разделитель разрядов, \$ для денежных сумм, процент словом в тексте и знаком «%» в таблицах и подписях.

Особенности исходника главы 12 (вторая часть), оставленные как есть

  • В разделе о производительности ML в исходнике написано «bad put»; по смыслу это термин «badput» (непродуктивное время, потерянное на перезапуски, простои и отстающие узлы), в переводе использован «badput».
  • В библиографии запись caveness2020 содержит нестандартный список авторов («G. C., P. S.»), в списке литературы он оставлен как в исходнике.
  • Ключ kleinberg2016inherent указывает на 2016 год, а в библиографии год 2017 (ITCS 2017); в тексте и списке используется 2017.

Проверки главы 12 (вторая часть)

Из корня репозитория:

  • python3 scripts/check_books.py: проверка структуры книги, все книги ok.
  • python3 scripts/check_links.py books/scaling-ml-systems/src: проверено 463 относительных ссылки, битых нет.
  • mdbook build books/scaling-ml-systems: сборка без ошибок; есть только предупреждение о версии mdbook-katex (v0.5.3 при mdbook v0.5.4), ошибок KaTeX в страницах нет.

Книга в каталоге не закоммичена (директория не отслеживается git).

Глава 13 «Безопасность и приватность»: перевод (первая часть)

Переведена первая часть главы: от заголовка до раздела «Векторы атак, специфичные для моделей» (исходник books/vol2/13_security_privacy/13_security_privacy.qmd, строки 1–2086). Вторая часть (с раздела «Hardware-Level Security Vulnerabilities»: аппаратные уязвимости, защитные архитектуры, дифференциальная приватность, модель зрелости, заблуждения и итоги) пока не переведена.

Рисунки главы 13 (первая часть)

  • TikZ (восемь рисунков: поверхность атаки, Stuxnet, матрица приоритетов, жизненный цикл, кража модели, цикл отравления, граница решений, схема смягчения): подписи заменены по точному совпадению строк исходного кода TikZ, рисунки собраны заново (pdfLaTeX, кириллический шрифт WNCYSS, OT2). Латинские слова и аббревиатуры набраны через \lat{}. Шрифт по умолчанию переведен на WNCYSS, чтобы в узлах не появлялись растровые шрифты Type 3 (блоки вместо букв).
  • График matplotlib (накопленное число работ по состязательному ML на arXiv): код исходника выполнен заново, подписи русские, шрифт DejaVu Sans.
  • Векторные рисунки на полях (поверхность атаки по четырем слоям и лестница утечки выходов): текст перерисован как <text> с теми же координатами и цветом; там, где русский текст шире английского, он сжат по ширине (textLength); одна подпись сокращена до «1000 оценок».
  • Фото знаков «Стоп» с наклейками: изображение без изменений, подпись переведена.
  • Обложка: пять выносок заменены русскими словами (угроза, граница, приватность, анклав, аудит); фон под выносками восстановлен по версии без выносок.

Решения по переводу главы 13

  • Сноска [^fn-gdpr-privacy-regulation] определена в исходнике на строке 2131, то есть во второй части. Она перенесена в первую часть; при переводе второй части ее нельзя повторять.
  • Ссылки на разделы второй части, на главу 14 («Надежный ИИ») и на приложение «Основы парка» оставлены текстом, без ссылок.
  • Шорткоды margin-video (Jeep Cherokee, Mirai) заменены ссылками на видео.
  • Встроенные значения {python} (78 штук) вычислены локально; скрытые ячейки не переносятся, как и в главах 10–12.
  • \ding{51} в таблице «Стоимость кражи модели» заменен на ✓.
  • В одном абзаце с двумя формулами, где оба раза стоит \tilde, mdbook-katex выдавал предупреждение о незакрытом <span> внутри зачеркивания; абзац переформулирован так, чтобы смысл не менялся.

Особенности исходника главы 13, оставленные как есть

  • Первая цель обучения «Specify tested-accountant inputs …» похожа на искажение исходника (вероятно, «privacy accountant»). Переведена как «Задать входные параметры учетчика приватности (privacy accountant) …».
  • В тексте сказано, что среднеквадратичная ошибка может быть «вплоть до 10^{-4}», а в таблице указаны 5·10^{-4} и 7·10^{-4}; переведено по исходнику.

Проверки главы 13 (первая часть)

  • python3 scripts/check_books.py: все книги ok, включая scaling-ml-systems.
  • python3 scripts/check_links.py books/scaling-ml-systems/src: проверено 478 относительных ссылок, битых нет.
  • mdbook build books/scaling-ml-systems: сборка без ошибок; есть только предупреждение о версии mdbook-katex.
  • Сноски: 25 определений и 25 ссылок, расхождений нет. Якоря таблиц, рисунков, уравнений и разделов совпадают со ссылками внутри главы.
  • Список литературы: добавлено 39 записей (всего 345). Ключи взяты из books/references.bib; годы по bib (например, kurakin2018 дан как 2017).
  • Файлы не закоммичены.

Глава 13 «Безопасность и приватность»: вторая часть

Вторая часть главы (с раздела «Аппаратные уязвимости» до «Итогов») переведена в тот же файл src/13_security_privacy.md, что и первая часть. Исходник: books/vol2/13_security_privacy/13_security_privacy.qmd, строки 2087–5317.

Рисунки главы 13 (вторая часть)

  • TikZ (десять рисунков): svg/tikz_t09–tikz_t14 и tikz_t16–tikz_t19. Подписи заменены по точному совпадению строк исходного кода; латинские аббревиатуры и идентификаторы кода выведены через \lat{}, комментарии ассемблера в рисунке с переходом переведены. Сборка pdfLaTeX с OT2 WNCYSS, шрифты Type 3 отсутствуют. Номер tikz_15 не используется: это печатная версия поля, которую в HTML заменяет рисунок vol2_security_privacy_margin_002.
  • График matplotlib: png/privacy_utility_frontier.png — код исходника выполнен заново, подписи русские, шрифт DejaVu Sans (в шрифте по умолчанию из стиля книги нет кириллицы).
  • Векторные рисунки на полях: svg/vol2_security_privacy_margin_001.svg и _002.svg — текст перерисован как <text>, там где русский текст шире английского, он сжат по ширине; _003.svg перерисован заново (исходные подписи «10 releases» и «ε = 10» были контурами); _004.svg без текста, скопирован как есть.
  • Изображения без подписей на английском: png/stm32f_board.png (фото платы), png/adversarial_nibbler_example.png (сетка изображений) — без изменений; подписи переведены.
  • Осциллограммы (три рисунка): png/power_analysis_of_an_encryption_device_with_a_*.png — снимки экрана осциллографа Colin O’Flynn. Надписи внутри снимков («Data: 61», «Sending correct password») английские и не перерисовывались, потому что это растровые снимки без исходных данных; подписи под рисунками переведены.

Решения по переводу главы 13 (вторая часть)

  • Сноска [^fn-gdpr-privacy-regulation] определена в первой части и во второй не повторяется; все 64 сноски главы определены ровно один раз.
  • Ссылки на разделы первой части главы оформлены как ссылки. Ссылки на уже переведенные главы тома (введение, коллективные коммуникации, граничный интеллект) оформлены как ссылки на якоря соответствующих разделов. Ссылка на главу 14 «Надежный ИИ» оставлена текстом.
  • Шорткод видео «Power Attack» (Colin O’Flynn) оставлен с английским названием, как и в первой части.
  • Строка [TIKZ 15] в исходнике опущена: это печатная версия рисунка с задержками, которую в HTML заменяет рисунок vol2_security_privacy_margin_002.
  • Список литературы: добавлено 53 записи (всего 398), записи на языке оригинала.

Особенности исходника главы 13 (вторая часть), оставленные как есть

  • В разделе «Архитектурные ограничения EPC» сказано, что ResNet-50 с весами FP32 занимает 76,3 процента EPC. По указанным в тексте 102,4 МБ от 128 МБ получается около 80 процентов. Переведено по исходнику; проверьте.

Проверки главы 13 (вторая часть)

  • python3 scripts/check_books.py: все книги ok, включая scaling-ml-systems.
  • python3 scripts/check_links.py books/scaling-ml-systems/src: проверено 498 относительных ссылок, битых нет.
  • mdbook build books/scaling-ml-systems: сборка без ошибок; есть только предупреждение о версии mdbook-katex.
  • Сноски: 64 определения, каждое используется, повторов нет. Формулы: число разделителей $$ четное. Маркеры Quarto ([SEC], [FIG], [TIKZ] и другие) и @-ссылки в тексте не остались.
  • Файлы не закоммичены.

Глава 14 «Надежный ИИ»: перевод (первая часть)

Исходник: books/vol2/14_robust_ai/14_robust_ai.qmd, строки 1–1265: от заголовка до конца раздела «Единая схема надежного ИИ». Переведена первая часть главы: назначение и цели обучения, проблема тихого отказа, реальные сбои надежности (облачная инфраструктура, граничные устройства, встроенные системы и авиация), единая схема надежного ИИ (связи с предыдущими понятиями, производительность ML и надежность системы, три опоры, диагностика маскировки, общие принципы надежности, таксономия и матрица оценки, интеграция по конвейеру ML). Врезки, таблица, сноски, подписи и рисунки переведены. Вторая часть (с раздела «Изменения среды») и третья часть (с раздела «Атаки на уровне входов и устойчивость модели» до итогов) пока не переведены; ссылки на них оставлены текстом.

Не перенесено:

  • тесты к главе (robust_ai_quizzes.json) и карта концепций (robust_ai_concepts.yml): это функции онлайн-версии;
  • скрытые ячейки кода (#| echo: false): код выполнен, в книгу попадают результаты и рисунки; комментарии в этих ячейках не выводятся, как и в остальных главах;
  • LaTeX-только элементы: \chapterminitoc, \newpage, \mlfleetstack на полях, \tcbbreak, метки \index{...};
  • печатная обложка и неиспользуемые файлы папки.

Значения {python}: 15 различных значений (17 вхождений в первой части) вычислены локально (mlsysim из репозитория, ячейки выполнены по порядку в одном пространстве имен) и подставлены вручную: десятичная запятая, пробел как разделитель разрядов, единицы (ГБ, ГБ/с, %, «млрд параметров»). Ошибок выполнения нет.

Ссылки: на главы 5, 7, 10, 11, 12 и 13 — ссылки на файлы; на разделы второй и третьей частей и на раздел «Методы обнаружения» — текстом.

Рисунки главы 14 (первая часть)

  • TikZ (четыре рисунка, svg/tikz_t01–tikz_t04): схема тихого повреждения данных, каскад переворота бита в весах, схема трех опор, таксономия надежности. Собраны заново с русскими подписями (pdfLaTeX, кириллица WNCYSS в кодировке OT2, латинские слова через \lat{}, код и идентификаторы через Courier, обрезка по области рисунка). Комментарии в коде терминала переведены. Среднюю точку в заголовках заменил на $\cdot$: в OT2 она рисовалась растровым глифом Type 3. Пары «тс» и «сх» разбиты через {}, иначе WNCYSS рисует их лигатурами. Шрифтов Type 3 в PDF нет.
  • Графики matplotlib (два рисунка): png/adversarial_robustness_trend.png и png/silent_error_probability.png. Код ячеек выполнен заново, подписи переведены, шрифт DejaVu Sans (математический текст тоже в DejaVu Sans, иначе кириллица в формулах не выводится). Данные и оформление не менялись.
  • Векторное поле на полях: svg/vol2_robust_ai_margin_001.svg содержит только контуры без текста; скопировано без изменений. Подпись к нему переведена в тексте.
  • Обложка главы (webp/cover_robust_ai_blueprint_labeled.webp): пять выносок (сдвиг, дрейф, мониторинг, неопределенность, адаптация) переписаны поверх исходной иллюстрации, остальная картинка не менялась.
  • Фотографии jpg/tesla_example.jpg и png/nasa_example.png: без изменений; подписи переведены.

Решения по переводу главы 14 (первая часть)

  • Термины: надежный ИИ (Robust AI), режим тихого отказа, тихое повреждение данных (SDC), плавная деградация, запас надежности, запасная избыточность, эшелонированная защита (defense in depth), константа Липшица, маскировка, три опоры надежного ИИ, матрица оценки надежности, сдвиг меток, сдвиг концепта (дрейф концепта), сдвиг домена, ковариатный сдвиг, инженерия надежности.
  • Заголовки врезок: «Цели обучения», «Определение: надежный ИИ», «Случай из практики: …» (с полями «Контекст», «Механизм», «Последствия», «Исправление», «Системный урок»), «Сценарий: цена защиты» (с полями «Задача», «Расчет», «Системный вывод»), «Контрольные вопросы: диагностика сигнала отказа», «Перспектива» не используется.
  • Ссылки на литературу: (Автор, год) с фамилиями из библиографии. В список литературы добавлено 6 записей (Amazon Web Services, 2017; Federal Aviation Administration, 2015; Kasperkevic, 2015; Ma, Pei, Lausen, Karypis, 2025; NASA Mars Program Independent Assessment Team, 2000; National Transportation Safety Board, 2019). Записи dixit2021silent, dean2024mlsys и ntsb2017tesla уже были в списке.
  • Названия миссий и аппаратов (Mars Polar Lander, InSight), авторов и технологий (AllReduce, Autopilot, FSD, SECDED, Monte Carlo dropout, softmax) оставлены по-английски.
  • Единицы в примерах оставлены как в исходнике: мили в час в аварии Tesla, FP16/BF16/INT8 и т. д.

Проверки главы 14 (первая часть)

  • python3 scripts/check_books.py: все книги ok, включая scaling-ml-systems.
  • python3 scripts/check_links.py books/scaling-ml-systems/src: проверено 524 относительных ссылки, битых нет.
  • mdbook build books/scaling-ml-systems (результат в каталог вне репозитория): код возврата 0; ошибок KaTeX и предупреждений, кроме версии mdbook-katex, нет.
  • Сноски: 14 определений, каждое используется один раз. Якоря рисунков и таблицы совпадают со ссылками внутри главы.
  • Файлы не закоммичены.

Глава 14 «Надежный ИИ»: перевод (вторая часть)

Исходник: books/vol2/14_robust_ai/14_robust_ai.qmd, строки 1266–2253: от раздела «Изменения среды» до раздела «Атаки на уровне входов и устойчивость модели», который начинает третью часть. Переведена вторая часть: сдвиг распределения и дрейф концепта (технические категории, граница решений при сдвиге, врезка «Определение: дрейф концепта», сдвиг меток, ложные корреляции и групповая оптимизация), стратегии мониторинга и адаптации, количественное обнаружение дрейфа (PSI, дивергенция KL, проверка значимости, разбор модели обнаружения мошенничества, схема решений о переобучении), компетентность на уровне запроса и селективное предсказание, конечновыборочное покрытие с конформным предсказанием, надежность генеративного ИИ и врезка «Контрольные вопросы». Врезки, таблицы, сноски, подписи и рисунки переведены. Третья часть (с раздела «Атаки на уровне входов и устойчивость модели» до итогов) пока не переведена.

Ссылки: на главы 10, 11 и 13 — ссылки на файлы (глава «Инференс в масштабе», глава «Граничный интеллект», глава «Безопасность и приватность»); на разделы главы 12 «Эксплуатация ML-систем в масштабе» («Мониторинг в масштабе», «Обнаружение дрейфа») — текстом, поскольку глава 12 не переведена.

Значения {python}: 45 выражений второй части вычислены локально (mlsysim из репозитория, скрытые ячейки выполнены по порядку в одном пространстве имен, ошибок нет) и подставлены вручную: десятичная запятая, пробел как разделитель разрядов (1 000, 10 000), единицы (мс, процента).

Не перенесено: скрытые ячейки кода (#| echo: false) и комментарии в них, а также комментарии в исходниках TikZ: они не выводятся в книге, как и в первой части.

Рисунки главы 14 (вторая часть)

  • TikZ, два рисунка (svg/tikz_t05, tikz_t06): типы сдвига распределения (три панели) и граница решений при сдвиге распределения (две панели и банер архитектурных защит). Собраны заново с русскими подписями тем же способом, что в первой части (pdfLaTeX, кодировка OT2 с WNCYSS, латинские аббревиатуры PSI, LiDAR, Radar, OOD и ERM через \lat{}, идентификаторы через \code{}). Подписи легенды сокращены, позиции точек легенды раздвинуты, плашка «Природный сдвиг» уменьшена, чтобы не заходить на соседнюю панель. Шрифтов Type 3 в PDF нет.
  • График matplotlib (png/distribution_shift_detector.png): PSI за 52 недели с зонами стабильности, предупреждения и сильного сдвига. Код ячейки выполнен без изменений, подписи переведены, на оси Y десятичная запятая, шрифт DejaVu Sans. Данные и оформление не менялись.
  • Векторное поле на полях (svg/vol2_robust_ai_margin_002.svg): без текста, скопировано без изменений. Подпись и альтернативный текст переведены.

Решения по переводу главы 14 (вторая часть)

  • Термины: сдвиг распределения, ковариатный сдвиг, сдвиг меток, дрейф концепта, дрейф данных, ложная корреляция, групповая распределительно устойчивая оптимизация (Group DRO), калибровка, обнаружение входов вне распределения (OOD), селективное предсказание, кривая «риск — покрытие», конформное предсказание, маргинальное покрытие, обменяемость, шум извлечения, инъекция промпта, выходные ограничители, самосогласованность.
  • Врезки: «Сценарий: обнаружение реального сдвига распределения» (поля «Задача», «Расчет», «Системный вывод»); «Определение: дрейф концепта» (нумерованный список «Значимость», «Различие», «Частая ошибка»); «Контрольные вопросы: обнаружение дрейфа и решение о переобучении».
  • Ссылки на литературу: (Автор, год) и (Автор et al., год), как в первой части. В список литературы добавлено 8 записей: Berger и Zhou (2014), Guo et al. (2017), Hendrycks и Gimpel (2017), Lei et al. (2018), Lipton et al. (2018), Quiñonero-Candela et al. (2009), Shalev-Shwartz (2012), Widmer и Kubat (1996). Записи gama2014, kirkpatrick2017 и yurdakul2020 уже были в списке.
  • Исправление в первой части: 12 ссылок вида [@ключ] остались от исходника и выводились бы как текст; заменены на (Автор, год). Заголовок списка литературы теперь указывает «первые две части главы «Надежный ИИ»».

Проверки главы 14 (вторая часть)

  • python3 scripts/check_books.py: все книги ok.
  • python3 scripts/check_links.py books/scaling-ml-systems/src: 532 относительные ссылки, битых нет.
  • mdbook build books/scaling-ml-systems (результат вне репозитория): код возврата 0; ошибок KaTeX нет, есть только предупреждение о версии mdbook-katex.
  • Якоря: все 17 внутренних ссылок части ведут на существующие якоря; все изображения главы существуют; сноски: 15 определений, каждое используется ровно один раз; число $$ четное; маркеров Quarto и [@…] не осталось.
  • Файлы не закоммичены.

Глава 14 «Надежный ИИ»: перевод (третья часть)

Исходник: books/vol2/14_robust_ai/14_robust_ai.qmd, строки 2254–4022: от раздела «Атаки на уровне входов и устойчивость модели» до конца главы. Переведены: состязательные атаки (определение, категории и механизмы, FGSM, PGD, JSMA, C&W, EAD, переносимость, физические атаки, врезка «Атака на знак «Стоп»»), отравление данных (определение, этапы, категории, закладки, подгруппы, врезка «Архетип B»), случай из практики (защита творческих работ), защиты от состязательных атак (рабочий процесс, налог на устойчивость, сертифицированные защиты, методы обнаружения, стратегии защиты, оценка), защиты от отравления данных (контроль входа и аномалий, санитизация, робастные целевые функции, аугментация, самообучение), заблуждения и ловушки, итоги и связь с главами.

  • Схемы TikZ, svg/tikz_t07–tikz_t12: шесть схем собраны заново с русскими подписями: pdfLaTeX, кириллица WNCYSS (OT2), латинские обозначения через \lat{}, цвета и библиотеки из books/shared/tex/header-includes.tex и books/config/shared/base/diagram.yml. \rmdefault задан как wncyss: без этого \rmfamily выбирал растровый шрифт wnr (Type 3). Подписи, которые не помещались в карточки, сокращены.
  • Поля: svg/vol2_robust_ai_margin_003.svg (жизненный цикл отравления: «внедрение», «обучение», «срабатывание») перерисован: подписи выведены контурами Liberation Sans в тех же координатах. svg/vol2_robust_ai_margin_002.svg (веер суррогатной атаки) и svg/vol2_robust_ai_margin_004.svg (функция Хьюбера) не содержат текста и скопированы как есть.
  • Растровые рисунки: png/adversarial_googlenet.png (панда и гиббон), png/data_augmentation.png (варианты аугментации) и png/dirty_label_example.png (отравление с грязными метками) перерисованы наложением русских подписей на исходную картинку: подписи закрашены фоном и написаны тем же шрифтом (Liberation Sans) в тех же местах. Фотография png/graffiti.png скопирована как есть. Рисунок png/poisoning_example.png (сетка выходов Stable Diffusion XL, около 27 подписей) оставлен с английскими подписями: это растровое изображение без исходного кода, а подписи в нем слишком мелкие для надежной замены.
  • Исправление части 2: в репозитории файл svg/vol2_robust_ai_margin_002.svg был копией исходного robust_ai_psi_drift_knee.svg (кривая «клюшка» в разделе «Изменения среды»), а не одноименным рисунком главы. Файл переименован в robust_ai_psi_drift_knee.svg, ссылка в разделе «Изменения среды» обновлена; рисунок веера атаки из исходника (vol2_robust_ai_margin_002.svg) теперь скопирован под своим именем.
  • Значения {python}: девять значений вычислены по скрытым ячейкам главы и подставлены вручную: 76 %, 50 %, 26 процентных пунктов (разрыв); 0,999, 0,5 и 1,5 (рандомизированное сглаживание); 100×, 10 000× и 100× (масштаб функции Хьюбера).
  • Ссылки на литературу: [@ключ] и @ключ заменены на (Автор, год) и Автор (год) по references.bib; для двух авторов «и», для трех и более «et al.». Добавлено 18 записей в список литературы (на языке оригинала); записи, которые уже были в списке, не дублировались.
  • Ссылки на другие главы: на главы «Безопасность и приватность», «Отказоустойчивость» и «Эксплуатация ML-систем в масштабе» — ссылки на якоря (названия глав совпадают с оглавлением); на главы, которые еще не переведены (ответственный ИИ, устойчивое развитие ИИ), — текстом.
  • Термины: состязательная атака, состязательное возмущение, состязательное обучение, отравление данных, атака отравлением, отравление концепта, закладка (backdoor), дилемма двойного назначения, сертифицированная устойчивость, рандомизированное сглаживание, налог на устойчивость, сжатие признаков, спектральные сигнатуры, функции влияния, санитизация, самообучение, заблуждение и ловушка, архетип B.

Проверки: python3 scripts/check_books.py — все книги ok; python3 scripts/check_links.py books/scaling-ml-systems/src — 546 относительных ссылок, битых нет; mdbook build books/scaling-ml-systems (результат вне репозитория) — код возврата 0, ошибок KaTeX нет; маркеров Quarto и [@ не осталось. Файлы не закоммичены.

Глава 15 «Устойчивый ИИ»: перевод (первая часть)

Исходник: books/vol2/15_sustainable_ai/15_sustainable_ai.qmd, строки 1–1226: от заголовка до конца раздела «Энергетический потолок» (его подразделы «Масштаб воздействия на окружающую среду», «Экологическая справедливость и ответственная разработка», «Экспоненциальный рост и физические ограничения», «Энергетическая стена: расходящееся масштабирование», «Динамика энергосети дата-центра», «Концентрация энергии в масштабе обучения» и «Теоретические пределы эффективности как модель устойчивости» с подразделом «Принципы высокоэффективных вычислений»). Вторая часть (с раздела «Измерение энергии и моделирование») и третья часть (с раздела «Смягчение последствий» до итогов) пока не переведены.

Переведены: назначение и цели обучения, врезка «Определение: устойчивый ИИ», врезки «Сценарий» (углеродная цена обучения, география углерода), «Пример» (автоматическое размещение с учетом углерода), «Архетип A», «Случай из практики» (Ирландия, 2022), «Контрольные вопросы» (энергия интеллекта), 13 сносок, подписи и альтернативные тексты рисунков.

Значения {python}: 52 выражения вычислены локально (mlsysim из репозитория, скрытые ячейки выполнены по порядку в одном пространстве имен, ошибок нет) и подставлены: десятичная запятая, пробел как разделитель разрядов (1 287, 350 000), единицы (МВт·ч, ТВт·ч, кг CO₂/кВт·ч, пДж/FLOP).

Не перенесено: скрытые ячейки кода (#| echo: false) и комментарии в них, а также комментарии в исходниках TikZ: они не выводятся в книге, как и в предыдущих главах.

Рисунки главы 15 (первая часть)

  • Обложка (webp/cover_sustainable_ai_blueprint_labeled.webp): пять подписей заменены на русские («мощность», «охлаждение», «загрузка», «эффективность», «углерод»): исходная обложка восстановлена под каждой подписью, затем нарисованы новые плашки тем же цветом и стилем.
  • Поле (svg/vol2_sustainable_ai_margin_001.svg): подписи были выведены контурами, поэтому рисунок перерисован в matplotlib (контуры, svg.fonttype=path) по измеренной геометрии столбцов исходника: «Польша 8 200 т CO₂», «Квебек 200 т CO₂», «41×», «логарифмическая шкала».
  • TikZ, три схемы (svg/tikz_t01–tikz_t03): собраны заново с русскими подписями: pdfLaTeX, кириллица WNCYSS (OT2), латинские названия через \lat{}, «тс» и «сх» разделены {} (лигатуры WNCYSS). Шрифтов Type 3 в PDF нет.
    • tikz_t01: сценарии потребления дата-центров (ТВт·ч), карточки диапазона чувствительности;
    • tikz_t02: энергия обучения по моделям (лог. шкала, МВт·ч), «энергетическая стена»;
    • tikz_t03: каскад из шести мер (множители от 1,1× до 100×, итог около 10 000×).
  • matplotlib, три графика (png/ai_compute_growth, energy_wall_quantitative, model_scaling): код ячеек исходника выполнен без изменений, подписи переведены, шрифт DejaVu Sans (кириллица), десятичная запятая на осях. Данные и формулы не менялись.

Решения по переводу главы 15 (первая часть)

  • Термины: устойчивый ИИ (Sustainable AI), энергетический потолок, парадокс устойчивости, энергетическая стена, воплощенный углерод, эксплуатационный углерод, углеродоемкость, энергетическая буферизация, централизованное теплоснабжение, промышленное использование тепла, событийные вычисления, спайковые нейронные сети (SNN), разреженность, дистилляция, прореживание, квантование, закон Мура, масштабирование Деннарда.
  • Латиница оставлена там, где это принято: GPU, TPU, ASIC, CPU, LLM, PUE, TCO, Scope 3, AllReduce, названия моделей и продуктов (GPT-3, Llama-3, Intel Loihi, EirGrid), единицы FLOP, GFLOP/Дж.
  • Врезки: «Цели обучения», «Определение: устойчивый ИИ» (поля «Значимость», «Различие», «Распространенное заблуждение»), «Сценарий: …» (поля «Задача», «Расчет», «Системный вывод»), «Пример: …» (поля «Сценарий», «Диагностика», «Системный урок»), «Архетип A (GPT-4/Llama-3): энергетическая стена», «Случай из практики: …» (поля «Контекст», «Механизм», «Последствия», «Исправление», «Системный урок»), «Контрольные вопросы: энергия интеллекта».
  • Ссылки на литературу: (Автор, год) и (Автор et al., год) по references.bib; «van Wynsberghe» с частицей. В список литературы добавлено 16 записей (на языке оригинала); записи, которые уже были в списке (Sevilla, Kaplan), не дублировались.
  • Ссылка на приложение «Системные допущения» (сноска о pJ/FLOP) оставлена текстом: приложение не переведено.
  • Заголовок в alt-тексте: в исходнике у графика сценариев ЦОД alt-текст округлен до 3000 и 8000 TWh, а на рисунке 2 967 и 7 933 TWh; в русском alt-тексте использованы значения рисунка.

Проверки главы 15 (первая часть)

  • python3 scripts/check_books.py: все книги ok, включая scaling-ml-systems.
  • python3 scripts/check_links.py books/scaling-ml-systems/src: 555 относительных ссылок, битых нет.
  • mdbook build books/scaling-ml-systems (результат вне репозитория): код возврата 0; ошибок KaTeX нет, есть только предупреждение о версии mdbook-katex.
  • Якоря: все 8 внутренних ссылок главы ведут на существующие якоря; все 8 изображений существуют; сноски: 13 определений, каждое используется ровно один раз; {python}, [@…], ::: и {=latex} не осталось.
  • Файлы не закоммичены.

Глава 15 «Устойчивый ИИ»: перевод (вторая часть)

Исходник: books/vol2/15_sustainable_ai/15_sustainable_ai.qmd, строки 1227–5882: от раздела «Измерение энергии и моделирование» до раздела «Смягчение последствий». В части: измерение энергии (аппаратные счетчики, мобильные платформы, методика измерений на границе), «Расчет углеродного следа», «Энергия дата-центров и нагрузки ИИ», «Охлаждение», «Анализ энергии обучения и инференса» (декодирование, граничный ИИ, бюджеты мощности, TinyML, обучение на устройстве, каскадный инференс, федеративное обучение), «Вода, химикаты и критические материалы», «Жизненный цикл оборудования и электронные отходы».

Переведены: текст подразделов, врезки («Сценарий», «Перспектива», «Пример», «Определение», «Контрольные вопросы», «Случай из практики»), 11 таблиц, подписи, 14 сносок, ссылки на литературу и видимый блок кода lst-carbon-calculation. В блоке переведены комментарии и строки print; идентификаторы и логика не менялись.

Значения {python}: 211 различных выражений вычислены локально: все 47 ячеек главы выполнены по порядку в одном пространстве имен, ошибок выполнения нет. Значения подставлены по-русски: десятичная запятая, пробел как разделитель разрядов, единицы (Вт, кВт, МВт, ГВт·ч, пДж/байт, мкВт, мВт, Дж, ч, дн.); «percent» → «%», «~» → «около». Значения LaTeX-формул (_eq_math) переведены вручную, десятичные запятые записаны через {,}.

Не перенесено: скрытые ячейки кода (#| echo: false) и комментарии в исходниках TikZ: в книге они не выводятся, как и в предыдущих главах.

Рисунки главы 15 (вторая часть)

  • TikZ, 14 схем (svg/tikz_t04–tikz_t17): собраны заново с русскими подписями: pdfLaTeX, кириллица WNCYSS (OT2), латинские названия через \lat{}, «тс» и «сх» разделены {}, + в тексте записан как $+$, CO₂ в формулах через \mathrm. Шрифтов Type 3 в PDF нет. Схемы tikz_t12, tikz_t15 и tikz_t16 просмотрены визуально; исправлены переполнения и знаки «+».
  • matplotlib, 2 графика (png/ai_data_center_demand, png/energy_gap): код ячеек исходника выполнен без изменений, подписи переведены, шрифт DejaVu Sans (кириллица). Данные и формулы не менялись.
  • Статические SVG (svg/sustainable_ai_energy_per_byte_ladder, sustainable_ai_grid_interconnection_ladder, vol2_sustainable_ai_margin_002, vol2_sustainable_ai_margin_004, sustainable_ai_cooling_failure_blast): текст в контурах (глифы Helvetica-XX) декодирован и заменен на <text> в тех же точках. Размер шрифта уменьшен там, где русская строка длиннее английской (подписи «ИТ», «Сумма INT32» и «Надбавка PUE» уменьшены сильнее остальных).
  • Без текста (svg/sustainable_ai_inference_crossover, sustainable_ai_thermal_throttle_knee, vol2_sustainable_ai_margin_003): скопированы без изменений.

Решения по переводу главы 15 (вторая часть)

  • Термины: фаза предзаполнения (prefill), фаза декодирования (decode), арифметическая интенсивность, энергетический roofline, TinyML, KV-кэш, батч, эффект отскока, воплощенный углерод, очередь подключения к сети, кривая утки (duck curve), синхронные переходные процессы, скачки мощности (Power Ramps), суперконденсаторы, отстающий узел, иммерсионное охлаждение, биопленка, гальваническая коррозия, циркулярная экономика, право на ремонт.
  • Латиница оставлена: PUE, TDP, WUE, HBM, NVLink, NVSwitch, CDU, VRM, DGX, TSMC, GPU, RAPL, nvidia-smi, названия моделей и приборов, Scope 1–3.
  • Врезки: «Сценарий: …» (поля «Задача», «Расчет», «Системный вывод»), «Перспектива: …», «Пример: …» (поля «Сценарий», «Диагностика», «Системный урок»), «Контрольные вопросы: …».
  • Ссылки: внутри главы — #якорь; на главы 01, 02, 05, 10 и 11 — по файлам. Ссылки на приложения (@sec-appdx-…) оставлены текстом: приложения не переведены.
  • Ссылки на литературу: (Автор, год) и (Автор et al., год). Авторы взяты из references.bib; записи с некорректным автором в библиографии исправлены: Google Data Centers (2023), Framework Computer (2022), Reuters (2024), World Resources Institute and World Business Council for Sustainable Development (2023). В список литературы добавлено 40 записей (на языке оригинала), список отсортирован по первому автору, вступление обновлено на «глава «Устойчивый ИИ»».

Проверки главы 15 (вторая часть)

  • python3 scripts/check_books.py: все книги ok, включая scaling-ml-systems.
  • python3 scripts/check_links.py books/scaling-ml-systems/src: 586 относительных ссылок, битых нет.
  • mdbook build books/scaling-ml-systems (результат вне репозитория): код возврата 0; в главе 15 ошибок KaTeX нет (106 формул отрисованы).
  • Изображения главы: все 32 существуют. Якоря и внутренние ссылки ведут на существующие якоря. Сноски: 27 определений (13 в первой части, 14 во второй), все используются. Маркеров Quarto ({python}, {=latex}, [@…], @sec-, CO~, :::) не осталось.
  • Файлы не закоммичены.

Глава 16 «Ответственный ИИ»: перевод (первая часть)

Исходник: books/vol2/16_responsible_ai/16_responsible_ai.qmd, строки 1–1675: от заголовка до конца раздела «Вычислительные накладные расходы методов ответственного ИИ» (вторая часть начинается с H2 «Обнаружение смещения и мониторинг справедливости»).

Переведены: назначение и цели обучения; «Императив управления» (жизненный цикл управления и обеспечения доверия, сопоставление рамок); «Базовые принципы и жизненный цикл машинного обучения» (интеграция принципов, требования к ресурсам, прозрачность и объяснимость); «Справедливость в машинном обучении» (определения демографического паритета, равенства шансов и равенства возможностей, наблюдательная и причинная справедливость, интерсекциональная справедливость, количественное измерение, калибровка, метрики на практике, пороги); «Приватность и управление данными»; «Безопасность и устойчивость»; «Подотчетность и управление»; «Ответственный ИИ в средах развертывания» (объяснимость систем, ограничения справедливости, архитектуры приватности, безопасность в развертываниях, структуры управления, компромиссы проектирования, вычислительные накладные расходы).

Врезки: «Цели обучения», «Определение» (ответственный ИИ, алгоритмическая справедливость, демографический паритет), «Перспектива», «Сценарий» (налог на справедливость, расчет метрик справедливости, порог для равенства возможностей, аудит матрицы ошибок, цена справедливости, расчет равенства возможностей), «Пример», «Контрольные вопросы», сноски (13 определений и ссылок в тексте), подписи и alt-тексты рисунков и таблиц.

Значения {python}: 76 встроенных выражений и 10 скрытых ячеек (#| echo: false) выполнены локально (mlsysim из репозитория, binder для стиля графиков, одно пространство имен в порядке следования); ошибок нет. Значения подставлены по выводу.

Не перенесено: скрытые ячейки кода (#| echo: false) и комментарии в них; фрагмент \mlfleetstack на полях и \chapterminitoc (LaTeX-only); \newpage. Ссылка «рисунок стека парка» на главу 1 оставлена как ссылка на существующий рисунок fig-fleet-stack.

Рисунки главы 16 (первая часть)

  • Обложка (webp/cover_responsible_ai_blueprint_labeled.webp): пять подписей заменены на русские («политика», «справедливость», «прозрачность», «приватность», «подотчетность») по восстановленной простой обложке; подпись «справедливость» получила более широкий прямоугольник; размер шрифта единый (18 px); выноски сохранены.
  • TikZ, три схемы (svg/tikz_t01–tikz_t03): собраны заново с русскими подписями: pdfLaTeX, кириллица WNCYSS (OT2), латинские обозначения через \lat{} (TPR, FPR, PII, DP, SecAgg, FedAvg), «тс» разделены {} (лигатуры WNCYSS), \text{score} заменен на \mathrm{score}. Файлы: tikz_t01 — невозможность компромиссов справедливости; tikz_t02 — конвейер приватности; tikz_t03 — петля усиления смещения.
  • matplotlib (png/fairness_metric_disagreement.png): код ячейки исходника выполнен без изменений; подписи переведены перехватом строк при выводе (шрифт DejaVu Sans); данные и оформление не менялись.
  • Векторные рисунки с текстом (svg/responsible_ai_fairness_tax.svg, svg/responsible_ai_intersectional_quadrant.svg): подписи (glyph-контуры Helvetica) заменены <text> с сохранением центра и единым коэффициентом размера шрифта; проценты оставлены как есть.

Решения по переводу главы 16 (первая часть)

  • Термины: ответственный ИИ (Responsible AI), слой управления (Governance Layer), стабильность, жизненный цикл обеспечения доверия (Assurance Lifecycle), кейс обеспечения доверия, правило аннулирования, существенное изменение, вывод из эксплуатации, человеческий контроль (Human Oversight), выравнивание ценностей (Value Alignment), справедливость, смещение, налог на справедливость (Fairness Tax), демографический паритет, равенство шансов (equalized odds), равенство возможностей (equality of opportunity), калибровка, положительная предиктивная ценность (PPV), интерсекциональная справедливость, джерримендеринг справедливости, наблюдательная и причинная справедливость, структурная причинная модель, контрфактическая справедливость, объяснимость, интерпретируемость, приватность, дифференциальная приватность, федеративное обучение, безопасная агрегация, забывание (machine unlearning), устойчивость, подотчетность, карточки моделей, паспорта данных (Datasheets for Datasets), петля усиления смещения, петля обратной связи.
  • Латиница оставлена там, где это принято: TPR, FPR, PPV, SHAP, LIME, TinyML, GPU, CI/CD, C³, названия методов и организаций (NIST AI RMF, ISO/IEC, GDPR, CCPA, EDPB, COMPAS, Gender Shades), названия моделей (GPT-2).
  • Ссылки на литературу: (Автор, год), (Автор et al., год), (Автор и Автор, год) по references.bib; год Kleinberg et al. — 2017 (как в bib, а не arXiv 2016). В список литературы добавлено 30 записей на языке оригинала (всего 516).
  • Ссылки на главы: «Надежный ИИ» (глава 14), «Безопасность и приватность» (глава 13), «Отказоустойчивость» (глава 7), «Устойчивый ИИ» (глава 15), «Эксплуатация ML-систем в масштабе» (глава 12), рисунок «Стек парка» (глава 1). Ссылки на разделы второй части главы 16 (нормативный плюрализм и объяснимость и интерпретируемость) оставлены текстом до ее перевода.
  • Приложение «Основы парка» упомянуто текстом: приложения тома не переведены.
  • Врезки: «Определение: …», «Перспектива: …», «Сценарий: …» (поля «Задача», «Расчет», «Системный вывод»), «Пример: …», «Контрольные вопросы: …» (чекбоксы сохранены).

Проверки главы 16 (первая часть)

Из корня репозитория:

  • python3 scripts/check_books.py: книга проходит проверку структуры.
  • python3 scripts/check_links.py books/scaling-ml-systems/src: 600 относительных ссылок, битых нет.
  • mdbook build books/scaling-ml-systems: сборка без ошибок; предупреждение о версии mdbook-katex (старое, для всей книги); ошибок KaTeX в главе 16 нет; сноска fn-federated-learning-fairness используется.
  • Внутренние якоря (#sec-, #fig-, #tbl-) главы существуют; якоря в других главах проверены.

Книга в каталоге не закоммичена (изменения не зафиксированы).

Глава 16 «Ответственный ИИ»: перевод (вторая часть)

Исходник: books/vol2/16_responsible_ai/16_responsible_ai.qmd, строки 1676–4309: от H2 «Обнаружение смещения и мониторинг справедливости» до конца главы (итоги, сноски, отметка конца раздела). Перевод добавлен в src/16_responsible_ai.md после первой части.

Тексты переведены полностью, включая подписи, альтернативный текст, врезки, таблицы и комментарии и строки вывода в листингах Python. Внутренние ссылки ведут на заголовки и рисунки обеих частей. Ссылки на главы, которые еще не переведены (заключительная глава), даны текстом без ссылки.

Рисунки главы 16 (вторая часть)

  • TikZ (восемь схем, svg/tikz_t04–tikz_t11): собраны заново с русскими подписями тем же способом, что и в первой части (pdfLaTeX, кириллица WNCYSS, латинские обозначения через \lat{}, «тс» и «сх» разделены {}, + и = в тексте заключены в математику). Подписи заменены по точному совпадению строк исходного кода. Для схем «Спектр интерпретируемости», «Конвейер мониторинга», «Стратегии обновления модели» и «Слои ответственности» подписи сокращены, чтобы они помещались в карточки и полосы. В tikz_t09 (конвейер выравнивания RLHF) осталась одна вставленная растровая глиф-вставка от шрифта Type 3, при просмотре она незаметна.
  • Векторные поля с глифами (нарисованы заново): svg/responsible_ai_unlearning_cost_ladder.svg, vol2_responsible_ai_margin_001.svg, responsible_ai_monitoring_scale.svg, vol2_responsible_ai_margin_002.svg, responsible_ai_representation_tax_ladder.svg, vol2_responsible_ai_margin_004.svg. Контурные глифы заменены текстом (<text>) с шрифтом Liberation Sans, размер подогнан под английскую ширину. Для vol2_responsible_ai_margin_002.svg размер подогнан до 0,72 исходного: подписи короткие, но мельче остальных. В responsible_ai_monitoring_scale.svg оставлены «150» и «7,5»; английская фраза «alerts per day» в исходном файле отсутствует, поэтому подпись в альтернативном тексте описывает только то, что видно на рисунке.
  • Векторное поле с текстом: svg/vol2_responsible_ai_margin_003.svg (четыре подписи в элементах <text>) переведено напрямую.
  • График (matplotlib): png/autonomous_miles_scaling.png, построен по data/autonomous_miles_scaling.csv тем же кодом ячейки, названия осей и заголовок переведены. Шрифт DejaVu Sans.
  • Растровый рисунок без текста: png/diffusion_memorization_new.png (портреты, диффузионная модель), скопирован без изменений.

Решения по переводу главы 16 (вторая часть)

  • Врезки: «Сценарий:» (записные книжки), «Перспектива:», «Пример:», «Контрольные вопросы:», «Случай из практики:» (истории), «Маячные архетипы:», «Ключевые выводы:», «Связь с главами:». Заблуждения и ловушки: **Заблуждение**: *утверждение*, затем абзац, как в других главах.
  • Листинги: якорь lst-…, подпись «…: …», затем блок кода. Имена переменных и ключи словарей оставлены как в исходнике, комментарии и строки вывода (print) переведены.
  • Цитаты в тексте в форме (Автор et al., год); имена в тексте совпадают с полем автора в references.bib. Для организаций используются те же названия, что в библиографии: «Executive Office of the President» (указы 14110, 14148, 14179, 14409, в исходнике даты до июня 2026 года), «Cyberspace Administration of China», «Ofqual и Department for Education». В список литературы добавлено 40 записей на языке оригинала (всего 556 строк).
  • Перекрестная ссылка LaTeX \ref{pri-sociotechnical-feedback} заменена на текст «принцип социотехнической обратной связи», потому что такой якорь в книге не существует.
  • Маркеры \part{key:synthesis} и quiz-end исходника удалены: это разделители LaTeX и онлайн-версии, как и в первой части.
  • Ссылки первой части на разделы второй части («Нормативный плюрализм и конфликты ценностей», «Объяснимость и интерпретируемость») восстановлены как ссылки.
  • Значения {python} во второй части: 99 встроенных значений (по {python} в исходнике), вычислены локально по коду главы, ошибок нет.

Проверки главы 16 (вторая часть)

  • scripts/check_books.py: ok для всех книг.
  • scripts/check_links.py books/scaling-ml-systems/src: 626 относительных ссылок, 0 битых.
  • mdbook build books/scaling-ml-systems: код возврата 0; в HTML главы 16 нет katex-error. Предупреждения mdbook-katex о версии и о формулах в главах 14–15 не относятся к этой части.
  • Внутренние якоря: все локальные ссылки из главы 16 указывают на существующие якоря.
  • Остатков разметки исходника (:::, {#…}, \index, @sec-…, [@…], {python}) в тексте нет.
  • Коммита нет: изменения лежат в рабочем дереве.

Глава 17 «Заключение»: перевод (первая часть)

Исходник: books/vol2/17_conclusion/17_conclusion.qmd, строки 1–371: от заголовка до конца раздела «Освоенные компетенции» (вторая часть начинается с H2 «Эпилог: дисциплина стека парка»).

Переведены: назначение и цели обучения; «Синтез распределенных ML-систем»; «Шесть принципов распределенных ML-систем» (закон парка, таблица принципов и все шесть принципов с подразделами); «Полная производственная система» (таблица архетипов и диагностическая процедура); «Освоенные компетенции».

Врезки: «Цели обучения». Сноски: 7 (потолок возможностей железа, хвостовая задержка, кольцевой AllReduce, сжатие градиентов, эластичное обучение, оценка жизненного цикла, отстающие). Таблицы: 2 (шесть принципов; архетипы и ограничивающие члены ). Подписи и альтернативный текст переведены.

Рисунки:

  • TikZ «Стек парка» (svg/tikz_t01.svg): собран заново из исходного кода TikZ с русскими подписями (pdfLaTeX, WNCYSS через OT2). Римские номера и «ML» набраны через \lat{}. Карточки слоев расширены там, где русский текст длиннее английского, и уложены внутри своих слоев. Шрифтов Type 3 нет.
  • Поля (svg/vol2_conclusion_margin_001.svg, _002.svg): текст, нарисованный контурами глифов в исходнике, заменен на <text> (Liberation Sans) по тем же центрам. «decode» переведено как «декодирование» и перенесено правее точки данных, где место свободно; «comm cap» → «коммуникации», «storage BW» → «хранение», «matched» → «совпадают».
  • Обложка (webp/cover_conclusion_blueprint_labeled.webp): пять подписей переведены методом главы 16. Исходная обложка восстановлена под каждой английской подписью, русские подписи набраны DejaVu Sans Bold, 18 px. Рамки «эксплуатация» и «обслуживание» расширены.

Значения {python}: встроенные выражения части 1 и скрытая ячейка conclusion-scale-facts выполнены локально (mlsysim из репозитория, отдельный venv); значения подставлены по выводу (100 серверов, 99-й перцентиль, 63,4 %, 419 прерываний, 54 дня, 3,1 часа, 16 384 GPU, 80 %, 20 %).

Ссылки: внутренние ссылки ведут на якоря рисунка и таблиц в этом файле; ссылки на другие главы указывают на файлы с существующими якорями. Ссылка на приложение «Таксономия C³ и закон парка» (@sec-appdx-c3-taxonomy-fleet-law) оставлена текстом: приложения не переведены. Ссылка на сквозной контракт оценки ведет на файл главы «Эксплуатация ML-систем в масштабе» без якоря: такого якоря в переводе главы 12 нет.

Список литературы: добавлены 2 записи (Jevons, 1865; Jiang et al., 2024, MegaScale); остальные работы, на которые ссылается часть 1, уже были в списке.

Не перенесено: скрытая ячейка кода (#| echo: false) и ее комментарии, которые в книгу не выводятся; фрагмент \mlfleetstack на полях, \chapterminitoc и \newpage (LaTeX-only); тесты (conclusion_quizzes.json) и карта концепций (conclusion_concepts.yml); вторая часть главы (эпилог, инженерный интеллект, заблуждения и ловушки, итоги) и ее рисунки.

Проверки: scripts/check_books.py: ok для всех книг; scripts/check_links.py books/scaling-ml-systems/src: 666 относительных ссылок, 0 битых; mdbook build books/scaling-ml-systems: код возврата 0; в HTML главы 17 нет katex-error. Предупреждения KaTeX в журнале сборки относятся к формулам батареи в главах 11 и 15, не к главе 17. Остатков разметки исходника (:::, {#…}, \index, @sec-…, [@…], {python}) в тексте нет. Коммита нет: изменения лежат в рабочем дереве.

Глава 17 «Заключение»: перевод (вторая часть)

Исходник: books/vol2/17_conclusion/17_conclusion.qmd, строки 372–847: от H2 «Эпилог: дисциплина стека парка» до конца главы (подпись автора). Переведены: эпилог с рисунком агентного контура; три блокнота («Учет эффективности стека парка», «Физика лучших фабрик», «Оценка Ферми интеллекта»); раздел «Инженерный интеллект в масштабе»; «Заблуждения и ловушки» (четыре пункта); «Итоги» с врезками «Ключевые выводы» и «Связь с главами», подпись.

Не перенесено: скрытые ячейки кода (#| echo: false) и их комментарии, которые в книге не выводятся; ::: {.quiz-end}, \part{key:backmatter} и \index{...} (разметка сборки); тесты и карта концепций (как и в части 1).

Значения {python}: три скрытые ячейки части 2 (FleetEvolution, PostSilicon, FermiEstimate) выполнены локально (mlsysim из репозитория, отдельное окружение); подставлены 100×, 4×, 2,5×, 10×; 10 и 5 пДж/бит, 2×; 25 000 GPU, 989 TFLOP/s, 2,47 × 10^19 FLOP/s, 17,5 МВт, 247 250×, 1 Гц, 20 Вт. Значения в итоговой врезке (100 серверов, 63,4 %, 419 прерываний, 54 дня) совпадают со значениями части 1.

Рисунки главы 17 (вторая часть)

  • TikZ «Агентный контур» (svg/tikz_t02.svg): собран заново с русскими подписями: pdfLaTeX, кириллица WNCYSS (OT2), латинские слова через \lat{} (KV, JSON, POSIX, FLOP); \textbar заменен на $|$. Шрифтов Type 3 в PDF нет. Подпись «PASS / OK» сокращена до «ОК», заголовок панели Б укорочен, чтобы не наезжать на плашку.
  • Поля (svg/vol2_conclusion_margin_003.svg, _004.svg): текст, нарисованный контурами глифов, заменен на <text> (Liberation Sans) в тех же точках и базовых линиях. «Orch 10x» → «Оркестрация 10×» (выровнено по правому краю столбца), «Hardware 4x» → «Железо 4×», «Algo 2.5x» → «Алгоритм 2,5×», «Cluster 17.5 MW» → «Кластер 17,5 МВт» (внутри столбца, выровнено по правому краю), «Brain 20 W» → «Мозг 20 Вт», «log scale» → «логарифмическая шкала» (выровнено по правому краю, шрифт уменьшен).

Решения по переводу главы 17 (вторая часть)

  • Термины: агентный ИИ, замкнутый контур, разомкнутый контур, траектория, макроэффективность и микроэффективность, связывающее ограничение, оценка Ферми, энергетическая стена, маршрутизация смесью экспертов (MoE), оптический ввод-вывод, совместно упакованная оптика, нейроморфные событийные подложки, GEMM.
  • Латиница оставлена там, где принято: GPU, H100, FP16, TFLOP/s, FLOP/s, AllReduce, all-to-all, MoE, MLOps, Llama 3, Scope.
  • Врезки: «Сценарий: …» (поля «Задача», «Расчет», «Системный вывод»), «Ключевые выводы: …», «Связь с главами: …»; «Заблуждение» и «Ловушка» оформлены как в главе 16.
  • Ссылки: внутри главы — #fig-conclusion-traditional-vs-agentic; на главы «Эксплуатация ML-систем в масштабе» (12_ops_scale.md#sec-ops-scale) и «Оркестрация парка» (08_fleet_orchestration.md#sec-fleet-orchestration). Новых записей в список литературы часть 2 не добавляет: ссылок с годом в ней нет.
  • Подпись автора оставлена латиницей, как в других книгах этого репозитория.

Проверки главы 17 (вторая часть)

  • python3 scripts/check_books.py: все книги ok, включая scaling-ml-systems.
  • python3 scripts/check_links.py books/scaling-ml-systems/src: 671 относительная ссылка, битых нет.
  • Изображения главы 17 (7 файлов) существуют.
  • mdbook build books/scaling-ml-systems: код возврата 0; в HTML главы 17 нет katex-error. Предупреждения KaTeX о батарейных формулах относятся к главам 11 и 15.
  • Остатков разметки исходника ({python}, @sec-, @fig-, \index, :::, {=latex}, [@…]) в тексте нет.
  • Файлы не закоммичены.

Глава 15 «Устойчивый ИИ»: перевод (третья часть)

Исходник: books/vol2/15_sustainable_ai/15_sustainable_ai.qmd, строки 5883–6595: от H2 «Смягчение последствий» до итогов и врезки «Связь с главами». В части: многоуровневая рамка смягчения, парадокс Джевонса (рисунок и контрольные вопросы), методики разработки с учетом жизненного цикла, энергоэффективное проектирование алгоритмов (таблица приемов сжатия), стек оптимизации TinyML, системы с учетом жизненного цикла, эталонные тесты (таблица MLPerf Tiny), EDP, инфраструктурная оптимизация (зеленые дата-центры, планирование с учетом углерода), кейс Google «четыре M», инженерные рекомендации, политика и регулирование, отраслевая саморегуляция, экологическая справедливость, направления исследований, заблуждения и ловушки (восемь пунктов), итоги.

Переведены: текст подразделов, врезки («Контрольные вопросы», «Перспектива», «Ключевые выводы», «Связь с главами»), 3 таблицы, подписи, 21 сноска, ссылки на литературу и подписи рисунков.

Не перенесено: скрытые ячейки кода (#| echo: false) и комментарии в них; разметка \index{...}, \clearpage (только для PDF), \ref{pri-jevons-paradox} (принципа в книге нет: ссылка заменена текстом), ::: {.quiz-end}, маркер «quizzes» в исходнике.

Значения {python}: вся глава 15 выполнена локально по порядку (mlsysim, отдельное окружение); для части 3 подставлены: 1 000× (диапазон CPU–ASIC), 100 / 10 / 1 / 0,1 пДж/FLOP (CPU, GPU, TPU, ASIC), 64 GPU A100, 14 дней, 5,7 т CO₂, 429 г/кВт·ч, 264,9 кг CO₂, 20 г/кВт·ч, 21,4×.

Рисунки главы 15 (третья часть)

  • TikZ, парадокс Джевонса (svg/tikz_t18.svg): собран заново: pdfLaTeX, кириллица WNCYSS (OT2), латинские слова через \lat{} (D(P), Джевонс), + записан как $+$, сочетания «тс» и «сх» разделены {} (отскок, исходная). Шрифтов Type 3 в PDF нет.
  • TikZ, каскад планирования с учетом углерода (svg/tikz_t19.svg): собран заново: шесть карточек слоев и правая колонка с формулой полного каскада. Латинские термины (MoE, FlashAttention, KV, PPA, CFE, H100) через \lat{}; десятичная запятая в множителях. Карточка «Пространство и время» сокращена, чтобы не наезжать на подпись.
  • matplotlib, планирование с учетом углерода (png/carbon_aware_scheduling.png): код ячейки исходника выполнен без изменений; подписи переведены через замену текста на фигуре (DejaVu Sans для кириллицы), сохранено 200 dpi.
  • Растровый рисунок Energy-Charts (png/europe_energy_grid.png): скопирован без изменений. Подписи (заголовок, оси, легенда, источник) на английском языке: исходный рисунок — экспорт данных Energy-Charts с английской вёрсткой, данные для перерисовки в репозитории отсутствуют. Подпись рисунка переведена, на английский язык оставлена сама картинка.

Решения по переводу главы 15 (третья часть)

  • Термины: парадокс Джевонса, эффект отскока, макроэффективность (нет: в этой части — «эффект отскока»), прореживание, квантование, дистилляция знаний, неструктурированное прореживание, эталонные тесты, энергия на запрос, эффективность в расчете на запрос, 24/7 безуглеродная энергия (CFE), планирование с учетом углерода, гринвошинг, узкое место фон Неймана, вычисления в памяти, нейроморфные вычисления, отчетность Scope 3, эмиссионный бюджет.
  • Латиница оставлена: GPU, TPU, A100, H100, FLOP, FLOPs, PUE, WUE, TDP, CO₂, EDP, MoE, SRAM, MCU, MLPerf, названия моделей и библиотек.
  • Врезки: «Контрольные вопросы: …», «Перспектива: …», «Ключевые выводы: одной эффективности недостаточно», «Связь с главами: от устойчивости к ответственности». Заблуждения и ловушки — абзацы в формате главы 16.
  • Ссылки: на главы «Ответственный ИИ» (16_responsible_ai.md#sec-responsible-ai) и разделы главы 15 — якорями. Ссылки на приложения не встречаются в этой части.
  • Ссылки на литературу: (Автор, год) по references.bib с годом из библиографии (Chung et al., 2023 для Perseus); при двух авторах — «X и Y, год» (Uddin и Rahman, 2012; Monyei и Jenkins, 2018). В список литературы добавлено 11 записей (на языке оригинала): Chung et al. (2023), Cai et al. (2019, 2020), Lin et al. (2020), ML.ENERGY Leaderboard (2023), Monyei и Jenkins (2018), Sanh et al. (2019), Uddin и Rahman (2012), You et al. (2023), Xu et al. (2020), Zafrir et al. (2019). Записи, уже существующие в списке, не дублировались.
  • Исправления: в тексте использовалась фамилия «Jie» для Zeus; по библиографии первый автор — You, поэтому (You et al., 2023).

Проверки главы 15 (третья часть)

  • python3 scripts/check_books.py: все книги ok, включая scaling-ml-systems.
  • python3 scripts/check_links.py books/scaling-ml-systems/src: 676 относительных ссылок, битых нет (включая якоря на рисунки, таблицы и разделы этой части).
  • Изображения главы 15: все файлы существуют.
  • mdbook build books/scaling-ml-systems (результат вне репозитория): код возврата 0; в HTML глав 15 и 17 нет katex-error.
  • Остатков разметки ({python}, @sec-, @fig-, @tbl-, \index, :::, {=latex}, [@…], \ref, {#…} в заголовках) в тексте нет.
  • Файлы не закоммичены.

Глава 5 «Распределенное обучение»: перевод (вторая часть, первая половина)

Исходник: books/vol2/05_distributed_training/05_distributed_training.qmd, строки 2243–3078: от H2 «Эффективность масштабирования и сходимость» до раздела «Компромисс: стоимость коммуникаций и скорость сходимости» (включительно до заголовка этого раздела). В части: математика эффективности масштабирования (определение, сценарий 175 млрд параметров, обрыв масштабирования), взаимодействие параллелизма и инфраструктуры, закон Амдала с коммуникациями (налог на масштабирование и закон парка), сходимость синхронного параллельного по данным SGD (теорема, статистическая эффективность), BSP, SSP и ASP (таблица), правила масштабирования скорости обучения (линейное, квадратный корень, LARS и LAMB, разогрев), критический размер батча, сценарий сравнения 8 и 64 воркеров (таблица, анализ стоимости), контрольный вопрос о решениях масштабирования.

Не перенесено: скрытые ячейки кода (#| echo: false) и их комментарии, которые в книге не выводятся. Ссылка на раздел «Гибридный параллелизм» и на приложения оставлены текстом до перевода соответствующих частей; ссылки на принципы (\ref{pri-…}) заменены текстом, так как принципов в книге нет.

Значения {python}: ячейки главы выполнены по порядку в одном пространстве имен (mlsysim из репозитория, отдельное окружение; 290 значений, ошибок выполнения нет). Для этой части подставлены, в том числе: 175 млрд параметров, 350 ГБ градиентов, 50 ГБ/с InfiniBand, 2 млн токенов, 1 024 GPU, 37,5 %, 2,1 с и 5,6 с, 3,5 с, 400 Гбит/с, 1979 TFLOP/s (FP8, H100), 10 000 GPU, 9 ПБ/с, 540 кВт, 500 ТБ/с, 140 кВт; для сравнения 8 и 64 воркеров — 100 тыс. итераций, 12,8 тыс., 1,72 тыс., 2,1 тыс., 6,8×, 40,1×, 38,1×, 98 %, 91 %, 74 %, 34, 53 и 56 долл. (3 долл. за GPU-час).

Рисунки главы 5 (вторая часть, первая половина)

  • Вертикальная диаграмма «Налог на масштабирование» (png/fig-scaling-tax.png): код ячейки исходника выполнен без изменений (предыдущие ячейки тоже), подписи переведены через замену текста на фигуре; шрифт DejaVu Sans для кириллицы.
  • TikZ «Критический размер батча» (svg/tikz_t08.svg): собран заново: pdfLaTeX, кириллица WNCYSS (OT2), латинские названия моделей и «GPU» через \lat{}; единицы «K» и «M» записаны как «тыс.» и «млн». Шрифтов Type 3 нет.
  • Поле «Энергия на бит» (svg/vol2_distributed_training_margin_003.svg): текст, нарисованный контурами глифов, заменен на <text> (Liberation Sans) в тех же точках; «IB 35 pJ/bit» → «InfiniBand 35 пДж/бит» (выровнено по правому краю), «NVLink 7.5 pJ/bit» → «NVLink 7,5 пДж/бит», «HBM 1.5 pJ/bit» → «HBM 1,5 пДж/бит».

Решения по переводу главы 5 (вторая часть, первая половина)

  • Термины: эффективность масштабирования, налог на масштабирование, стена масштабирования, обрыв масштабирования, статистическая эффективность, устаревание градиента, критический размер батча, правило линейного масштабирования, правило квадратного корня, разогрев, LARS, LAMB, закон парка, член вычислений, член пропускной способности, член координации.
  • Латиница оставлена: GPU, H100, A100, NVLink, InfiniBand, NCCL, AllReduce, BERT, ResNet-50, GPT-3, FP8, FLOP, MFU, BSP, SSP, ASP, LARS, LAMB.
  • Врезки: «Определение: …», «Перспектива: …», «Сценарий: …», «Контрольные вопросы: …», «Теорема: …» (поля как в главах 14–15).
  • Ссылки на литературу: (Автор, год) по references.bib; при двух авторах «X и Y, год»; для Ho, Dutta, Goyal, McCandlish, Shallue, You (2017 и 2020) — с годом из библиографии. В список литературы добавлено 2 записи (You et al., 2017; You et al., 2020) и исправлена ссылка на LARS; предыдущие 11 записей главы 15 не изменялись.

Проверки главы 5 (вторая часть, первая половина)

  • python3 scripts/check_links.py books/scaling-ml-systems/src: относительных ссылок 680, битых нет (включая якоря таблиц, рисунков и формул этой части).
  • Изображения (новые и старые) существуют.
  • Остатков разметки ({python}, @sec-, @fig-, @tbl-, @eq-, \index, :::, {=latex}, [@…], \ref, {#…} в заголовках) в тексте нет.
  • Вторая половина главы (с раздела «Компромисс: стоимость коммуникаций и скорость сходимости» до итогов) пока не переведена.
  • Файлы не закоммичены.

Глава 3 «Сетевые фабрики»: перевод (вторая часть)

Исходник: books/vol2/03_network_fabrics/03_network_fabrics.qmd, строки 1025–3211: от раздела «Уровень 2: транспорт и модель производительности» до конца раздела «Уровень 3: коммутаторы и топология» (включая «Dragonfly и торовые альтернативы» и контрольный вопрос о выборе топологии под нагрузку). В части: RDMA и GPUDirect, InfiniBand и RoCE (таблица стеков), надежная доставка и восстановление после потерь, α-β-модель производительности (сценарий перехода, рисунок перехода), порог узкого места AllReduce, бисекционная пропускная способность, неблокирующая фабрика, ToR и домен отказа, fat-tree (сценарий подписки с перегрузкой), rail-optimized топология (сценарий дивиденда, архетип A), dragonfly и тор, сравнение топологий.

Третья часть переведена, см. раздел «Глава 3 (третья часть)» ниже.

Не перенесено:

  • скрытые ячейки кода (#| echo: false, 15 ячеек) и их комментарии, которые в книге не выводятся;
  • ссылки на приложения книги (@sec-appdx-…) и на принципы (\ref{pri-…}): приложения и принципы пока не переведены, ссылки оставлены текстом. Ссылки на главы 6 и 7 — настоящие ссылки на уже переведенные разделы.

Значения {python}: все 75 выражений части вычислены локально: 23 ячейки главы выполнены по порядку в одном пространстве имен (mlsysim из репозитория, зависимости в отдельном окружении), ошибок нет. Значения записаны в русском написании: десятичная запятая, пробел как разделитель разрядов, единицы ГБ, ТБ, мкс, Гбит/с, «долл.» и «млн долл.» вместо знака доллара, «млрд» вместо billion.

Рисунки главы 3 (вторая часть)

  • TikZ (пять рисунков, svg/tikz_t05–t09): собраны заново с русскими подписями (pdfLaTeX, кириллица WNCYSS в кодировке OT2, латинские слова через \lat{}, цвета и библиотеки из заголовка книги, обрезка по области рисунка). Знаки % и \$ в тексте OT2 заменены: \$ — через \lat{}, процент — словом «вдвое». Десятичные запятые в списке \foreach заключены в фигурные скобки. Шрифтов Type 3 в PDF нет.
  • График matplotlib «Переход α-β» (png/network_alpha_beta_crossover.png): код ячейки главы выполнен без изменений, подписи осей и аннотаций переведены; шрифт DejaVu Sans для кириллицы.
  • В этой части нет рисунков с текстом внутри SVG и полевых рисунков; обложка не менялась.

Решения по переводу главы 3 (вторая часть)

  • Термины: удаленный прямой доступ к памяти (RDMA), GPUDirect RDMA, стек Verbs, транспорт с установлением соединения, восстановление Go-Back-N, неблокирующая фабрика, бисекционная пропускная способность, подписка с перегрузкой, домен отказа, радикс, rail-optimized топология, dragonfly, тор, α-β-модель, точка перехода, ранг, инкаст, объединение в корзины (bucketing), порог узкого места.
  • Врезки: «Определение: …» (значение, отличие, типичная ошибка), «Сценарий: …» (задача, расчет, системный вывод), «Контрольные вопросы: …», архетип — заголовок «Архетип A (GPT-4/Llama-3): …».
  • Латиница оставлена: GPU, NIC, ToR, AllReduce, AllToAll, fat-tree, dragonfly, rail-optimized, RoCE, PFC, ECN, Go-Back-N, NVLink, DGX H100.
  • Ссылки: (Автор, год), несколько источников через «;»; в тексте «Clos (1953)», «Kim et al. (2008)», «Leiserson (1985)».
  • В список литературы добавлено 7 записей (Clos, 1953; Leiserson, 1985; Kim et al., 2008; Al-Fares et al., 2008; Guo et al., 2016; InfiniBand Trade Association, 2000; NVIDIA, 2026 — GPUDirect RDMA). Заголовок списка уточнен: «первые две части главы «Сетевые фабрики»».

Проверки главы 3 (вторая часть)

  • scripts/check_books.py: scaling-ml-systems ok.
  • scripts/check_links.py books/scaling-ml-systems/src: 703 относительных ссылки, битых нет (включая якоря таблиц, рисунков и разделов этой части).
  • mdbook build в books/scaling-ml-systems: код 0. В HTML главы 3 нет ошибок KaTeX; предупреждения о KaTeX относятся к главам 11 и 15.
  • Остатков разметки ({python}, @sec-, @fig-, @tbl-, [@…], [/END], {#…}, \index, \ref) в тексте нет; сноски не дублируются.
  • Английских предложений в новом тексте не найдено; все файлы рисунков на месте.
  • Файлы не закоммичены.

Глава 3 «Сетевые фабрики»: перевод (третья часть)

Исходник: books/vol2/03_network_fabrics/03_network_fabrics.qmd, строки 3212–4342: от раздела «Уровень 4: поведение фабрики» до итогов.

Не перенесено:

  • скрытые ячейки кода (#| echo: false, 13 ячеек) и их комментарии, которые в книге не выводятся;
  • блок теста главы (quiz-end): это функция онлайн-версии;
  • ссылки на принципы и исторические случаи (\ref{pri-…}, \ref{ws-…}, \ref{dfn-…}): переведены текстом без номеров;
  • ссылки на другие главы (@sec-…) переведены названием главы или раздела.

Значения {python}: вхождения части вычислены локально (36 ячеек главы выполнены по порядку в одном пространстве имен, ошибок нет). В тексте использованы русские написания: десятичная запятая, пробел как разделитель разрядов, ГБ/ТБ, мкс, Гбит/с, «долл.» и «млн долл.».

Рисунки главы 3 (третья часть)

  • TikZ (svg/tikz_t10, рисунок о настоящем всплеске инкаста): собран заново с русскими подписями (pdfLaTeX, OT2/WNCYSS). Латинские названия (GPU, AllReduce, PFC, Ring, Tree, DCQCN, ECN) вынесены через \lat{}, знак «+» записан как $+$. Цвета и библиотеки взяты из заголовка книги. Подписи карточки сокращены, чтобы уложиться в блоки.
  • Поля network_fabrics_physical_reach_ladder.svg: подписи перерисованы как текст (Liberation Sans) в исходных позициях. DAC и AOC оставлены как аббревиатуры.
  • Поля network_fabrics_pfc_pause_blast.svg: текста внутри нет, файл скопирован без изменений.

Решения по переводу главы 3 (третья часть)

  • Термины: синхронный параллелизм с барьерами (BSP), управление потоком на основе приоритетов (PFC), кредитный тупик, шторм PFC, потоки-жертвы, сторожевой таймер, инкаст, упреждающее управление перегрузкой, адаптивная маршрутизация, распыление пакетов, переключение по флоулетам, виртуальная функция (VF), виртуальная линия (VL), класс трафика, сетевые срезы, скрытые потери, совместно упакованная оптика (CPO), разобщенные и компонуемые архитектуры, парк.
  • Врезки: «Определение: …» (значение, отличие, типичная ошибка), «Сценарий: …» (задача, расчет, системный вывод), «Контрольные вопросы: …», «Перспектива: …», «Ключевые выводы: …», «Связь с главой: …». Исторический случай оформлен как «Случай из практики: …» с полями «Контекст», «Механизм», «Последствия», «Исправление», «Системный урок».
  • Заблуждения и ловушки: «Заблуждение: …» и «Ловушка: …» (на заключительном этапе «Ошибка» заменено на «Ловушка» во всей книге).
  • Ссылки: (Автор, год), несколько источников через «;»; в тексте «Zhu et al. (2015)», «Li et al. (2019)».
  • В список литературы добавлено 8 записей: Li et al. (2019), Zhu et al. (2015), Ultra Ethernet Consortium (2025), Meta Engineering (2024), Linux man-pages project (2026), linux-rdma project (2026), NVIDIA (2026, Quantum-X800), Broadcom Inc. (2025).

Глава 5 «Распределенное обучение»: перевод (вторая часть, вторая половина)

Исходник: books/vol2/05_distributed_training/05_distributed_training.qmd, строки 3074 до конца. Переведены разделы «Параллелизм модели» (реализация, варианты: тензорный, конвейерный, по последовательности и контексту; серверы параметров и шардинг эмбеддингов; параллелизм экспертов; компромисс пузыря и пропускной способности), «FP8 в распределенном обучении», «Гибридный параллелизм» (цикл 3D-обучения, разобранный пример, масштабирование класса Blackwell), «Обучение нескольких моделей: RLHF и выравнивание» (PPO, DPO, асимметрия инфраструктуры), «Сравнение стратегий параллелизма», «От принципов к системам», «Заблуждения и ловушки» и «Итоги». Теперь в главе 13 разделов второго уровня, как в исходнике.

  • Значения в тексте: 206 встроенных вычислений {python} выполнены локально и подставлены по выводу; форматирование: десятичная запятая, пробел в разрядах.
  • TikZ (девять рисунков, svg/tikz_t09–tikz_t17): собраны заново с русскими подписями (pdfLaTeX, кириллица WNCYSS в кодировке OT2, латинские обозначения через \lat{}).
  • Поля: подписи четырех рисунков (distributed_training_memory_budget, distributed_training_pipeline_bubble_tax, vol2_distributed_training_margin_004, distributed_training_young_daly_optimum) заменены русским текстом.
  • matplotlib: png/mfu_progression.png построен заново с русскими подписями (легенда перенесена в правый верхний угол).
  • Список литературы: добавлено 11 записей.
  • Заголовок «Физика масштабирования: закон Амдала с коммуникациями» первой части приведен к третьему уровню, как в исходнике.
  • Ссылка на раздел «Стратегии батчинга в масштабе» главы 10 получила якорь sec-inference-scale-batching-strategies-scale.

Страницы частей

Четыре страницы part_fleet.md, part_distributed.md, part_deployment.md, part_responsible.md переведены из books/vol2/parts/*.qmd. На них 21 принцип в формате «Принцип «название»» с полями «Инвариант» и «Следствие», каждый с якорем pri-…. Канонические названия, по которым на заключительном этапе выровнены ссылки в главах: «термодинамический предел», «стена плотности мощности», «разрыв емкости памяти», «теорема о бисекционной пропускной способности», «налог на универсальность», «стена I/O», «иерархия хранилищ», «граница эффективности масштабирования», «универсальный закон масштабирования», «закон парка (закон времени распределенного шага)», «компромисс пропускной способности и задержки (модель α-β)», «закон контрольных точек Янга–Дэйли», «смещение накладных расходов», «авторегрессивное узкое место», «закон доминирования стоимости обслуживания», «сила двух выборов (P2C)», «инвариант утечки информации», «вычислительный штраф за устойчивость», «парадокс Джевонса для ИИ (ловушка эффективности)», «закон невозможности справедливости», «инвариант социотехнической обратной связи».

Вводные материалы

  • dedication.md, author_note.md, acknowledgements.md: перевод одноименных файлов books/vol2/frontmatter/.
  • about.md («Предисловие»): перевод about.qmd. LaTeX-только рисунки (печатные схемы стека) опущены; таблица врезок приведена к меткам тома II. Абзац о лицензии переведен дословно: в оригинале сказано «CC BY-NC-ND 4.0», тогда как репозиторий распространяется по CC BY-NC-SA 4.0 (LICENSE.md). Расхождение отмечено примечанием переводчика со ссылкой на страницу «Уведомление об авторстве» и описано в NOTICE.md.
  • ai_use.md: общий текст «Примечания об использовании ИИ» из тома I (русский вариант без изменений по существу).
  • notation.md («Обозначения»): общая часть из русского тома I и переведенный раздел _notation_scaling тома II. Валюта: суммы обозначаются знаком доллара \$, как в томе I.

Приложения

Переведены семь приложений из books/vol2/backmatter/: appendix_dam.md («Основы D·A·M»), appendix_c3.md («Таксономия C³»), appendix_fleet.md («Основы парка»), appendix_communication.md («Коммуникация»), appendix_reliability.md («Основы надежности»), appendix_inference.md («Основы инференса»), appendix_assumptions.md («Допущения системы»).

  • Значения: встроенные вычисления выполнены локально (mlsysim из того же коммита) и подставлены по выводу; таблицы допущений собраны из тех же значений.
  • TikZ: два рисунка приложения «Основы инференса» (images/appendix_inference/svg/tikz_t01, tikz_t02) собраны заново с русскими подписями.
  • Ссылки: якоря всех разделов сохранены; на 31 раздел приложений ссылаются главы (см. заключительный этап).
  • Список литературы: добавлено 13 записей; файл references.md пересортирован, в нем 617 записей; вступление сокращено до одной фразы.

Глоссарий

glossary.md: 383 термина из books/vol2/backmatter/glossary/glossary.qmd. Формат как в томе I: «русский термин (English term): определение»; английский вариант опущен, если он совпадает с русским или входит в него (аббревиатуры, названия технологий). Записи идут в порядке английских названий, сгруппированы по буквам с якорями sec-glossary-a, sec-glossary-b и т. д. Термины согласованы с главами: «инференс», «сетевая фабрика», «граничный», «параллелизм по данным», «прореживание», «контрольная точка», «сторожевой таймер», «хвостовая задержка» и др.; Tensor Core, NVLink, TPU и подобные названия оставлены на английском.

Рисунки главы 1: заключительный этап

  • SVG с текстом (восемь файлов): ai-triad-scale, fleet-stack, reliability-gap-collapse, roadmap, c3-taxonomy, scale-moment-discontinuity, traditional-vs-ml-fleet, vol2_introduction_margin_002: надписи заменены на русские прямо в SVG (текстовые узлы, title и desc). Длинные русские подписи сокращены или разбиты на строки, в roadmap.svg три названия сжаты по ширине (textLength), чтобы уместиться в блоки; результат проверен отрисовкой в Chrome. Названия частей и глав совпадают с оглавлением книги.
  • Поля с подписями в контурах: vol2_introduction_coordination_tax.svg («синхр. 96 %», «вычисл. 4 %»), vol2_introduction_margin_001.svg («1,4 ТБ кольцо», «700 ГБ град.», «350 ГБ веса») и vol2_introduction_margin_004.svg («работа»): контуры букв заменены на текстовые узлы в тех же позициях. В vol2_introduction_ci_knee.svg оставлена аббревиатура CI, как в тексте.
  • Растровые рисунки (три файла): compute-trends.png (график Epoch AI, CC BY), compute_optimal.png и kaplan_scaling_data_compute.png (рисунки из статей Hoffmann et al. и Kaplan et al.): надписи осей, заголовка, легенды и пояснений заменены наложением русского текста на очищенный фон (Liberation Sans, DejaVu Sans). Названия моделей, числовые деления и подписи данных не менялись; данные не перерисовывались.
  • Обложка (webp/cover_introduction_blueprint_labeled.webp): четыре выноски («масштаб», «вычисления», «отказ», «координация») переписаны поверх той же иллюстрации; рамки и линии-выноски сохранены.

Рисунки других глав: заключительный этап

  • Глава 7, png/permanent_fault.png (поверхность ошибки деления Pentium FDIV): подписи осей, цветовой шкалы и выноски заменены наложением русского текста; данные и деления не менялись. В PROVENANCE выше эта картинка значилась как непереведенная.
  • Глава 8, svg/vol2_fleet_orchestration_margin_003.svg: подписи «спрос», «емкость», «разрыв SLO» заменены текстом; лишние контуры английских букв удалены.
  • Все небольшие поля (*_margin_*.svg и подобные) приведены к читаемому размеру сценарием scripts/scale_small_svgs.py (104 файла), как в остальных книгах серии.

Заключительная вычитка

Проход по всей книге (17 глав, части, вводные материалы, приложения, глоссарий):

  • Терминология: «вывод» в значении inference заменен на «инференс» (кроме значений «вывод» как заключение, вывод формулы и вывод из эксплуатации; «байесовский вывод» оставлен); «сетевая ткань» заменена на «сетевая фабрика», как в названии главы 3; «периферийный» в значении edge заменен на «граничный» (кроме CDN, сторонних устройств и топологии сети); «data-параллелизм» заменен на «параллелизм по данным»; «прунинг» заменен на «прореживание»; «авторегрессионный» заменен на «авторегрессивный»; в заключении «безопасными, надежными, устойчивыми и подотчетными» согласовано с названиями глав.
  • Оформление: заблуждения и ловушки во всех главах оформлены одинаково (**Заблуждение**: *…*, **Ловушка**: *…*, без врезки-цитаты); заголовок «Заблуждения и ошибки» заменен на «Заблуждения и ловушки»; суммы в долларах везде записаны как \$N (в главе 12 и частично в главах 3, 5, 7 «N $» и «N долл.» приведены к этому виду).
  • Ссылки: названия принципов в скобках выровнены по каноническим названиям со страниц частей; названия глав в ссылках («Вывод», «Инференс», «Периферийный интеллект», «Эксплуатация в масштабе», «Коллективная коммуникация») приведены к заголовкам глав; названия разделов в ссылках проверены по заголовкам и исправлены там, где расходились; ссылки вида «в главе 9» заменены ссылками по названию; семь ссылок с текстом «раздел» дополнены названием раздела; все упоминания приложений (около 70) стали настоящими ссылками на разделы приложений.
  • Удалены устаревшие пометки «пока не переведена», «в книге оно пока не переведено» (главы 4, 5, 8).
  • Проверки: scripts/check_books.py: ok для всех книг; scripts/check_links.py books/scaling-ml-systems: все относительные ссылки целы; mdbook build books/scaling-ml-systems: код возврата 0, формулы KaTeX без ошибок. Две батарейные формулы главы 15 исправлены (\text{ мВт}\cdot\text{ч}).