×

MS TECH 

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

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

Теперь же IBM предлагает ещё один способ. Идея состоит в уменьшении количества битов – или нулей и единиц, необходимых для представления данных, – с 16 бит текущего отраслевого стандарта, до четырёх.

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

И, наверное, самым привлекательным для нас с вами, простых обывателей, выглядит перспектива осуществления этой идеи потому, что она сделала бы процесс обучения нейросети более доступным для всех. Ведь обычному пользователю смартфона тоже есть куда применить умения «искусственного умника». Но нам, в отличие от богатых ресурсами технологических гигантов, не особенно важна чрезвычайная точность расчётов. Какое нам дело до десятого знака после запятой, если мы привыкли считать, что число «π» – это 3.14, а кое-где в мире и вообще 3?

Начало формы

Конец формы

Основа.

Чтобы понять, как это работает, давайте начнём с элементарного – с битов. Итак, бит – это фундаментальная частица информации, выраженная нулём или единицей: когда бит «включён», он соответствует 1; когда он «выключен» – превращается в 0. Другими словами, в каждый бит вы можете закодировать только две части информации.

Но как только вы соединяете их вместе, количество их совокупной информации будет возрастать в геометрической прогрессии. То есть два бита смогут нести четыре части информации, потому что теперь их комбинации нулей и единиц удвоятся и значения станут 22: 00, 01, 10 и 11. Далее, четыре бита могут представлять 24 (или 16) единиц информации. Восемь битов – 28 (или 256), и так далее.

Определённые комбинации битов представляют соответствующие типы данных –числа, буквы и цвета, – или типы операций – сложение, вычитание и сравнение. Большинство ноутбуков обладают 32- и 64-разрядными системами. Это означает, что он может использовать 232 или 264 битов сложности для кодирования каждого фрагмента либо данных, либо отдельной операции.

4-битный ИИ

Итак, берём 4-битный компьютер с соответствующим же уровнем сложности системы, имеющим 24 или 16 возможных значений информации – повторим – на каждый фрагмент данных. Таким образом, 4-битное глубокое обучение использует только одно из 16 целых однозначных чисел от -8 до 7, потому что это единственные числа, которыми может оперировать наш компьютер. Это касается всех вводимых нами, а также используемых в обучении и получающихся в расчётах точек данных и чисел.

Чтобы это легче понять, давайте для начала представим обучающие данные как массу черно-белых изображений. В таком случае первым шагом в осуществлении нашей идеи будет преобразование этих изображений в числовые наборы, поскольку наш компьютер понимает только такое представление данных. Мы делаем это, задавая каждому пикселю значение по шкале серого. Для этого нулём мы обозначим чёрный, а единицей – белый цвет, а десятичные значения дроби отобразят оттенки между ними. Давайте для удобства и назовём этот ряд цифровым (это нам сейчас пригодится), потому что его отличительная черта в том, что именно цифровая природа нашего компьютера может его интерпретировать. Итак, теперь изучаемое изображение представляет собой цифровой список чисел от 0 до 1.

Но! В используемой нами 4-битной системе нужно, чтобы информация отображалась в диапазоне целых чисел от -8 до 7, и мы вполне можем это сделать, если пойдём на хитрость в линейном масштабировании. Представим «чёрный» 0 по цифровой шкале как -8 по системной (или информационной), а «белую» 1 – как 7. Тогда десятичные дробные значения одной шкалы (от 0 до 1) будут, некоторым образом, соотноситься с цельночисловым рядом другой (от -8 до 7). Но, как не трудно представить, при равной длине двух шкал, десятая доля одной никак не будет равна шестнадцатой доле другой. Таким образом, присутствующие несовпадения будут решены округлением значений проекции цифровых дробей на информационную шкалу до приемлемых целых чисел. То есть, если 0.3 из «цифры» проецируется на «инфу» как -3,5, то последняя округляется до -4.

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

Так, IBM проводят несколько экспериментов, в которых моделируют 4-битное обучение для различных моделей ИИ в области компьютерного зрения, речи и обработки естественного языка. Результаты показывают ограниченную потерю точности в общей производительности моделей по сравнению с 16-битным процессом. Мало того, «младшенький» превосходит старшего брата более чем в семь раз по скорости работы и энергоэффективности.

Значение.

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

Но Мурманн также отмечает, что необходимы тщательные проверки правильности исследования. И он знает о чём говорит – в 2016 году его исследовательская группа опубликовала статью, демонстрирующую 5-битный подход. Но с годами их метод так и не нашёл применения. «Наш простой подход провалился, потому что нейронные сети стали намного более чувствительными, – говорит он. – Так что выдержит ли такая техника испытание временем – неясно». Тем не менее стэнфордский профессор считает, что работа «побудит других внимательно взглянуть на это и послужит стимулом для новых идей». 

«Это долгожданное достижение», – заключает Борис Мурманн

Ну и? Скоро?

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

Но прежде, чем 4-битный ИИ войдёт в наш повседневный обиход, остаётся ещё несколько важных преобразований, в том числе разработка нового 4-битного оборудования. Для этого, в 2019 году, IBM открыла Центр оборудования искусственного интеллекта. Кайлаш Гопалакришнан, научный сотрудник и старший менеджер IBM, курировавший эту работу, ожидает, что 4-битное оборудование будет готово для глубокого обучения через три-четыре года.


 

АРМК, по материалам MIT