Машинное обучение на практике – от модели PyTorch до Kubeflow в облаке для BigData

Евгений Сергеевич Штольц, 2020

В этой книге Главный Архитектор Департамента Архитектуры Управления Технической Архитектуры (Центра Облачных Компетенций Cloud Native и Корпоративного университета архитекторов) и архитектор решения Сбербанка делится знаниями и опытом с читателей в области ML, полученных в работе Школе архитекторов. Автор: * проводит читателя через процесс создания, обучения и развития нейронной сети, показывая детально на примерах * повышает кругозор, показывая, какое она может занимать место в BigData с точки зрения Архитектора * знакомит с реальными моделями в продуктовой среде

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Машинное обучение на практике – от модели PyTorch до Kubeflow в облаке для BigData предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Способы ускорения обучения

Пробежимся по истории развития вычислительных систем которая давала вычислительную основу для развития искусственного интеллекта:

* 1642 — механические вычислительные машины, * 1940 — ламповые вычислительные машины, * 1955 — транзисторные вычислительные машины, * 1965 — компьютеры на интегральных схемах, * 1980 — компьютеры с центральными процессорами, * 1995 — многоядерные видеокарты, * 2006 — компьютеры с многоядерными процессорами, * 2017 — компьютеры с матричными процессорами.

На универсальных процессорах можно выделить три пути обеспечения ускорения вычислений, в частности, ускорения обучения нейронных сетей, — распараллеливание вычислений, увеличение количества операций за единицу времени и увеличение объёма вычислений за операцию. Рассмотрим с самой однозначной и имеющей богатую историю способа повышения производительности — увеличение количества операций за единицу времени. Достигается это за счёт увеличения тактовой частоты процессора. Исторически мы можем проследить её историю на примерах процессоров компании Intel серии Pentium для домашних рабочих станций и игровых персональных компьютеров, которые сделали ставку именно в том числе на неё и сильно продвинулись в этом направлении. Важно заметить, что Intel имела время (история от процессоров Intel Pentium 1 100 Мегагерц до Intel Pentium 4 5600 Мегагерц), средства (эта ниша на была лидером по объёму продаж и были популярны компьютерные игры) и необходимость (имела конкурента AMD, который имел архитектурные преимущества в виде разрядности шины в 64 вместо 32, и в случае смены лидера мог договориться адаптировать программное обеспечение под эту разрядность) для того, чтобы реализовать это направление по максимуму. Процессора Intel Pentium 1 100 Мегагерц работали с охлаждающим модулем, Intel Pentium 2 400 Мегагерц — с радиатором, выше уже требовался, как минимум, вентилятор. Начиная с частоты 3200, пользователи ставили вместо полностью алюминиевого радиатора, сперва алюминиевого с медной подложкой, потом полностью медные, так как теплоёмкость у алюминия 904 Дж/(кг*град), а у менди кратно меньше 381 Дж/(кг*град), что позволяет ему быстрее отдавать тепло дальше. Большие показатели дают другие металлы не слишком мягкие и не слишком легкоплавкие, такие как серебро (250) и золото (130), поэтому пошли не по теплопроводности самого материала, а по забору тепла при плавлении материала в тепловых трубках. Пепловые трубки отходят от подложки и ведут через закреплённые на них пластины, обдуваемые двумя вентиляторами, образуя прямой поток воздуха. Тепловые трубки оказывают хороший результат (100 Вт для 3 штук, 180 Вт для 6 штук), перенос тепла которыми осуществляется за счёт испарения жидкости в них находящийся в испарительной камере у радиатора, но большая площадь меди и большая разность температуры водяного охлаждения предоставило большую популярность, а вот в ноутбуках — наоборот, тепловые трубки очень популярны, а движение возврат конденсата обусловлен капиллярной структурой в самих трубках. А для поддержки больших частот продавались процессоры, которые выбирались из партии экспериментальным путём по возможности стабильно работать на этих частотах, и требовали, зачастую, водяного охлаждения и вынесенным радиатором из их системного блока персонального компьютера. Экстремальные же частоты достигались индивидуально и требовали криогенных установок, иногда в несколько контуров. При всём при этом, с каждым 100 Мегагерц повышение частоты достигалось большими затратами с высокими рисками повреждения процессора и не получало стабильную вычислительную производительность. На 2021 проверяются решение по литографии капилляров для охлаждающей жидкости внутри процессора, что может быть особенно актуально для многослойных процессоров. Приведу процессоры без бюджетных вариантов и серверных версий компании Intel с лидирующей архитектурой x86 в CISC:

