• Аппаратное ускорение глубоких нейросетей: GPU, FPGA, ASIC, TPU, VPU, IPU, DPU, NPU, RPU, NNP и другие буквы



      14 мая, когда Трамп готовился спустить всех собак на Huawei, я мирно сидел в Шеньжене на Huawei STW 2019 — большой конференции на 1000 участников — в программе которой были доклады Филипа Вонга, вице-президента по исследованиям TSMC по перспективам не-фон-неймановских вычислительных архитектур, и Хенга Ляо, Huawei Fellow, Chief Scientist Huawei 2012 Lab, на тему разработки новой архитектуры тензорных процессоров и нейропроцессоров. TSMC, если знаете, делает нейроускорители для Apple и Huawei по технологии 7 nm (которой мало кто владеет), а Huawei по нейропроцессорам готова составить серьезную конкуренцию Google и NVIDIA.

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

      Только в прошлом году в тему было вложено больше 3 миллиардов долларов. Google уже давно объявил нейросети стратегическим направлением, активно строит их аппаратную и программную поддержку. NVIDIA, почувствовав, что трон зашатался, вкладывает фантастические усилия в библиотеки ускорения нейросетей и новое железо. Intel в 2016 году потратил 0,8 миллиарда на покупку двух компаний, занимающихся аппаратным ускорением нейросетей. И это при том, что основные покупки еще не начались, а количество игроков перевалило за полсотни и быстро растет.


      TPU, VPU, IPU, DPU, NPU, RPU, NNP — что все это означает и кто победит? Попробуем разобраться. Кому интересно — велкам под кат!
      Читать дальше →
    • Горький урок отрасли ИИ

      • Translation
      Об авторе. Ричард Саттон — профессор компьютерных наук в университете Альберты. Считается одним из основателей современных вычислительных методов обучения с подкреплением.

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

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

      Стремясь к улучшению в краткосрочной перспективе, исследователи пытаются применить человеческие знания в предметной области, но в долгосрочной перспективе имеет значение только мощность вычислений. Эти две тенденции не должны противоречить друг другу, но на практике противоречат. Время, потраченное на одно направление, — это время, потерянное для другого. Есть психологические обязательства инвестировать в тот или иной подход. И внедрение знаний в предметной области имеет тенденцию усложнять систему таким образом, что она хуже подходит для использования общих вычислительных методов. Было много примеров, когда исследователи слишком поздно усваивали этот горький урок, и полезно рассмотреть некоторые из самых известных.
      Читать дальше →
    • Манифест Чистого Программиста или краткий конспект книги «Чистый Код» Роберта Мартина

        Данная статья является конспектом книги "Чистый Код" Роберта Мартина и моим пониманием того, каким Чистый Код должен быть. Тут нет разделов о тестировании, TDD, о том какая должна быть архитектура и т.д. Здесь все только о том, каким должен быть Чистый Код.


        Читать дальше →
      • Таймер — начало

        Все началось с него. Это была первая моя покупка на Алиэкспресс для первой автоматизации на даче — захотелось сделать автополив в теплице. Таймер пришел в помятой коробке, с треснутым защитным колпаком, но рабочий. Он прекрасно отработал весь летний сезон поливая огурцы.На зиму был снят и спрятан в теплое и сухое место. Но на следующий сезон меня ждал неприятный сюрприз  — таймер стал зависать, переставал реагировать на кнопки управления и открывать воду. Сначала я грешил на дешевые батарейки и заменил их на фирменные Duraсell. Думал проблема в питании и пусковых токах. Не помогло. Тогда я достал паяльник и пропаял в нем все, что только можно, даже добавил некоторые недостающие конденсаторы. Но он упорно продолжал зависать. К сожалению, изделие не очень ремонтопригодно — в том что было у меня используется бескорпусная микросхема-капля и, видимо, что-то расконтачилось именно под компаундом с микросхемой. Кое-как сезон был закончен с таким барахлящим таймером и я начал думать чем же мне его заменить.
        Читать дальше →
      • Эволюция нейросетей для распознавания изображений в Google: Inception-v3

          Продолжаю рассказывать про жизнь Inception architecture — архитеткуры Гугла для convnets.
          (первая часть — вот тут)
          Итак, проходит год, мужики публикуют успехи развития со времени GoogLeNet.
          Вот страшная картинка как выглядит финальная сеть:
          image
          Что же за ужас там происходит?

          Читать дальше →
          • +21
          • 32.2k
          • 9
        • Непрофессиональное видеонаблюдение квартиры занятно и недорого

          С момента как у меня в квартире на страже появилась GSM сигнализация, появилась мысль о том, что неплохо бы иметь в мое отсутствие в квартире и «глаза» в случае срабатывания датчиков сигнализации (а может срабатывание ложное?). Поскольку я инженер в области информационных технологий, ни о каком профессиональном решении в виде регистратора и кучи камер речь не шла — только все сам, своими руками. Бюджет тоже сразу было решено обнулить ограничить, а в случае успешности проекта уже думать о его дальнейшем улучшении и модернизации.
          Читать дальше →
        • Как выбрать 3D-принтер: руководство для начинающих

            Автор этого поста увидел первую 3D-модель, распечатанную на принтере, около 10 лет назад. Шло собрание в огромном российском рекламном агентстве, которое использовало возможности 3D-печати для того, чтобы печатать демонстрации очень дорогой сувенирки — её предстояло сделать из меди, бронзы, серебра и совсем мелкие штучки из золота. Мы с коммерческим директором тогдашней компании крутили в руках будущие статуэтки и значки из буро-серо-синего пластика, с неаккуратными заусенцами, «провалами» и т.д. Нам это казалось восьмым чудом света — и, когда нам отдали макеты насовсем, мы радовались как дети и уже в машине шутили, что круто было бы печатать на принтере блинчики, пирожные и колбасу. Никогда мы ещё не были так близки к предсказанию будущего.


            Когда хозяин купил 3D-принтер, а ты понял, как выглядит безысходность
            Читать дальше →
          • Как я автоматизировал дачу на 90%



              Дачная электрика – известная проблема, отношение к ней в большинстве случаев наплевательское, если не сказать хуже. Если есть возможность подключить что-то не так и не туда — это, конечно, будет сделано.

              Когда мы с женой начинали строить новую дачу вместо старой (где электрика прокладывалась многими поколениями и представляла собой жуткую мешанину из проводов и распаячных коробок), то прежде всего решили, что электрика будет грамотной, а дача – умной.
              Читать дальше →
            • Способ организации «умного» дома с максимально широкими возможностями управления электрикой

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

                При постройке дома стал вопрос о том, как правильно организовать электрику, при условии, что стены сделаны из СИП-панелей, который нельзя штробить. Есть вариант «накрутить» на стены толстый слой гипсокартона и штробить его, но этот способ показался мне не очень удачным из-за того, что пришлось бы крутить довольно гипсокартон довольно толстым слоем, что бы убрать в стену рукав для проводов.

                В конце концов было принято решение убрать все, что можно под фальшпол. Туда ушли трубы отопления и металлические короба с проводкой.

                И решено было не трогать стены вовсе, розетки разместить в лючках, а выключатели использовать беспроводные.

                Вот, что получилось…
                Читать дальше →
              • Мониторинг работы систем загородного дома: первые шаги к умному дому


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

                  Читать дальше →
                • Краудтестинг, или Где взять опыт для первой работы в тестировании


                    Изображение: источник

                    Привет, Хабр! Меня зовут Евгений Кузнецов. Я работаю в Badoo, в отделе QA.

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

                    Я думаю, многие здесь уже слышали об этом сайте или о подобных площадках. Но, как ни странно, часто я вижу удивлённые лица, когда начинаю рассказывать про краудтестирование. Так что цель этой статьи — пустить полезную информацию в массы.
                    Читать дальше →
                  • Детальный анализ Хабрахабра с помощью языка Wolfram Language (Mathematica)


                      Скачать пост в виде документа Mathematica, который содержит весь код использованный в статье, вместе с дополнительными файлами, можно здесь.

                      Анализ социальных сетей и всевозможных медиа-ресурсов является сейчас довольно популярным направлением и тем удивительнее для меня было обнаружить, что на Хабрахабре, по сути, нет статей, которые содержали бы анализ большого количества информации (постов, ключевых слов, комментариев и пр.), накопленного на нем за довольно большой период работы.

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

                      В посте будут рассматриваться статьи, относящиеся к хабам, всего в анализе участвовало 62000 статей из 264 хабов. Статьи, написанные только для корпоративных блогов компаний в посте не рассматривались, а также не рассматривались посты, не попавшие в группу «интересные».

                      Ввиду того, что база данных, построенная в посте, формировалась за некоторое время до публикации, а именно 26 апреля 2015 г., посты, опубликованные на Хабрахабре после этой даты (а также, возможно, новые хабы) в данном посте не рассматривались.
                      Читать дальше →
                    • Перевод интерактивного учебника «Problem Solving with Algorithms and Data Structures»

                      • Tutorial
                      imageПривет, Хабр!

                      Мы (@ali_aliev и avenat) с удовольствием представляем вашему вниманию перевод интерактивного учебника «Problem Solving with Algorithms and Data Structures» от Брэда Миллера (Brad Miller) и Дэвида Ранума (David Ranum) из Luther College, что в Айове, США.

                      О чём?

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

                      Авторы рассказывают о таких структурах данных, как стеки, очереди (в том числе с приоритетом), деки, хэш-таблицы, списки, деревья и графы. Последним двум вообще посвящены весьма не маленькие главы. Изложение не просто описательное: для каждой структуры предлагается вариант (а иногда и не один) её реализации на Python. Упор, естественно, делается на объектно-ориентированное программирование: создаётся класс, к нему пишутся методы, некоторые из которых авторы оставляют читателям для самостоятельной доработки. Затем идут примеры использования рассмотренной структуры и описание алгоритмов с её участием.

                      Одна из глав учебника посвящена рекурсии, в том числе её графическому представлению (фракталы). Разбирается несколько известных рекурсивных задач, а в конце наглядно демонстрируется, что эта методика, несмотря на её элегантность, отнюдь не «серебряная пуля».

                      Не обделены вниманием и классические алгоритмы для сортировки и поиска. И, естественно, для каждого из них анализируются производительность и «подводные камни», а так же даются рекомендации по применению. В последних главах, посвящённых деревьям и графам, даётся много материала об их разновидностях и связанных с ними алгоритмах. Изложение тут становится более сжатым, многие моменты просто описываются с тем, чтобы после прочтения главы читатель реализовал их самостоятельно.
                      Читать дальше →
                    • Что скрывают нейронные сети?

                      Статья является вольным переводом The Flaw Lurking In Every Deep Neural Net.

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

                      В статье "Интригующие свойства нейронных сетей" за авторством Christian Szegedy, Wojciech Zaremba, Ilya Sutskever, Joan Bruna, Dumitru Erhan, Ian Goodfellow and Rob Fergus, команды, включающей авторов из проекта Google по глубокому обучению, кратко описываются два открытия в поведении нейронных сетей, противоречащие тому, что мы думали прежде. И одно из них, честно говоря, поражает.
                      Читать дальше →
                    • Моделируем электрическую активность нейронов

                      Вступление


                      Сразу сообщу, что данная заметка не имеет отношения к перцептронам, сетям Хопфилда или любым другим искусственным нейронным сетям. Мы будем моделировать работу «настоящей», «живой», биологической нейронной сети, в которой происходят процессы генерации и распространения нервных импульсов. В англоязычной литературе такие сети ввиду их отличия от искусственных нейронных сетей называются spiking neural networks, в русскоязычной же литературе – нет устоявшегося названия. Кто-то называет их просто нейронными сетям, кто-то – импульсными нейронными сетями, а кто-то – спайковыми.
                      Читать дальше →
                    • В австралийских карьерах запускают в работу огромные роботы-самосвалы

                        image

                        В Астралии, на месторождении Rio-Tinto, железную руду (кстати, одну из самых богатых в мире) добывают преимущественно открытым способом, то есть, в карьерах. Если вы никогда не слышали о том, что такое железорудный карьер, и не видели их, рекомендую посмотреть хотя фотографии в Сети, если не посетить лично. Это — огромные рукотворные ямы, если так можно выразиться, со сложной инфраструктурой. Добыча железной руды производится с большим размахом. Не будем сейчас останавливаться на способах добычи руды, но ее транспортировка из карьера ведется при помощи огромных самосвалов. Некоторые из таких автомобильчиков способны перевозить десятки тонн руды. Само собой, для каждого грузовика нужеен водитель, однако, человеческий фактор иногда приводит к сложным ситуациям. И в Австралии решили запустить программу Autonomous Hauling System (AHS), оснастив 210-тонные грузовики автономной системой управления.

                        Читать дальше →
                      • Будущее нашей цивилизации: гибель или бессмертие?

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

                        image

                        Все технические революции, которые мы наблюдаем, можно считать этапами большого пути к одной великой цели: созданию планетарной цивилизации. Переход к ней должен стать, вероятно, величайшим событием в истории человечества. Мало того, поколение живущих сегодня людей можно смело считать самым значительным из всех, что когда-либо жили на нашей планете. Именно они должны определить, достигнет ли человечество этой великой цели или будет ввергнуто в пучину хаоса. С того момента, когда наши предки впервые вышли из Африки около 100 000 лет назад, миновало около 5000 поколений, но лишь одно поколение — сегодняшнее — определит судьбу нашего мира.
                        И к чему это все?
                      • О том, как я уехал преподавать в Эстонию

                        image
                        [Вид старого города с высоты полета квадрокоптера]

                        Немного о себе: Работал в Санкт-Петербурге в Политехническом университете. Преподавал компьютерные сети, в основном, в рамках сетевой академии Cisco, имею статусы CCNA R&S, CCNA Security, CCNP R&S, так же являюсь Instructor Trainer’ом для соответствующих курсов.
                        Читать дальше →
                      • Поиск работы за рубежом

                          Судя по отзывам на мою предыдущую статью о процессе прохождения интервью, многие хаброколлеги интересуются, как лучше подготовиться к поиску работы на западе. Хочу поделиться моим опытом и дать ссылки, которые будут полезны тем, кто думает о переезде или просто хочет узнать, как это работает в другом мире. Статья ориентирована на среднестатистического разработчика ПО, так что если у вас блестящие навыки разговорного языка и превосходные знания нужных технологий и языков программирования, то многие советы можно пропустить.

                          Итак, вы задумались о поиске новой работы.
                          Читать дальше →
                        • Как накормить мозг программиста… или feed your brain

                          Введение


                          Из всех наслаждений, отпущенных человеку в жизни,
                          самое изысканное — шевелить мозгами.
                          (Борис Акунин)


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

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

                          В данной публикации мы рассмотрим, как правильно питаться для жизнеобеспечения мозга и как его разогнать ноотропами (в случае аврала необходимости).
                          Читать дальше →