8-битная аналоговая память для работы с нейросетями

    В конце года на Хабре появилась статья о том, что компании IBM удалось создать первый 8-битный чип, основанный на памяти с изменением фазового состояния (phase-change memory, или PCM).

    Сегодня мы расскажем, как работает устройство, представленное ИТ-гигантом.


    / фото IBM Research CC BY-ND

    С какой целью разрабатывается чип


    Современные системы машинного обучения в основном работают на базе графических процессоров (GPU). Они требуют активного охлаждения, так как GPU могут нагреваться в два раза быстрее центральных процессоров (CPU). Это выливается в большие счета за электроэнергию для дата-центров, в которых такие вычислительные кластеры располагаются.

    Вопрос снижения энергопотребления важен для центров обработки данных (ЦОД). По оценкам аналитиков, к 2025 году дата-центры будут потреблять 20% всего генерируемого электричества. С целью сокращения расходов ЦОД и ведутся разработки новых технологий для машинного обучения (МО). В их числе 8-битная аналоговая память с изменением фазового состояния (PCM-память) от IBM. По оценке разработчиков, новые чипы окажутся в сто раз производительнее классических GPU и потребуют в 280 раз меньше энергии.

    Преимущества PCM-памяти объясняются тем, что обработка и хранение данных происходят на одном устройстве. В традиционных системах эти процессы разделены — данные приходится переносить с устройства на устройство, и из-за этого скорость вычислений и их энергоэффективность снижается.

    Чип работает с 8-битными числами с плавающей точкой. Обычно в машинном обучении используют числа с большей точностью, однако, по словам исследователей из IBM, в «повседневных» задачах этого оказывается достаточно.

    Создателям технологии удалось применить её в переводе текстов и распознавании речи и изображений. Вице-президент по исследованиям IBM Джефф Уэлсер (Jeff Welser) сравнил работу нейронной сети в чипе с человеком, который видит расплывчатую фигуру в запотевшем окне, но все равно узнает в этом «пятне» своего родственника или друга.

    IBM уже показала первые результаты работы PCM-памяти с технологиями машинного обучения. На чипе запустили простую однослойную нейронную сеть, которая распознавала написанные от руки числа 1, 0 и 4. Алгоритм различил изображения со 100-процентной точностью.

    Как работает аналоговая память IBM


    Чип изготовлен из сплава германия, теллура и сурьмы, размещенного между двумя электродами. Когда через материал пропускают ток, он меняет состояние с кристаллического на аморфное. Эти состояния означают ноль или единицу.

    Из-за того, что фаза меняется не во всем объеме сплава, а лишь в его части, в ячейке можно сохранять промежуточные значения между 0 и 1. При записи в память числа не «округляются», и это помогает добиться большей точности алгоритмов, работающих на чипе. Считается, что такой метод хранения данных более достоверно передает поведение нейронов в мозге человека.

    При чтении данных через ячейку пропускают небольшой ток и измеряют сопротивление. В аморфном состоянии сопротивление сплава оказывается более высоким, чем в кристаллическом — по этому показателю и определяют, какое число хранится в ячейке.

    Хотя напряжение при чтении ниже требуемого для изменения фазового состояния материала, оно приводит к небольшому сдвигу частиц и искажению данных. Поэтому в IBM усовершенствовали PCM-память и добавили в устройство дополнительный слой из нитрида титана, который «оборачивает» сплав — его назвали отражателем.


    / Koelmans, W.W. et al. Projected phase-change memory devices / СС BY

    При записи данных отражатель никак не влияет на прохождение тока через сплав, так как сопротивление нитрида титана в этом случае выше, чем сопротивление материала ячейки. При чтении данных, сопротивление материала ячейки становится выше, чем у отражателя, и поэтому ток проходит по внешнему слою, минуя сплав. Такой тип памяти в IBM назвали Proj-PCM, или projected PCM — «PCM с отражателем».

    Перспективы технологии


    В ИТ-индустрии к новому чипу отнеслись положительно. По словам научного редактора издания Ars Technica, у устройства большой потенциал — с развитием технологии и сокращением размера ячейки памяти IBM может увеличить производительность устройства минимум в сто раз. Однако ИТ-гиганту ещё предстоит решить несколько сложностей.

    Первая — массовое производство PCM-памяти. По словам аналитика рынка процессоров Линли Гвеннапа (Linley Gwennap), характеристики чипов, например, рабочее напряжение и сопротивление электронных схем, меняются от устройства к устройству. Гвеннап считает, что IBM ещё предстоит разработать подходящий производственный процесс, поэтому аналоговый чип не скоро станет коммерческим продуктом.

    Ещё одна сложность — устойчивость к изменениям температуры. Сейчас под воздействием тепла или холода сплав меняет свою фазу. Поэтому создателям устройства предстоит придумать способ защиты чипа от температурных колебаний. Вероятно, выходом станет уменьшение размера устройства — исследования показывают, что материал менее подвержен влиянию температуры при толщине слоя в несколько нанометров.


    / фото IBM Research CC BY-ND

    Кто еще занимается разработкой чипов для МО


    Похожую технологию разрабатывает стартап Mythic. В основе устройства компании — многоуровневая флеш-память (multi-level cell, или MLC). Ячейка чипа может хранить не два или четыре уровня заряда, как в более распространенных устройствах флэш-памяти, а 256. Это значительно повышает её емкость. Ожидается, что такая память будет использоваться для реализации алгоритмов машинного обучения в устройствах интернета вещей: смартфонах, дронах, умных колонках и слуховых аппаратах.

    Другой похожий чип создает компания Syntiant. Вычисления в устройстве также производятся в MLC-памяти. Главное преимущество технологии — низкое энергопотребление. Представители компании говорят, что их устройство потребляет в 50 раз меньше электричества, чем цифровые процессоры. Syntiant также будут использовать в гаджетах, которые питаются от батареи: смартфонах, носимых устройствах, датчиках и камерах наблюдения. Стартап уже работает над первой коммерческой реализацией технологии — «умным» микрофоном.

    В целом аналоговые PCM-чипы пока не предназначены для проведения высокоточных вычислений. Поэтому их используют в комбинации с центральными и графическими процессорами. В IBM считают, что гибридная архитектура может создать равновесие между производительностью и точностью. Но в будущем ожидается, что аналоговая память сможет заменить классические чипы в дата-центрах.



    Первый блог о корпоративном IaaS:


    Наш IaaS-блог в Telegram:

    ИТ-ГРАД
    271,00
    vmware iaas provider
    Поделиться публикацией

    Комментарии 10

      0
      Добавьте пожалуйста расшифровки аббревиатур, непосвященный человек может только догадываться или гуглить, расшифровка облегчила бы чтение.
        0
        PCM ячейка — просто управляемый переменный резистор, аналоговый элемент. Что ещё за «8-битные числа с плавающей точкой»? Даже, если на I/O-операциях происходит оцифровка сопротивления, то где там в 8-ми битах плавать точке?
          0
          double -> float -> float16 -> float8. Хоть float8 и не описан в IEEE 754, создать его руками не так что бы очень сложно. SEM например 1/2/5, либо 1/3/4
            0
            интересно, а мю и а-законы можно считать плавающей точкой? и они используются в нейро-сетках?
            ru.wikipedia.org/wiki/G.711
              +1
              создать его руками не так что бы очень сложно

              Так дело не в сложности, а в разумности. Хотя я склоняюсь, что эти «8 бит» в резисторе просто кривой перевод плохо выбранной аналогии.
              0
              Точка у них по видимому начинает и прекращает плавать на входе-выходе информации в этот чип. Внутри чипа все хранится в аналоговой форме — умножения на веса происходят в аналоговой форме тоже…
                0
                Аналоговый элемент же и означает, что у него нет никаких фиксированных (дискретных) состояний. А почти бесконечное множество возможных состояний из какого-то непрерывного диапазона.

                Но остальные части чипа, не аналоговые, а классические цифровые — при взаимодействии аналоговых и цифровых (дискретных) частей и происходит оцифровка сигнала.

                Ну а в виде целого числа представлять этот результат оцифровки или с плавающей точкой — вопрос цифровой обвязки и поставленной задачи. Аналоговую сущность непрерывной (но не слишком точно измеряемой) величины лучше передают как раз числа с плавающей точкой.
                В приложении к нейросетям уже давно от чисел c плавающей точкой стандартной точности (FP32) переходят к половинной (FP16), FP32 явно избыточно, а FP16 позволяют получить отличный выигрыш в скорости и энергопотреблении. В последних работах приходят к выводу что и 8 бит для ИНС в большинстве случаев вполне достаточно. При этом в основном работают с INT8, т.е целыми числами разрядностью 8 бит, что дает всего 256 фиксированных градаций. Этого иногда оказывается мало. Не в плане точности, в плане диапазона — при INT8 максимальный сигнал (вес) может отличаться от минимального только в 256 раз максимум. И в плане дискретности — при малых значениях получаются скачки сразу на 100% (1==>2) 50% (2==>3) и т.д.

                Сейчас как раз обсуждают, что FP8 для AI разработок вероятно подходит лучше чем INT8: 8-Bit Precision for Training Deep Learning Systems
                0
                А нейросеть они на этом как запускали? И при чём здесь локальность вычислений? Имеется в виду то, что одна ячейка — это один вес; и она, как бы, автоматически «умножает» входящий ток на коэффициент?
                  0
                  Кстати, есть техники оптимизации ввода-вывода памяти для нейронных сетей, когда используется еще одна нейронная сеть чтобы определить, — какие ячейки надо изменять, чтобы сеть быстрее тренировалась.
                    –1
                    Напряжение тока это интересно…

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                    Самое читаемое