1971, 4004: 500—740 кГц 1972, 4040: 500—740 КГц 1972, 8008: 200—800 кГц 1974, 8080: 2—4 МГц 1976, 8085: 3—6 МГц 1978, 8086: 4—16 МГц 1979, 8088: 5—16 МГц 1982, 80188: 6—20 МГц 1982, 80286: 6—20 МГц 1985, 80386: 12—40 МГц 1991, 80486: 16—150 МГц 1993, Pentium: 60—300 МГц 1995, Pentium Pro: 133—200 МГц 1997, Pentium MMX: 166—233 МГц 1997, Pentium II: 233—450 МГц 1999-2003, Pentium III: 0.4—1.4 ГГц 2000-2008, Pentium 4: 1.3—3.8 ГГц 2006-2011, Core 2 Extreme: 2.3—3.2 ГГц 2008-2013, Core i3: 2.4—4.2 ГГц 2008-2020, Core i7: 1.0—4.7 ГГц 2017-2021, Core i9: 2.1—5.3 ГГц

С Pentium III ситуация не так однозначна, так как имеются пересечения по времени и в один год выходят процессоры начального уровня и топового, поэтому детализируем из отрытых источников:

год процессор i7 Base/Boost GHz 2008 Core i7-965 EE 3.2 2009 Core i7-975 EE 3.3 2010 Core i7-980X 3.3 2011 Core i7-990X 3.5 2012 Core i7-3820 3.6 2013 Core i7-4820K 3.7 2014 Core i7-4790K 4.0 / 4.4 2015 Core i7-6700K 4.0 / 4.2 2016 Core i7-7700K 4.2 / 4.5 2017 Core i7-7740X 4.3 / 4.5 2018 Core i7-8086K 4.0 / 5.0 2019 Core i7-9700KF 3.6 2020 Core i7-10700K 3.8 2021 Core i7-11700KF 3.6 год процессор i9 GHz / Boost 2017 Core i9-7900X 3.3 / 4.3 2018 Core i9-9900X 3.5 / 4.5 2019 Core i9-9990XE 4.0 / 5.1 2020 Core i9-11900KF 3.5 / 5.2 2021 Core i9-12900KF 3.5 / 5.3

И видно, что до 2017 года тенденция сохранялась. Понятно, что, конкурентом крупнейшего производителя в первую очередь является он сам и вывод последних разработок менеджментом в гарантированном горизонте их работы в должности. Но и никто не отменял, что отлаживать нужно технологические процессы и архитектуры. С другой стороны, эстафету гонки в Boost за максимальную частоту продолжается тенденция роста максимальной частоты. Boost — это повышение частоты процессора до максимума в текущих условиях. Максимум определяется стабильностью процессора (отсутствием ошибок), которая зависит от стабильности электропитания, качества охлаждения, окружающей температуры и качества процессора, величина которая плавает в определённых пределах. Процессор определяет, не наступили пограничные ли параметры, а если нет — то повышает свою частоту. Технология используется как в процессорах от Intel (Intel Turbo Boost Technology 2.0), так и в процессора от AMD (Precession Boost 2 Curve).

