Благодарности
Истоки
Прежняя работа по TinyML выросла из понимания того, что ограничения, управляющие устройствами в милливаттах, те же, что управляют ускорителями в дата-центрах. Эта книга выросла из другого понимания, которое пришло во время работы над эффективностью парков ML в Google в качестве приглашенного исследователя. Эту возможность открыл Питер Маттсон, с которым мы сотрудничали над MLPerf. Увиденное там изменило мое представление о системах ML: инженерия, нужная для того, чтобы связать тысячи ускорителей в единую согласованную систему, — самостоятельная дисциплина, и у этой дисциплины не было учебника.
Эта работа познакомила меня с метрикой ML Productivity Goodput (MPG), с неоднородностью парка в масштабе, какого я прежде не видел, и с повседневной реальностью отказа как статистической неизбежности, а не исключения. Разрыв между тем, что знали практики, и тем, что было записано, оказался огромным. Исследователи, построившие эти системы, публиковали отдельные результаты, но соединительная ткань между этими результатами, принципы, которые сплавляли их в дисциплину, существовала только в головах тех, кто делал эту работу. Эта книга — попытка задокументировать такую соединительную ткань.
Коллеги и соратники
Большую часть того, что я знаю о системах масштаба парка, я узнал от команды по эффективности парков ML в Google: Ариссы Вонгпаних, Тайо Огунтеби, Хосе Байокки Паредеса, Ю Эммы Ван, Питчаи Мангпо Потхилимтханы, Ритвики Митры и Цзунвэя Чжоу. Навин Кумар руководил этой работой, и то, как он думал об оптимизации на уровне парка, до сих пор определяет мое мышление. Роберт Хундт углубил мое понимание инженерии производительности в масштабе. Вместе Навин и Роберт показали мне, как выглядит эффективность парка изнутри. Дэвид Кантер продолжил сотрудничество в рамках MLPerf, и наши обсуждения бенчмаркинга распределенных систем отточили количественную методологию, которая проходит через каждую главу. Грег Диамос дал бесценный взгляд на законы масштабирования и их истоки в Baidu, где сложились некоторые из самых ранних работ по крупномасштабному распределенному обучению.
Особой признательности заслуживают исследователи, чьи работы заполняют библиографию этой книги. Принципы, которым здесь учат, открыли практики и исследователи, которые строили системы, измеряли отказы и публиковали то, чему научились, а не изобретали их ради этого учебника. Эта книга сводит их работу в связное повествование. Долг — перед ними.
Поддержка
Работу поддержали Harvard Data Science Initiative, Harvard Extension School и Национальный научный фонд; Edge AI Foundation и ICTP поддержали образовательную работу и стипендии; а наши партнеры из промышленности предоставили инфраструктуру и инструменты, которые сделали возможными практические эксперименты.
В MIT Press Сьюзан Хартман поверила в этот проект с самого начала и провела оба тома от эксперимента с открытым исходным кодом до опубликованных учебников. Ее редакторское чутье и поддержка сделали эту книгу реальностью. Я не менее благодарен MIT Press за согласие оставить эту книгу в открытом доступе. Учебник о дисциплине, сформированной сообществом открытого исходного кода, должен быть доступен каждому в этом сообществе.
Сообщество открытого исходного кода сформировало эту книгу так, как не мог бы ни один автор в одиночку. Десятки участников нашли ошибки, улучшили объяснения, завели обращения и отправили запросы на слияние. Книга стала лучше, потому что люди, которые ничем ей не были обязаны, решили сделать ее лучше. Я благодарен каждому из них.
Полный и самый актуальный список всех участников можно найти на странице участников GitHub. Тем, кто хочет присоединиться, стоит ознакомиться с руководством для участников. Галерея участников в русском издании не воспроизводится.
Каждая звезда на GitHub — сигнал о том, что кому-то небезразличен этот материал, что он учится по нему и верит, что работа важна. Онлайн-сообщество учащихся, с его вопросами, любопытством и готовностью работать с незавершенным учебником, поддерживало проект, когда объем казался подавляющим.
Наконец, я благодарю жену и детей. Эту книгу я писал в часы, которые принадлежали им: в выходные, исчезавшие в правках, в вечера, затягивавшиеся за полночь, в утра, когда я был рядом, но не совсем. Они никогда не жаловались. Они спрашивали, как идет работа, приносили мне кофе и давали мне пространство, чтобы закончить. Какие бы достоинства ни были у этой книги, их терпение и поддержка сделали ее возможной.