1 + 1 = 2,01… или 1,98


Агентство DARPA финансировало разработку компьютерного чипа S1, который спроектирован таким образом, чтобы добавлять небольшие ошибки в вычисления. Разработчики из компании Singular Computing уверены, что нечёткие вычисления — одно из необходимых условий для компьютерных систем, которые обрабатывают зашумлённые данные из реального мира, например, видео.

«Если микросхемы считают ошибочно, это не значит, что результаты программы будут ошибочны», — говорит Джозеф Бейтс (Joseph Bates), сооснователь и исполнительный директор Singular Computing. Микросхемы с нечёткой логикой и негарантированно точными ответами всё ещё дают хороший результат на многих задачах, но при этом конструктивно проще и потребляют меньше энергии, а в некоторых приложениях ИИ они даже эффективнее.

Singular Computing работает совместно со специалистами из Сандийских национальных лабораторий (Sandia National Lab), университета Карнеги-Меллона, управления военно-морских исследований Министерства обороны США и Массачусетского технологического института. Они разрабатывают тесты, которые могут проверить эффективность нечёткой логики чипа S1 на определённых задачах. Лучше всего для такой обработки подходят данные с шумом или такие, где требуется некая апроксимация.


Варианты сжатия JPEG

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

Например, приложение для трекинга объектов на видео (автомобили и др.) в симуляции показало производительность по обработке кадров почти в 100 раз выше, чем обычный процессор с абсолютно точной математикой, при этом потребляет менее 2% энергии, по сравнению с обычным процессором.

Singular Computing — не первая компания, которая экспериментирует с приближёнными вычислениями. Такие исследования ведутся уже много лет, даже Intel когда-то выпускала процессоры Pentium с ошибкой при делении чисел с плавающей запятой (правда, не специально). Однако нынешние инвестиции DARPA — самые большие вложения в такую разработку за все годы. Это и понятно, ведь с развитием беспилотных самолётов, робототехники и систем видеонаблюдения обработка видеопотоков как никогда актуальна, именно здесь идут самые интенсивные научно-технические работы.

Singular Computing собирается сконструировать кластер вероятностных компьютеров, в каждом из которых установлено 16 вероятностных чипов S1 и один обычный процессор. Летом пять первых компьютеров раздадут для тестирования государственным организациям и учебным учреждениям. Эти тесты должны подтвердить потенциал технологии и подогреть интерес со стороны производителей микросхем.

Эта инвестиция DARPA произведена в рамках программы Upside, созданной для изобретения новых более эффективных технологий видеообработки. Те же беспилотные самолёты-разведчики снимают большие объёмы видео, но не всегда могут передать их в реальном времени для обработки, а иметь высокопроизводительный компьютер на борту весьма накладно.

Программистам непросто будет приспособиться к новым чипам, ведь они привыкли к мысли, что процессор всегда выдаёт точный результат вычислений, говорит Кристиан Энц (Christian Enz), профессор Швейцарского федерального технологического института в Лозанне, который сам занимается созданием вероятностных чипов. Для программирования предстоит создать новые инструменты.

С другой стороны, приближённые вычисления являются более логичными и натуральными для обработки нечётких данных, размышляет Деб Рой (Deb Roy), профессор MIT Media Lab и директор по исследованиям медиа в Twitter, так что сейчас программисты как никогда готовы использовать такую технику для обработки фото и видео, а также для компьютерного анализа событий реального мира и человеческого поведения.

