When Azeem asked me to give a talk at CogX, он попросил меня сосредоточиться только на одном моменте, который я хотел, чтобы аудитория усвоила. Несколько лет назад моим приоритетом была бы убедительность людей, что глубокое обучение было настоящей революцией, а не причудой, но было достаточно примеров выпуска продуктов, чтобы ответить на этот вопрос Я знал, что это правда раньше большинства людей, не потому, что я какой-то пророк с глубоким пониманием а потому, что у меня была возможность провести много времени, проводя практические эксперименты с технологией, я мог быть уверен в ценности глубокого обучения, потому что своими глазами видел, насколько оно эффективно во всем диапазоне приложений, и знали, что единственным препятствием для более широкого развертывания этой технологии является то, сколько времени требуется от исследования до развертывания.
Вместо этого я решил рассказать о другой тенденции, в которой я так же уверен и которая будет иметь такое же большое влияние, но которая не так хорошо известна Я убежден, что машинное обучение может работать на крошечных чипах с низким энергопотреблением. , и что это сочетание решит огромное количество проблем, для которых у нас нет решений прямо сейчас Об этом я буду говорить на CogX, и в этом посте я подробнее объясню, почему я так уверен.
Tiny Computers are Already Cheap and Everywhere
Рынок настолько фрагментирован, что трудно получить точные цифры, но, по лучшим оценкам, в этом году будет продано более 40 миллиардов микроконтроллеров, а, учитывая постоянство продуктов, в которых они используются, вероятно, будут проданы сотни миллиардов микроконтроллеров. из них находятся в эксплуатации. Микроконтроллеры (или MCU) представляют собой пакеты, содержащие небольшой ЦП с, возможно, всего несколькими килобайтами оперативной памяти, и встроены в потребительские, медицинские, автомобильные и промышленные устройства. Они предназначены для использования очень небольших объемов энергии и быть достаточно дешевой, чтобы включать ее практически в любой продаваемый объект, при этом ожидается, что в этом году средние цены упадут ниже 50 центов.
Им не уделяется много внимания, потому что они часто используются для замены функций, которые могли бы выполнять электромеханические системы, в автомобилях, стиральных машинах или пультах дистанционного управления Логика управления более старыми устройствами почти не отличается от аналоговой. цепи и реле, которые использовались раньше, за исключением, возможно, нескольких настроек, таких как программируемые кнопки дистанционного управления или стеклоочистители, которые изменяют свою скорость в зависимости от интенсивности дождя.Самое большое преимущество для производителя заключается в том, что стандартные контроллеры могут быть запрограммированы с помощью программного обеспечения, а не требуют индивидуальной электроники для каждой задачи, поэтому они удешевляют и упрощают производственный процесс.
Energy is the Limiting Factor
Любое устройство, требующее подключения к электросети, сталкивается со множеством барьеров: оно ограничено местами с проводкой, и даже там, где она доступна, по практическим соображениям может быть сложно подключить что-то новое, например, на заводе или в операционной. театр. Разместить что-то высоко в углу комнаты означает протянуть кабель или выяснить альтернативы, такие как питание через Ethernet. Электроника, необходимая для преобразования сетевого напряжения в диапазон, который может использовать схема, дорога и тратит энергию. Даже портативные устройства, такие как телефоны или ноутбуки, требуют частой стыковки.
The holy grail for almost any smart product is for it to be deployable anywhere, and require no maintenance like docking or battery replacement. The biggest barrier to achieving this is how much energy most electronic systems use. Here are some rough numbers for common components based on figures from Smartphone Energy Consumption(видетьmy old post here for more detail):
- A display might use 400 milliwatts.
- Active cell radio might use 800 milliwatts.
- Bluetooth might use 100 milliwatts.
- Accelerometer is 21 milliwatts.
- Gyroscope is 130 milliwatts.
- GPS is 176 milliwatts.
A microcontroller itself might only use a milliwatt or even less, but you can see that peripherals can easily require much more. A coin battery might have 2,500 Joules of energy to offer, so even something drawing at one milliwatt will only last about a month. Of course most current products use duty cycling and sleeping to avoid being constantly on, but you can see what a tight budget there is even then.
CPUs and Sensors Use Almost No Power, Radios and Displays Use Lots
The overall thing to take away from these figures is that processors and sensors can scale their power usage down to microwatt ranges (for example Видеочип Qualcomm Glance, even energy-harvesting CCDs, or microphones that consume just hundreds of microwatts) but displays and especially radios are constrained to much higher consumption, with even low-power wifi and bluetooth using tens of milliwattsкогда активен. Физика перемещения данных, кажется, требует много энергии. Кажется, есть правило, которое Энергия, затрачиваемая на операцию, пропорциональна тому, как далеко вы должны отправить биты. ЦП и датчики отправляют биты на несколько миллиметров и это дешево, радио отправляет их на метры или больше и стоит дорого. Я не вижу, чтобы эти отношения коренным образом менялись, даже по мере того, как технология в целом совершенствуется.На самом деле, я ожидаю, что относительный разрыв между стоимостью вычислений и радиосвязи станет еще больше, потому что я вижу больше возможностей для снижения использования вычислительной мощности.
We Capture Much More Sensor Data Than We Use
A few years ago I talked to some engineers working on micro-satellites capturing imagery. Their problem was that they were essentially using phone cameras, which are capable of capturing HD video, but they only had a small amount of memory on the satellite to store the results, and only a limited amount of bandwidth every few hours to download to the base stations on Earth. I realized that we face the same problem almost everywhere we deploy sensors. Even in-home cameras are limited by the bandwidth of wifi and broadband connections. My favorite example of this was a friend whose December ISP usage was dramatically higher than the rest of the year, and when he drilled down it was because his blinking Christmas lights caused the video stream compression ratio to drop dramatically, since so many more frames had differences!
There are many more examples of this, all the accelerometers on our wearables and phones are only used to detect events that might wake up the device or for basic step counting, with all the possibilities of more sophisticated activity detection untouched.
What This All Means For Machine Learning
Если вы принимаете все вышеперечисленные пункты, то становится очевидным, что существует огромный неиспользованный рынок, который ждет, чтобы его открыли с помощью правильной технологии.Нам нужно что-то, что работает на дешевых микроконтроллерах, потребляет очень мало энергии и зависит от вычислений. не радио, и это может превратить все наши потраченные впустую данные датчиков во что-то полезное.Это пробел, который заполняет машинное обучение, и особенно глубокое обучение.
Deep Learning is Compute-Bound and Runs Well on Existing MCUs
Одна из моих любимых частей работы над реализациями глубокого обучения заключается в том, что они почти всегда связаны с вычислениями.Это важно, потому что почти все другие приложения, над которыми я работал, были ограничены тем, насколько быстро могут работать большие объемы памяти. могут быть доступны, как правило, по непредсказуемым шаблонам. Напротив, большая часть времени для нейронных сетей тратится на перемножение больших матриц вместе, где одни и те же числа используются многократно в разных комбинациях. Это означает, что ЦП тратит большую часть времени выполняет арифметические действия для перемножения двух кэшированных чисел, и гораздо меньше времени извлекает новые значения из памяти.
Это важно, потому что выборка значений из DRAM может запросто потреблять в тысячу раз больше энергии, чем выполнение арифметической операции.Это кажется еще одним примером отношения расстояние/энергия, поскольку DRAM физически находится дальше, чем регистры. Сравнительно низкие требования к памяти (всего десятки или сотни килобайт) также означают, что для хранения можно использовать маломощную SRAM или флэш-память, что делает приложения глубокого обучения подходящими для микроконтроллеров, особенно когда вычисления используются вместо числа с плавающей запятой, так как микроконтроллеры часто уже имеют DSP-подобные инструкции, которые хорошо подходят.Эта идея не особенно нова, какApple and Google run always-on networks for voice recognition on these kind of chips, but not many people in either the ML or embedded world seem to realize how well deep learning and MCUs match.
Deep Learning Can Be Very Energy-Efficient
Я провожу много времени, думая о пикоджоулях на операцию.Это показатель того, сколько энергии потребляет одна арифметическая операция на ЦП, и это полезно, потому что, если я знаю, сколько операций требуется данной нейронной сети для однократного запуска, я могу получить приблизительная оценка того, сколько энергии она будет потреблять. Например, сеть классификации изображений MobileNetV2 выполняет 22 миллиона операций (каждое умножение-сложение составляет две операции) вits smallest configuration. Если я знаю, что конкретной системе требуется 5 пикоджоулей для выполнения одной операции, то для выполнения потребуется (5 пикоджоулей * 22 000 000) = 110 микроджоулей энергии.Если мы анализируем один кадр в секунду, то это всего 110 микроватт, который монетная батарея может непрерывно работать почти год. Эти цифры находятся в пределах того, что возможно с DSP, доступными сейчас, и я надеюсь, что мы увидим, что эффективность будет продолжать расти. Это означает, что затраты энергии на работу существующих нейронные сети на современном оборудовании уже вполне укладываются в бюджет постоянно включенного устройства с батарейным питанием, и, вероятно, они будут улучшаться еще больше по мере улучшения как архитектуры модели нейронной сети, так и аппаратного обеспечения.
Deep Learning Makes Sense of Sensor Data
В последние несколько лет внезапно стало возможным брать зашумленные сигналы, такие как изображения, аудио или акселерометры, и извлекать из них смысл с помощью нейронных сетей, потому что мы можем запускать эти сети на микроконтроллерах, а сами датчики используют мало энергии, становится возможным интерпретировать гораздо больше данных датчиков, которые мы в настоящее время игнорируем. Например, я хочу, чтобы почти каждое устройство имело простой голосовой интерфейс. Понимая небольшой словарный запас и, возможно, используя датчик изображения для обнаружения взгляда мы должны иметь возможность контролировать почти все в нашей среде без необходимости дотягиваться до него, чтобы нажимать кнопку или использовать телефонное приложение Я хочу увидеть компонент голосового интерфейса менее чем за пятьдесят центов, который работает на монете батареи в течение года, и я считаю, что это вполне возможно с технологиями, которые у нас есть прямо сейчас.
В качестве другого примера я хотел бы иметь крошечный датчик изображения с батарейным питанием, который я мог бы запрограммировать на обнаружение таких вещей, как определенные вредители сельскохозяйственных культур или сорняки, и отправлять оповещение, когда они были обнаружены.Они могли бы быть разбросаны по полям и направлять вмешательства как прополка или пестициды гораздо более безвредным для окружающей среды способом.
Одним из промышленных примеров, который мне запомнился, было описание оператором завода «Ганса» — инженера с многолетним стажем, который каждое утро проходит вдоль ряда станков, кладет руку на каждый из них, слушает, а потом рассказывает мастеру. который должны быть отключены для обслуживания, все основано на опыте и интуиции. У каждого завода есть один, но многие начинают сталкиваться с уходом из эксплуатации. Если бы вы могли прикрепить акселерометр и микрофон на батарейках к каждой машине («Кибер-Ганс ) который изучил бы обычную работу и сигнализировал бы, если бы была аномалия, вы могли бы обнаружить проблемы до того, как они станут реальными проблемами.
У меня, вероятно, есть сотня других продуктов, о которых я мог бы мечтать, но, если честно, меня больше всего волнует то, что я не знаю, как эти новые устройства будут использоваться, просто то, что технологический императив, стоящий за ними, настолько неотразим. что они будут построены и совершенно новые приложения, которые я не могу себе представить. Для меня это очень похоже на то, чтобы быть ребенком в восьмидесятых, когда появились первые домашние компьютеры. Я понятия не имел, чем они станут, и большинство людей в то время использовали их для игры или хранение адресные книги, но было так много возможностей, я знал, что появятся целые новые миры.
The Takeaway
Единственная причина провести личную встречу вместо отправки документа — это передать эмоции, стоящие за информацией.То, чем я хочу поделиться с аудиторией CogX, — это мое волнение и уверенность в будущем машинного обучения на крошечных устройствах, и хотя сообщение в блоге - плохая замена реальному присутствию, я надеюсь, что кое-что из этого здесь есть. Я не знаю подробностей того, что принесет будущее, но я знаю ML на крошечных, дешевых чипах с батарейным питанием. придет и откроет дверь для некоторых удивительных новых приложений!