Литмир - Электронная Библиотека
A
A

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

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

* 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 ГГц. Посмотрим на тех. процессы: сравнивать имеет смысл только в рамках одной компании, ориентируясь на абсолютные единицы в начале таблицы, а ближе к концу – на относительные:

8
{"b":"920039","o":1}