Комментарии (32)


  1. nagvv
    16.04.2016 13:54
    +12

    «Новые военные чипы используют приближённые вычисления» — как заголовок подошло бы получше.
    Ализар и заголовки, как всегда.


    1. alizar
      16.04.2016 16:52

      Да, так действительно лучше, спасибо за совет. :)


    1. vvzvlad
      16.04.2016 19:29
      +3

      А как было-то? Я же спать не смогу!


      1. nagvv
        16.04.2016 19:39
        +7

        было: «Новые военные чипы специально считают с ошибками».


  1. Celtis
    16.04.2016 14:02
    +4

    Ну это уж как-то совсем желто…
    Даже с «коррекцией баланса белого по автору»

    Из статьи создается впечатление, что все достижение Singular Computing заключается во внесении искусственной ошибки в вычисления, от чего всем становится хорошо и быстро.
    Учитывая, что все численные методы, по сути своей, дают неточный результат(как бороться с погрешностями или хотя бы их прогнозировать — отдельная наука), вообще непонятно, о чем речь: то ли о реализации в железе неких мат. моделей, то ли все-таки о нестрогой логике(тогда говорить об ошибках вычислений вообще некорректно)

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


    1. Nulliusinverba
      16.04.2016 22:30

      что такое «нестрогая логика»? я знаю нечеткую (fuzzy), вы о ней?


  1. valemak
    16.04.2016 14:27
    +8

    Вспомнился один из так называемых «армейских тупых афоризмов» (из разряда "От забора и до обеда", "Любите Родину, мать вашу!" и проч.):

    В условиях военного времени значение числа Пи может достигать четырёх.


    1. MegaVaD
      16.04.2016 18:35

      А если вспомнить школьную программу — как вычисляется это число, то в шутке становится гораздо больше смысла :)


      1. MegaVaD
        16.04.2016 22:16
        +1

        То есть минусуют потому что очевидно и без моего камента про метод Монте-Карло? Тогда извиняюсь за плоскую шутку.


        1. Danov
          17.04.2016 11:56

          Так сразу бы и написали, что «в школьной программе Монте-Карло используют для расчета Пи для демонстрации приближенных вычислений». Ведь можно и 22/7 использовать для инженерных расчетов на самых простых калькуляторах.


          1. MegaVaD
            17.04.2016 13:18

            22/7 с мишенью и количеством попаданий не может быть связано, а в условиях военного времени мишень и кол-во попаданий решают


  1. Moog_Prodigy
    16.04.2016 14:33
    +3

    Возможно, это возврат к АВМ (аналоговые вычисления) на новом уровне.


  1. demimurych
    16.04.2016 15:14

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


    1. Foolleren
      16.04.2016 16:05

      Мне вообще кажется что они просто взяли и запилили fp8 с округлением младшего разряда по типу «чётный такт с повышением нечётный с понижением», и обозвали это фичей.


      1. spmbt
        16.04.2016 16:23

        Нет, потому что ключевое слово здесь «потребляет менее 2% энергии». Поэтому речь, скорее, об АВМ в младших разрядах.

        (А в плане журналистского стёба ещё не обсосали тему, что ошибка будет возрастать после окончания срока гарантии чипа.)


        1. Foolleren
          16.04.2016 16:24
          +1

          а по сравнению с чем 2%?


          1. spc
            16.04.2016 21:38

            Из контекста

            чем обычный процессор с абсолютно точной математикой


            1. Foolleren
              16.04.2016 21:54

              а, что нынче обычный процессор? поделие интела, амд, или лицензиатов ARM? так и те гады не дают точных результатов так 15 знаков после запятой, если надо больше приходится изголяться.


              1. spc
                16.04.2016 22:13

                Там, похоже, все круче. Я поискал оригинал текста и увидел в нем, что «while using less than 2 percent as much power». По моему субъективному ощущению английского языка это означает, что энергии фаззи-процессор кушает больше (буквально «менее, чем на 2% больше»), но что хорошо — в гораздо меньшей пропорции по сравнению с приростом производительности.

                Еще повинюсь — вечер субботы, пожалуй, не буду искать первоисточник от Singular Computing.


                1. Foolleren
                  16.04.2016 22:29

                  Кстати да, похоже на то что имелось в виду «при практически одинаковом потреблении энергии».


                1. Hanako_Seishin
                  17.04.2016 10:14

                  Всё-таки «less than 2 percent as much» — это «менее 2 процентов по сравнению с».


  1. Mortello
    16.04.2016 16:50

    шаг в сторону «Человекоминимума» Шекли


  1. SBKarr
    16.04.2016 17:25

    Логичное продолжение вот этого: https://geektimes.ru/post/144144/. Интересно, а сколько ждать такого на гражданском рынке, очень уж хочется потрогать.


    1. VaalKIA
      16.04.2016 20:41
      +2

      Очень мало информации, что бы понять. что же всё-таки, сделали.
      Варианты, на мой взгляд, такие:
      1. Вероятностные вычисления — берётся несколько результатов и усредняется, так можно получить хорошую устойчивость к ошибкам из вне. Не подходит, потому что это не быстро и не экономично.
      2. Нечёткая логика. Вообще говоря к быстроте и экономии имеет мало отношения, скорее позволяет по другому строить алгоритмы, так что результат вообще не очевиден, это просто другой инструмент.
      3. Самый верный вариант, раз уж толкают именно энергосбережение: «подпороговые рабочие напряжения» https://habrahabr.ru/post/257067/ В виде побочного эффекта можем получить глюки и успешно с ними бороться.

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


      1. VaalKIA
        16.04.2016 21:27
        +2

        Почитал ссылку на англоязычный ресурс, да, они действительно тупо снизили напряжение. просто сделали это для младших бит. По мне, так лучше бы доводить до ума «подпороговую» технологию, а помимо этого, есть ещё два направления:
        Pa Semi (эта комманда разработала ARM проц для Apple) http://www.osp.ru/os/2008/01/4836531/
        http://www.3dnews.ru/172112/page-2.html

        и Cyclos Semiconductor http://www.ixbt.com/news/hard/index.shtml?15/53/99
        http://www.semiwiki.com/forum/content/917-clock-design-socs-lower-power-better-specs.html

        И одно другому не мешает.


  1. KvanTTT
    16.04.2016 20:35

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


    1. Fedcomp
      16.04.2016 21:35

      Тоже вспомнился. Там еще по сути ошибка накапливалась.


  1. ABy
    16.04.2016 21:19

    А биологический мозг случайно работает не по схожему принципу? Ведь все иногда допускают ощибки ;)


    1. spc
      16.04.2016 21:39

      Это вы про то, что надо намекнуть DARPA, что солдат проще нарожать? )


  1. mrsimba
    17.04.2016 07:36

    Расчет з/п на компе с таким чипом… Не плохая лотерея получится )))


    1. gleb_l
      17.04.2016 23:22

      А вы не пробовали складывать столбик чисел, например, стоимостей покупок в чеке в уме приблизительно — просто волюнтаристски превращая каждую цену, например, в кратную 25 рублям — а потом сравнивать с точным результатом?
      На типичном списке покупок из 20 наименований ошибка обычно не превышает 1-2% — что является даже избыточной точностью для бюджета человека, так как во-первых внешние причины дают порядково большие флуктуации, а во-вторых — среднее от погрешности в течении времени стремится к нулю.
      Вот и получается, что точные вычисления в связанных с деньгаи вещах нужны больше для удовлетворения чувства справедливости (вернее, в качестве «пруфа», что тебя не надули), чем для практической пользы.
      В биологических системах отклонения параметров +-10% считаются нормой (например, уровень гемоглобина или количество лейкоцитов), правильно спроектированные электронные устройства обычно допускают +-10% отклонения номиналов компонентов или параметров сигналов — значит и человек статистически не почувствует 10% точности в денежных потоках через себя.


  1. Vadim-Zero
    17.04.2016 14:09

    Даешь вычисления двойной точности, на неточных компьютерах!!!