IBM применили вычисления в памяти для машинного обучения

    Исследователи из IBM Research продемонстрировали успешную работу алгоритма машинного обучения без учителя, запущенного на PCM-устройствах (phase-change memory). Этот метод оказался в 200 раз быстрее и энергоэффективнее, чем традиционные вычисления по модели фон Неймана. Согласно заявлению IBM, технология подходит для создания высокоплотных массово-параллельных систем с низким энергопотреблением для использования в области ИИ.


    / Flickr / IBM Research / CC

    При вычислениях в памяти одно и то же устройство (память на основе фазового перехода — PCM) используется как для хранения, так и для обработки данных. Абу Себастиан (Abu Sebastian), исследователь из IBM Research, считает, что этот подход похож на то, как работает мозг.

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



    Эксперименты


    В своем эксперименте команда IBM использовала миллион модулей памяти с изменением фазового состояния на основе легированного GeSbTe. Под воздействием электрического тока этот сплав изменяет строение с кристаллического на аморфное. Аморфная форма плохо проводит ток. Поэтому варьируя её объем относительно кристаллической, можно представлять состояния сложнее бинарных.

    За счет этого явления удалось реализовать алгоритм машинного обучения по поиску связей между неизвестными потоками данных. Исследователи провели два эксперимента:

    На имитированных данных. Имеется миллион случайных бинарных процессов, из которых составлена 2D-сетка, наложенная на черно-белое изображение Алана Тьюринга в разрешении 1000x1000 пикселей. Пиксели мигают с одинаковой частотой, но черные загораются и затухают слабо коррелированным образом.

    Получается, когда «моргает» черный пиксель, повышается вероятность, что другой черный пиксель тоже мигнет. Эти процессы подключили к миллиону PCM-устройств и запустили алгоритм обучения. С каждым миганием вероятность «угадывания» повышалась. В результате система воспроизвела изображение.

    На реальных данных. Ученые взяли данные о дождях на территории США за 6 месяцев с 270 метеостанций с интервалом в 1 час. Если в течение часа шел дождь, он помечался как 1, иначе — 0. Ученые сравнили результаты своего алгоритма с результатами метода k-средних. Алгоритмы должны были установить корреляцию между данными с разных метеостанций. Результаты методов сошлись по 245 станциям из 270.


    / Flickr / IBM Research / CC

    Пока это только эксперимент в лабораторных условиях, но ученые считают его очень важным. По словам Евангелоса Элефтериу (Evangelos Eleftheriou), это большой шаг в исследованиях физики ИИ, а архитектура вычислений в памяти позволит преодолеть ограничения в производительности компьютеров.

    Среди недостатков решения исследователи называют возможное снижение точности вычислений. Поэтому использовать систему планируют в областях, где 100% точность не нужна. В декабре 2017 года состоится конференция IEDM, на которой IBM Research представят одно из применений вычислений в памяти.



    P.S. Другие материалы из нашего корпоративного блога:

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

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

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

          Тогда нужно прилагать дополнительные усилия по нивелированию этого (добавление шума, dropout). Если этого не делать, то, боюсь, ошибка будет лавинно нарастать (особенно при переносе на другой чип).
            0
            Там нет ошибки в обычном понимании, есть некий маршрут для минимизации ошибки, поиск абсолютного минимума в многомерном пространстве. При переносе на другой чип обучение пойдет просто немного по другому, да и повторное обучение будет идти по другому. Результат будет тот же по сути, а способ другой, в общем случае скажется только на времени обучения. То же самое, как и у людей. Например, при обучении как кататься на моноколесе, сначала непонятно, идет процесс обучения, а потом раз и всё понял, нейроны нашли комбинацию связей, при которых ошибка минимальна. Кто-то дольше понимает, кто-то быстрее.
              0
              Как я понимаю уже обученная на одном чипе нейросеть будет работать на другом чипе не совсем так как при обучении. Что бы это сгладить нужно принимать определенные методы. А то, что при обучении или дообучении будут разные сетки получаться не так страшно. Это не столько от чипа зависит, сколько от данных и начальной инициализации (мы же не рассчитываем найти глобальный оптимум коэффициентов?).

              Под ошибкой я понимал (в том числе) отклонение в прохождении по «некому маршруту для минимизации ошибки».

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

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