Ускорить вычисления можно разными способами и самый простой в начале оказался за счёт ускорения выполнения отдельных операций. Сами операции состоят из простейших оперций — И, ИЛИ и НЕ, которые реализуются транзисторами. Эти транзиторы переключаются управляющим сигналом, переходя к слудующему сигналу, тем самым простейшие опрерации сдвигаются ("проталкиваются") управляющим сигналом. Этот упрвляющий сигнал позволяет синхронизировать все операции в процессоре и поэтому его частотм назвается опорной частотой центрального процессора. Для других систем, скорость которых не зависит от процессора могут применяться отдельные кварцевые генераторы опорной частоты, например, для шины PCI-Express и мостов. В современных процессорах контрукцией их заложено выполнение нескольлких операций за один тактовый такт. И действительно, задав в два раза большую частоту мы можем произвести в два раза больше операций. Так в 1971 процессор Intel 4004 работал на чистоте 500—740 кГц, а в 1993 процессор Intel Pentium на частотах 60—300 МГц, что больше в 120 раз на минимуме и 400 на максимуме. Проблемой является то, что токи с большими частотами имеют высокое тепловыделение. Так Intel 8008 с частотой 2—4 МГц получил стальную крышку, а размеры стальной крышки росли с ростом подложки, а на Intel Pentium II с частотами 233—450 появился алюминиевый радиатор, на Intel Pentium III с частотами 0.4—1.4 ГГц уже появился кулер (вентилятор) над радиатором, а с Pentium 4 более 3 ГГц уже шли массивные радиаторы 83х68 мм с большим вентилятором 60х60 мм и зачастую с медно-алюминиевыми рёбрами и основанием, при частотах выше 4 ГГц требовалось водяное охлаждение с внешним радиатором. Безусловно, не только при увеличении частоты из-за выделения теплоты требуется уменьшения технологического процесса, но и других физических процессов. Но это всё на десктопных рабочих станциях, а для переносных — единственным решениям оставалось уменьшать частоты до примерно 2.5 ГГц. Посмотрим на тех. процессы: сравнивать имеет смысл только в рамках одной компании, ориентируясь на абсолютные единицы в начале таблицы, а ближе к концу — на относительные:

год, модель: технол. процесс 1971, 4004: 10 мкм 1972, 4040: 10 мкм 1972, 8008: 10 мкм 1976, 8085: 3 мкм 1978, 8086: 3 мкм 1979, 8088: 3 мкм 1982, 80188: 3 мкм 1985, 80386: 1.5 мкм 1991, 80486: 1.0 мкм 1993, Pentium: 0.8 мкм 1997, Pentium II: 0.35 мкм 1999, Pentium III: 0.13 мкм 2000, Pentium 4: 0.18 мкм 2006, Core 2: 0.065 мкм 2008, Core i7: 0.045 мкм 2017, Core i9: 0.014 мкм 2021, Core i9-11: 0.010 мкм

Для Apple:

2017, Apple A11: 0.010 мкм 2018, Apple A12: 0.007 мкм 2020, Apple A15: 0.005 мкм 2022, Apple A16: 0.003 мкм (планы Apple) 2027, 0.002 мкм (тестовый образец от IBM) 2029, 0.0014 мкм (предсказания)

Первыми устройствами были лампы, увеличение числа которых в устройстве ограничивалось их размером и их энергопотреблением. Сделать лампу очень маленькой довольно сложно, так нужно сделать её герметичной и закачать в неё инертный газ. Производители пытались упростить производство делая сборки из лам, когда выплавлялась не одна лампа разом, а несколько — по сути одна лампа, разделённая перегородками. Другими попытками было помещение в одну лампу несколько триодов. Но так или иначе, из-за размера, дороговизны изготовления и потребления электроэнергии их начали заменять транзисторами начиная 1950 в виде отдельных транзисторов, как в то время называли"кристаллических триодов". Долгое время барьером применения в серийного производство для транзисторов было возможность переключить своё состояние за счёт накопления потенциала из-за внешнего радиоактивного фона альфа-частицами — для избежания этого в используются корректоры в процессорах и памяти (error-correcting code memory). В мелко серийном производстве ламповые усилители звука давали определённые искажения, которые были более привычны музыкантам эпохи ламповых усилитей — сейчас подобные искажения эмулируются алгоритмически. Транзисторы 1950 годов представляли из себя отдельные электронные устройства в отдельном корпусе с выводами для впайки на лату, сходных с теми, что сейчас используются в блоках питания. Размеры транзисторов уменьшались и начали выпускать микросборки, представляющий плату в корпусе интегральной схемы, в которую вручную помещались под лупами с помощью пинцетов бескорпусные микроминиатюрные транзисторы и другие элементы поверхностного монтажа, такие как резисторы и транзисторы. Позже, часть этих элементов, таких как транзисторы и конденсаторы эмулировалось самими дорожками в силу сниженной величины токов и напряжений, в которых они работали. Для чего проводилось сужение дорожек лазером для увеличения сопротивления и созданием широкой дрожки по верх другой методом вакуумного напыления (толстопленочной технологии) с последующем заливкой корпуса. В 1960 годах начала развиваться планарная технология для создания монолитных интегральных схем, заключающаяся в том, что не создаются отдельные транзисторы, которые необходимо помещать на печатную плату, а выращиваются прямо"плате"из полупроводника, являющаяся основой всех этих транзисторов. Технология изготовление таких интегральных схем унаследовало литографию, применяющуюся в производстве дороже у печатных плат, только в данном случае формируются не только токопроводящие дрожки, но и полупроводниковые и изолирующие участки (транзисторы). Принцип сводится в равномерном нанесении требуемого покрытия и удаление его с ненужных мест различными методами. Нанесение проводящего слоя осуществляется осаждением, а на полупроводниковой подложке — выращиванием. Для удаления применяют растворители (щёлочи, кислоты), от действие которых в нужных местах защищает предварительно наносимое защитное покрытие, которое можно удалить в последствии специальными растворителями защитных покрытий. Расположение защитного покрытия и определяет расположение требуемого покрытия. Механически наносить покрытие на нужные участки чипа, как это делается на печатных платах, уже не позволяла точность нанесения и количество брака, поэтому тотально применяется фотолитография. Первый опытный образец, произведённой по этой технологии был продемонстрирован в 1959 году. Фотолитография заключается в том, что защитное покрытие наносится равномерно, в нужных местах утверждаются светом, а после промывки незатвердевшие покрытие смывается. Для проекции света его пропускают через маску (трафарет) и фокусируют линзами до нужного масштаба и силы светового потока. Маска в нужных местах пропускает свет, а линзы объектива фокусирую свет более мелкий масштаб. Таким образом точность рисунка защитного покрытия определяется точностью засвечиванием светом ещё незатвердевшего защитного покрытия. В начале века это был обычный свет, но позже длина волны не позволяла достичь необходимой точности и она смещалась в торону более коротковолнового излучения, делая стремясь к более узкому излучению, и соответственно, более точному. Так в 1971 году применялся красный свет 700 нм, в 1975 фиолетовый в 400 нм, ультраиолет с 436 нм от лампы с плазмой из ртути, с 1970 ультрафиолет в 248 нм с помощью плазмы криптона и фтора, далее применяется глубокий ультрафиолетовый (Deep Ultra Violet, DUV) с помощью фторидаргнового лазера в 193 нм, затем 150 нм и 80 нм. В 2001 году был получен экстремальноглубокий ультрафиолет (Extreme Ultra Violet, EUV) с помощью плазмы олова в 13 нм. При такой длине волны свет поглощается воздухом, для чего процесс производится в вакууме, и линзами, для чего фокусируют его специальными зеркала из слоёв кремния и слоёв молибдена. Стоимость и сложность оборудования не позволяет производить его несколькими компаниями поэтому производителями процессоров профинансирована компания ASML, ставшая монополистом. Спросс есть на него есть и он не удовлетворён полностью, так как в 2020 году выпущено всего 31 штука. Разработки аналога ведутся в Китае. Такой лазер обеспечивает точность достаточную для технологических процессов в 1.5 нм. Далее начали вступать квантовые ограничения. Сперва приделом считался процесс 14 нм, потом его отодвинули на 5 нм, сейчас ведётся освоение 3 нм для 2023-2024 года, 2 нм для 2025-2027 года и 1.4 нм для 2029 года, но с каждым разом отодвигание происходит с меньшим шагом, а сложность перехода без брака возрастает. В 2021 году процессоры на 5 нм уже есть в массовом производстве от Apple, процессоры на 3 нм в тестовом у TSMC.

Конец ознакомительного фрагмента.

Оглавление

* * *

Приведённый ознакомительный фрагмент книги Машинное обучение на практике – от модели PyTorch до Kubeflow в облаке для BigData предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Смотрите также

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я