Tesla Autonomy Investor Day: новый компьютер Tesla FSDC (Full Self-Driving Computer), полноценный автопилот, роботакси
Вечером 22 апреля 2019 года в штаб-квартире Tesla в Пало-Альто, округе Санта-Клара, штат Калифорния, прошло специальное мероприятие для инвесторов «Tesla Autonomy Investor Day», на котором (проведя несколько часов на сцене) Илон Маск и сотрудники компании Tesla анонсировали свой новый автомобильный суперкомпьютер, объявили о запуске «полноценного автопилота» и фирменного сервиса роботакси Tesla Network, который станет конкурентом Lyft и Uber.
Само мероприятие на видео начинается с 1 часа 10 минут, а после трех часов трансляции там очень интересная беседа с вопросами из зала и ответами Илона Маска.
В Tesla представили специализированную автомобильную систему на чипе (SoC) собственной разработки для суперкомпьютера Tesla Full Self-Driving Computer (FSDC), ранее известного как Autopilot Hardware 3.0.
Чип упакован в корпус типа BGA размерами 37,5х37,5 мм с 2116 шариковыми выводами и производится по технологии CMOS с использованием 14-нм техпроцесса FinFET на производственных мощностях Samsung в Остине, штат Техас.
Микросхема занимает площадь 260 мм², содержит 6 миллиардов транзисторов и 250 миллионов логических вентилей.
На общей подложке разместились двойной нейронный модуль (в двух блоках сосредоточены 72 вычислительных ядра TOPS частотой 2,0 ГГц) для работы с задачами машинного обучения, искусственного интеллекта, GPU частотой 1 ГГц и производительностью 600 GFLOPS (поддержка вычислений FP32 и FP64), 12-ядерный 64-разрядный процессор Cortex-A72 частотой 2,2 ГГц, а также два выделенных аппаратных блока безопасности, один из которых отвечает за проверку аутентичности исполняемого кода ПО, подписанного криптографическим ключом Tesla.
На печатной плате нового бортового компьютера Tesla FSDС установлены два таких чипа, причем, второй чип выступает в роли дублирующего и может включится в любой момент, когда один или несколько компонентов основного неожиданно выйдут из строя.
На презентации глава Tesla Илон Маск заявил, что вероятность полного отказа данной системы ниже вероятности сердечного приступа у водителя.
Новый бортовой компьютер Full Self-Driving (FSD) сменит текущее поколение HW 2.5, построенное на базе чипа NVIDIA Drive PX 2.
По данным производителя нового бортового компьютера, специализированный двойной нейронный модуль новой платформы в 21 раз превосходит своего предшественника по производительности в задачах глубокого обучения, выполняя 72 триллиона соответствующих операций в секунду.
И это при том, что стоит он на 20% дешевле и ощутимо экономичнее в плане энергопотребления (57 Вт против 72 Вт у предшественника).
В ходе презентации Илон Маск заявил, что инженеры Tesla уже приступили к разработке следующего поколения автомобильного процессора, который будет «в три раза лучше» нынешнего. Планируется, что он будет готов через два года.
Новый компьютер Full Self-Driving Computer (FSDC) — один из компонентов аппаратной платформы Autopilot.
Аппаратная часть комплекса Autopilot имеет в своем составе:
В ходе презентации Илон Маск сказал, что лидары (лазерные 3D-сканеры, позволяющие обнаруживать предметы и определять расстояние до них), использующиеся во многих самоуправляемых автомобилях — это уже дорогостоящая и ненужная для автономных машин технология.
Глава Tesla заявил, что лидар, как очень дорогой аппендицит, а вскоре и все осознают это.
По словам руководителя подразделения искусственного интеллекта в Tesla Андрея Карпатого, обычные изображения с камер уже содержат всю необходимую информацию о расстоянии до автомобилей и объектов на дороге, дело только за обучением нейронных сетей.
Все новые автомобили Tesla уже оснащаются новым бортовым компьютером FSDС, причем в старших моделях Model S и Model X его начали устанавливать после 20 марта, а в младшей модели Model 3 — с 12 апреля этого года.
Владельцам ранее выпущенных автомобилей Tesla, заказавшим опцию Full Self-Driving, пообещали в ближайшие несколько месяцев бесплатно заменить старый бортовой компьютер на новый FSDС.
Оказывается, что в 2016 году Tesla поспешила, заявив, что все ее автомобили оборудованы необходимым аппаратным и программным оснащением для свободного перемещения по дорогам общего значения без участия человека.
Таким образом, без обновления аппаратного обеспечения на ранее купленных автомобилях обойтись не удастся.
Новый бортовой компьютер FSD обеспечит дальнейшее расширение возможностей «полноценного автопилота» Tesla. Тут уже речь идет об опции «полностью самоуправляемого движения» (Full Self-Driving).
Сейчас автомобили Tesla с пакетом Full Self-Driving могут самостоятельно перемещаться только по автомагистралям (под постоянным надзором водителя, естественно), но уже в конце года после соответствующего обновления прошивки они начнут распознавать разметку и сигналы светофора, благодаря чему смогут автоматически перемещаться не только по скоростным автомагистралям за городом, но и по дорогам в пределах города.
Данную возможность Илон Маск ранее обещал реализовать еще в начале года.
Глава Tesla отметил, что за последнее время разработчикам Tesla Autopilot удалось сильно развить способности системы автопилота, который постоянно учится на основе реальных данных о вождении, собираемых со всех автомобилей Tesla, в том числе, обрабатываются данные по авариям и происшествиям.
К настоящему моменту автомобили Tesla по всему миру суммарно наездили более 70 миллиардов километров.
Это огромный массив данных, который был обработан нейросетями, обеспечивающими работу автопилота Tesla.
Илон Маск отметил, что как только Tesla получит необходимое разрешение регулятора, так сразу «передвинет переключатель» и все автомобили с Full Self-Driving одновременно научаться передвигаться самостоятельно по городским улицам (пока речь идет только о США).
Нужно отметить, что Full Self-Driving — это маркетинговое название расширенного пакета возможностей автономного вождения.
На прошлой неделе в Tesla предупредили о подорожании данной опции с 1 мая 2019 года.
Расширенный набор функционала Full Self-Driving включает в себя:
И вот, три года спустя, в 2019 году на Tesla Investor Autonomy Day анонсировали запуск собственного сервиса роботакси Tesla Network.
Данный сервис позволит владельцам электромобилей сдавать их в аренду другим водителям в неиспользуемое время.
Компания Tesla собирается выпустить специальное мобильное приложение для этого сервиса, а полноценный функционал для владельцев Tesla, желающих сдавать свой авто в аренду, планируется запустить в 2020 году в тестовом режиме в нескольких регионах США.
В рамках данного сервиса роботакси владельцы Tesla смогут устанавливать время, когда можно брать их машину, а также ограничивать круг лиц, которым разрешено пользоваться автомобилем например, друзьями или членами семьи.
В любой момент владелец автомобиля сможет добавить или удалить свой автомобиль из сети роботакси Tesla Network.
Кроме того, Tesla планирует пополнять парк роботакси самостоятельно, в том числе за счет лизинговых авто, рассчитывая, что в ближайшие полтора года к сервису подключатся до 1 миллиона электромобилей.
Еще, в Tesla планируют увеличить «живучесть» своих автомобилей.
Оказывается, что подсистемы привода и кузов Tesla Model 3 создавались с запасом прочности как у коммерческого грузовика, способного проезжать миллион миль (свыше полутора миллиона километров) без каких-либо существенных поломок.
В ходе презентации Илон Маск пообещал, что вскоре компания Tesla начнет выпускать автомобили, которые смогут проезжать свыше полутора миллиона километров с минимальными затратами на обслуживание.
Илон Маск: «Основной посыл сегодняшней встречи, который я хочу донести — покупать любой другой автомобиль, кроме Tesla, является опрометчивым решением. Это всё равно, что покупать лошадь».
Tesla запустила «полный автопилот» для избранных — они визжат от восторга
Компания Tesla, как и обещала, загрузила на этой неделе бета-версию программы FSD (Full Self-Driving) ограниченному числу «наиболее опытные и осторожных» водителей, однако первые вести с полей показывают, что отбор волонтёров был не самым тщательным.
Начало испытаний «полного автопилота» на клиентских машинах компания Tesla приурочила к публикации финансового отчёта за третий квартал этого года, в котором ей удалось заработать 331 млн долларов. Тестовый запуск FSD должен вселить в инвесторов уверенность, что Tesla — это не дутый пузырь с неадекватной масштабам деятельности капитализацией (401 млрд долларов на момент нашей публикации) и что есть резервы для дальнейшего роста.
Глава Tesla Илон Маск сообщил инвесторам, что широкое распространение программы FSD, она же «полный автопилот», может начаться до конца этого года, а пока идёт бета-тестирование. Народные тестировщики, разумеется, тут же принялись выкладывать ролики с самоуправляемыми электромобилями Tesla в интернет. Вот типичный случай:
Принципиальным отличием FSD от автопилота второго уровня по классификации SAE, который Tesla предлагает для своих машин уже несколько лет и который спровоцировал десятки аварий (в том числе со смертельным исходом), состоит в том, что теперь машина может сама проезжать перекрёстки и ориентироваться в сложной городской среде. При этом юридически это по прежнему автопилот второго уровня, требующий постоянного контроля со стороны человека. В инструкции, предваряющей запуск программы, написано, что руки водителя должны всё время находиться на руле, но, как видно из представленного выше видеоролика, тестировщики чихать хотели на это требование.
Коммерческий релиз FSD для всех желающих действительно может состояться в ближайшее время, вот только полным автопилотом эту программу назвать будет никак нельзя, так как, скорее всего, придётся соблюдать те же требования, что и при бета-тестировании — всё время контролировать действия искусственного интеллекта и держать руки на руле. Не надо быть Нострадамусом, чтобы предсказать, что далеко не все водители Tesla будут это делать, а это значит, можно ждать новых аварий на автопилоте. И опять Tesla будет как бы ни при чём, потому что за безопасность формально отвечает водитель, какими бы умными помощниками и программами не был оснащён автомобиль.
В режиме FSD на экране Теслы отображается оцифрованный окружающий мир. Виртуальная модель строится на данных нейросети, полученных от других машин и обработанных искусственным интеллектом, навигационных данных и данных от органов искусственного зрения автомобиля. Увы, все три источника информации пока могут содержать ошибки.
О том, почему по-настоящему автономное вождение пока невозможно, мы подробно рассказывали на примере Audi A8 и его так и не заработавшего автопилота третьего уровня по классификации SAE. Главная проблема, напомним, состоит в том, что не существует законов, позволяющих перенести ответственность за безопасность во время езды с человека на машину или её производителя, а разработка таких законов упирается в неразрешимые этические противоречия, обусловленные соседством беспилотинков с машинами, управляемыми людьми.
Ещё раз зафиксируем: на данный момент FSD — это никакой не полный автопилот, а автопилот второго уровня по классификации SAE. Полный автопилот — это 5 уровень, при котором машина всё делает сама и не требует вмешательства в работу со стороны человека даже в сложных условиях (например, при плохой погоде или на плохой дороге).
4 уровень — это возможность покинуть место водителя и лечь спать в едущей машине, но в сложных ситуациях такой автопилот прекращает работу и останавливает машину, чтобы дальше водитель рулил сам.
3 уровень предполагает возможность отпустить руль, отвлечься от дороги и заняться своими делами (смотреть видео, читать книжку, заниматься работой и т. д.), но покидать место водителя нельзя и нужно сохранять готовность в любой момент достаточно оперативно взять управление на себя.
Получается, что Tesla опять занимается очковтирательством, за что уже не раз была раскритикована комитетом Euro NCAP. Но преданные клиенты Tesla, разумеется, ждут с нетерпением, когда программа FSD будет доступна для загрузки и примутся эксплуатировать её так, как будто это и впрямь полноценный автопилот. Нам же остаётся лишь следить за развитием событий.
Разработка Full Self-Driving Computer
Перевод первой части презентации Tesla Autonomy Investor Day, посвященной разработке Full Self-Driving Computer для автопилота Tesla. Восполняем пробел между тезисными обзорами на презентацию и её содержанием.
Текст презентации переведен близко к оригиналу. Вопросы к докладчику — избирательно с сокращениями.
Хост: Всем привет. Извините за опоздание. Добро пожаловать на наш первый день автономного вождения. Я надеюсь, мы сможем делать это более регулярно, чтобы держать вас в курсе наших разработок.
Около трех месяцев назад мы готовились к отчету о доходах за четвертый квартал с Илоном и другими руководителями. Я тогда сказал, что самый большой пробел в разговорах с инвесторами, между тем, что я вижу внутри компании и каково её внешнее восприятие, это наш прогресс в автономном вождении. И это понятно, последние пару лет мы говорили о наращивании производства Model 3, вокруг чего было много споров. На самом деле, многое происходило на заднем плане.
Мы работали над новым чипом для автопилота, полностью переработали нейронную сеть машинного зрения, и наконец, начали выпускать Full Self-Driving Computer (FSDC). Мы подумали, что это хорошая идея — просто открыть завесу, пригласить всех и рассказать обо всем, что мы делали в течение последних двух лет.
Около трех лет назад мы хотели использовать, хотели найти лучший чип для автономного вождения. Мы обнаружили, что нет чипа, который был разработан с нуля для нейронных сетей. Поэтому мы пригласили моего коллегу Пита Бэннона, вице-президента по разработке интегральных схем, разработать такой чип для нас. У него около 35 лет опыта в разработке чипов. В том числе 12 лет в компании P.A.Semi, которая позднее была приобретена Apple. Он работал над десятками различных архитектур и реализаций, и был главным дизайнером Apple iPhone 5, незадолго до присоединения к Tesla. К нам также присоединяется на Илон Маск. Спасибо.
Илон: Вообще-то, я собирался представить Пита, но раз это уже сделали, я добавлю что он просто лучший архитектор систем и интегральных схем в мире, которого я знаю. Это честь, что ты и твоя команда в Tesla. Пожалуйста, просто расскажи про невероятную работу, которую вы выполнили.
Пит: Спасибо Илон. Мне приятно быть здесь сегодня утром и по-настоящему приятно рассказать вам обо всей работе, которую мои коллеги и я выполнили здесь, в Tesla, за последние три года. Я расскажу вам немного о том, как все это началось, а затем познакомлю вас с компьютером FSDC и расскажу немного, как он работает. Мы углубимся в сам чип и рассмотрим некоторые из деталей. Я опишу, как работает специализированный ускоритель нейронной сети, который мы спроектировали, а затем покажу некоторые результаты, и, надеюсь, к тому времени вы еще не уснете.
Я был принят на работу в феврале 2016 года. Я спросил Илона, готов ли он потратить столько, сколько потребуется для создания этой специализированной системы, он спросил: «Мы победим?», я ответил: «Ну, да, конечно», тогда он сказал «Я в деле» и так все началось. Мы наняли кучу людей и начали думать о том, как будет выглядеть чип, разработанный специально для полностью автономного вождения. Мы потратили восемнадцать месяцев на разработку первой версии, и в августе 2017 года выпустили его для производства. Мы получили чип в декабре, он заработал, и на самом деле заработал очень хорошо с первой попытки. В апреле 2018 года мы внесли несколько изменений и выпустили версию B zero Rev. В июле 2018 года чип был сертифицирован, и мы приступили к полномасштабному производству. В декабре 2018 года стек автономного вождения заработал на новом оборудовании, и мы смогли приступить к переоборудованию служебных автомобилей и тестированию в реальном мире. В марте 2019г. мы начали установку нового компьютера в модели S и X, а в апреле — в Model 3.
Итак, вся программа, от найма первых сотрудников до полного запуска во всех трех моделях наших автомобилей, заняла чуть более трех лет. Это, пожалуй, самая быстрая программа разработки системы, в которой я когда-либо участвовал. И это на самом деле говорит о преимуществах высокой вертикальной интеграции, позволяющей вам выполнять параллельное проектирование и ускорять развертывание.
С точки зрения целей, мы были полностью сосредоточены исключительно на требованиях Tesla, и это значительно облегчает жизнь. Если у вас один-единственный клиент, вам не нужно беспокоиться о других. Одной из целей было сохранение мощности ниже 100 Вт, чтобы мы могли переоборудовать существующие машины. Мы также хотели снизить стоимость, чтобы обеспечить избыточность для большей безопасности.
В то время, когда мы тыкали пальцем в небо, я утверждал, что для управления автомобилем потребуется производительность нейронной сети не менее 50 триллионов операций в секунду. Поэтому мы хотели получить, по крайней мере столько, а лучше больше. Размеры пакета (batch) определяют количество элементов, с которыми вы работаете одновременно. Например, у TPU Google размер пакета 256, и вам нужно ждать, пока у вас не наберется 256 элементов для обработки, прежде чем вы сможете начать работу. Мы не хотели ждать и разработали наш движок с размером пакета один. Как только изображение появляется, мы немедленно обрабатываем его, чтобы минимизировать задержку и увеличить безопасность.
Нам требовался графический процессор для выполнения некоторой постобработки. Поначалу она занимала довольно много, но мы предполагали, что со временем её станет меньше, поскольку нейронные сети становятся все лучше и лучше. И это действительно произошло. Мы рисковали, поместив в дизайн довольно скромный графический процессор, и это оказалось хорошей идеей.
Защищенность очень важна, если у вас нет защищенного автомобиля, у вас не может быть безопасного автомобиля. Поэтому большое внимание уделяется защищенности и, конечно же, безопасности.
С точки зрения архитектуры чипа, как упоминал ранее Илон, в 2016 году не было ускорителя изначально созданного для нейронных сетей. Все просто добавляли инструкции к своим CPU, GPU или DSP. Никто не делал разработку с 0. Поэтому мы решили сделать это сами. Для других компонентов мы приобрели стандартные IP промышленных CPU и GPU, что позволило нам сократить время разработки и риски.
Еще одна вещь, которая была немного неожиданной для меня, это возможность использовать существующие команды в Tesla. У Tesla были отличные команды разработчиков блоков питания, анализа целостности сигналов, проектирования корпусов, прошивок, системного программного обеспечения, разработки плат и действительно хорошая программа валидации систем. Все это мы смогли использовать для ускорения программы.
Вот как он выглядит. Справа вы видите разъемы для видео, поступающего с камер автомобиля. Два компьютера автономного вождения в центре платы, слева — блок питания и коннекторы управления. Я люблю когда решение сводится к его основным элементам. У вас есть видео, вычислитель и питание, просто и понятно. Вот предыдущее решение Hardware 2.5, в которое вошел компьютер, и которое мы устанавливали последние два года. Вот новый дизайн для компьютера FSD. Они очень схожи. Это, конечно, обусловлено ограничениями программы модернизации автомобилей. Я хотел бы отметить, что на самом деле это довольно маленький компьютер. Он помещается позади бардачка, а не занимает половину багажника.
Как я говорил ранее, на плате есть два полностью независимых компьютера. Они выделены синим и зеленым. По сторонам каждого SoC вы можете видеть чипы DRAM. Внизу слева вы видите FLASH-чипы, которые представляют файловую систему. Здесь два независимых компьютера, которые загружаются и работают под собственной операционной системой.
Илон: Общий принцип состоит в том, что если какая-то часть выйдет из строя, машина сможет продолжить движение. Выходит из строя камера, цепь питания, один из компьютерных чипов Tesla — машина продолжает движение. Вероятность сбоя этого компьютера существенно ниже, чем вероятность что водитель потеряет сознание. Это ключевой показатель, по крайней мере, на порядок.
Пит: Да, поэтому одна из вещей, которые мы делаем для поддержания работы компютера, это избыточность источников питания. Первый чип работает на одном источнике питания, а второй на другом. То же самое для камер, половина камер работает на блоке питания отмеченным синим, другая половина — на зеленом. Оба чипа получают все видео и обрабатывают его независимо.
С точки зрения вождения, последовательность состоит в том, чтобы собирать много информации из окружающего вас мира, у нас есть не только камеры, но и радар, GPS, карты, гиростабилизатор (IMU), ультразвуковые датчики вокруг автомобиля. У нас есть угол поворота рулевого колеса, мы знаем, каким должно быть ускорение автомобиля. Все это объединяется, чтобы сформировать план. Когда план готов, два компьютера обмениваются своими версиями плана, чтобы убедиться, что они совпадает.
Предполагая, что план совпал, мы выдаем управляющие сигналы и ведем машину. Теперь, когда вы движетесь с новым управлением, вы, конечно, хотите его проверить. Мы проверяем, что переданные сигналы управления совпадают с тем, что мы намеревались передать исполнительным механизмам в автомобиле. Датчики используются, чтобы убедиться, что управление происходит в действительности. Если вы попросите автомобиль разогнаться, или тормозить, или повернуть направо или налево, вы можете посмотреть на акселерометры и убедиться, что это действительно происходит. Существует значительная избыточность и дублирование как наших данных, так и наших возможностей мониторинга данных.
Переходим к разговору о чипе. Он упакован в 37.5 мм BGA с 1600 контактов, большинство из которых это питание и земля. Если снять крышку, вы можете видеть подложку и кристалл в центре. Если отделить кристалл и перевернуть его вы увидите 13 000 контактов (bumps) С4 разбросанных по поверхности. Ниже находятся двенадцать металлических слоев интегральной схемы. Это 14-нанометровый процесс FinFET CMOS размером 260 мм.кв., это небольшая схема. Для сравнения обычный чип сотового телефона это около 100 мм.кв. А высокопроизводительный графический процессор будет около 600-800 мм.кв. Так что мы как бы посередине. Я бы назвал это золотой серединой, это удобный размер для сборки. Здесь 250 млн. логических элементов и 6 млрд. транзисторов, которые, хотя я и работаю над этим все это время, меня просто поражают. Чип изготовлен и испытан в соответствии с автомобильным стандартом AEC Q100.
Я хотел бы просто обойти чип и объяснить все его части. Пойду в том же порядке, что и пиксель, поступающий с камеры. В левом верхнем углу вы можете увидеть интерфейс камеры. Мы можем принимать 2,5 миллиарда пикселей в секунду, что более чем достаточно для всех имеющихся сенсоров. Сеть, которая распределяет данные из системы памяти к контроллерам памяти на правом и левом краях чипа. Мы используем стандартную LPDDR4, работающую со скоростью 4266 гигабит в секунду. Это дает нам максимальную пропускную способность 68 гигабайт в секунду. Это довольно хорошая пропускная способностью, но не чрезмерная, мы пытаемся остаться в золотой середине. Процессор обработки изображения имеет 24-битный внутренний конвейер, который позволяет нам в полной мере использовать HDR-сенсоры, которые есть в автомобиле. Он выполняет продвинутый Tone mapping, что помогает лучше выделить детали и тени, также выполняется продвинутое шумоподавление, которое просто улучшает общее качество изображений, которые мы используем в нейронной сети.
Сам ускоритель нейронной сети. На чипе их два. Каждый из них имеет 32 мегабайта SRAM для хранения временных результатов. Это минимизирует объем данных, которые мы должны передавать на микросхему и обратно, что помогает снизить энергопотребление. В каждом расположен массив 96х96 умножителей с накоплением, что позволяет нам делать почти 10 000 операций MUL/ADD за такт. Есть выделенный ускоритель ReLU, ускоритель пулинга. Каждый из них обеспечивает 36 триллионов операций в секунду работая на частоте 2 ГГц. Два ускорителя на кристалле дают 72 триллиона операций в секунду, что заметно вышей цели в 50 триллионов.
Видеокодер, видео с которого мы используем в автомобиле для многих задач, включая вывод изображения с камеры заднего вида, видео-регистрацию, а также для записи данных в облако, об этом Стюарт и Андрей расскажут позже. На чипе расположен довольно скромный графический процессор. Он поддерживает 32- и 16-битные числа с плавающей запятой. Также 12 64-разрядных процессоров A72 общего назначения. Они работают на частоте 2,2 ГГц, что примерно в 2,5 раза превышает производительность предыдущего рещения решении. Система безопасности содержит два процессора, которые работают в режиме lockstep. Эта система принимает окончательное решение, безопасно ли передавать управляющие сигналы на приводы автомобиля. Это то место, где два плана оъединяются, и мы решаем, безопасно ли двигаться вперед. И, наконец, система защиты, задача которой обеспечить, чтобы на этом чипе использовалось только программное обеспечение, криптографически подписанное Tesla.
Я рассказал вам много разных показателей производительности, и я думаю, что было бы полезно, посмотреть на перспективу. Мы рассмотрим нейронную сеть с нашей (narrow) камеры. Она занимает 35 млрд. операций. Если мы используем все 12 CPU для обработки этой сети, мы можем делать 1,5 кадра в секунду, это очень медленно. Совершенно не достаточно чтобы водить машину. Если бы мы использовали GPU на 600 GFLOPs для той же сети, мы получили бы 17 кадров в секунду, что все еще недостаточно для управления автомобилем с 8 камерами. Наш нейросетевой ускоритель может выдавать 2100 кадров в секунду. Вы видите, что объем вычислений в CPU и GPU пренебрежимо мал в сравнении с ускорителем нейронной сети.
Перейдем к разговору о нейросетевом ускорителе. Только водички попью. Слева здесь рисунок нейронной сети, чтобы дать вам представление о том, что вообще происходит. Данные поступают вверху и проходят через каждый из блоков. Данные передаются вдоль стрелок к различным блокам, которые обычно представляют собой свертки или обратные свертки с активационными функциями (ReLU). Зеленые блоки объединяют слои. Важно, что данные, полученные одним блоком, затем используются следующим блоком, и они вам больше не нужны — можете выбросить их. Так что все эти временные данные создаются и уничтожаются при прохождении через сеть. Нет необходимости хранить их вне чипа в DRAM. Поэтому мы храним их только в SRAM, и через несколько минут я объясню, почему это очень важно.
Если вы посмотрите на правую сторону, вы увидите, что в этой сети из 35 миллиардов операций почти все являются свертками, по сути скалярные произведения, остальные — деконволюцией (обратными свертками), также основанными на скалярном произведении, а затем ReLU и пулинг — относительно простые операции. Поэтому, если вы разрабатываете ускоритель, вы фокусируетесь на реализации скалярных произведений, основанных на сложении с накоплением и оптимизируете их. Но представьте, что вы ускоряете эту операцию в 10 000 раз и 100% превращаются в 0,1%. Внезапно операции ReLU и пулинга становятся весьма значительными. Поэтому наша реализация включает в себя выделенные ускорители для обработки ReLU и пулинга.
Чип работает в условиях ограниченного теплового бюджета. Нам нужно было очень осторожно относиться к тому, как мы сжигаем мощность. Мы хотим максимизировать количество арифметики, которое мы можем сделать. Поэтому мы выбрали 32 битное целочисленное сложение, оно потребляет в 9 раз меньше энергии, чем сложение с плавающей запятой. И мы выбрали 8-битное целочисленное умножение, что также потребляет значительно меньше энергии, чем другие операции умножения, и, вероятно, имеет достаточно точности для получения хороших результатов. Что касается памяти. Обращение к внешней DRAM примерно в сто раз дороже с точки зрения энергопотребления, чем использование локальной SRAM. Понятно, что мы хотим максимально использовать локальную SRAM.
С точки зрения управления, вот данные, которые были опубликованы в статье Марка Горовица (Mark Horowitz), где он критически рассмотрел, сколько энергии требуется для выполнения одной инструкции на обычном целочисленном процессоре. И вы видите, что операция сложения потребляет всего 0,15% от общей мощности. Все остальное — это накладные расходы на управление и прочее. Поэтому в нашем дизайне мы стремимся в избавиться от всего этого, насколько возможно. Что нас действительно интересует — это арифметика.
Так вот дизайн, который мы закончили. Вы можете видеть, что в нем основное место занимают 32 мегабайта SRAM, они слева, справа, в центре и внизу. Все вычисления выполняются в верхней центральной части. Каждый такт мы читаем 256 байтов данных активации из массива SRAM, 128 байтов весов из массива SRAM и объединяем их в массиве 96х96, который выполняет 9000 сложений с накоплением за такт при 2 ГГц. Это всего 36,8 трлн. операций. Теперь, когда мы закончили со скалярным произведением, мы выгружаем данные, пропускаем их через выделенный блок ReLU, опционально через пуллинг, и, наконец, помещаем их в буфер записи, где все результаты агрегируются. А затем мы записываем 128 байтов за такт обратно в SRAM. И все это происходит непрерывно. Мы работаем со скалярными произведениями, в то время как выгружаем предыдущие результаты, выполняем пуллинг и записываем результаты обратно в память. Если вы сложит все это на частоте 2 ГГц, вам потребуется 1 терабайт в секунду пропускной способности SRAM для поддержки работы. И железо обеспечивает это. Один терабайт в секунду пропускной способности на ускоритель, два ускорителя на чипе — два терабайта в секунду.
Ускоритель имеет относительно небольшой набор команд. Есть операция чтения DMA для загрузки данных из памяти, операция записи DMA для выгрузки результатов обратно в память. Три инструкции сверток (convolution, deconvolution, inner-product). Две относительно простых операции — сдвиг и поэлементная операция (eltwise). И конечно, операция остановки, когда вычисления окончены.
Нам пришлось разработать компилятор нейронной сети. Мы взяли нейронную сеть, обученную нашей командой разработчиков, в том виде в котором она использовалась в старом железе. Когда вы компилируете её для использования на новом ускорителе, компилятор выполняет объединение (fusion) слоев, что позволяет нам увеличить количество вычислений на каждое обращение к SRAM. Он также выполняет сглаживание обращений к памяти. Мы выполняем паддинг каналов, чтобы уменьшить конфликты между банками памяти. Выделение памяти также учитывает банки SRAM. Это тот случай, когда обработку конфликтов можно было бы реализовать аппаратно. Но с программной реализацией мы экономим на аппаратуре за счет некоторой сложности ПО. Мы также автоматически вставляем DMA операции, чтобы данные поступали для вычислений вовремя, не останавливая обработку. В конце мы генерируем код, данные о весах, сжимаем и добавляем контрольную сумму CRC для надежности. Нейронная сеть загружается в SRAM при запуске и находятся там все время работы.
Таким образом, чтобы запустить сеть, вы задаете адрес входного буфера, который содержит новое изображение, только что пришедшее с камеры; устанавливаете адрес выходного буфера; устанавливаете указатель на веса сети; поехали. Ускоритель «уходит в себя» и будет последовательно проходить через всю нейронную сеть, обычно на протяжении одного или двух миллионов тактов. По завершении, вы получаете прерывание и можете произвести постобработку результатов.
Переходя к результатам. У нас была цель уложиться в 100 Вт. Измерения на автомобилях, которые ездят с полным стеком автопилота, показали, что мы рассеиваем 72 ватта. Это немного больше, чем в предыдущем проекте, но значительное улучшением производительности — хорошее тому оправдание. Из этих 72 Вт около 15 Вт потребляется в нейронных сетях. Стоимость этого решения составляет около 80% от того, что мы платили раньше. С точки зрения производительности мы взяли нейронную сеть (narrow) камеры, о которой я уже говорил, с 35 миллиардами операций, мы запустили ее на старом оборудовании и получили 110 кадров в секунду. Мы взяли те же данные и ту же сеть, скомпилировали их для нового компьютера FSD и, используя все четыре ускорителя, мы можем обработать 2300 кадров в секунду.
Илон: Я думаю, что это, пожалуй, самый значительный слайд
Пит: Я никогда не работал над проектом, где повышение производительности было более 3. Так что это было довольно весело. Если сравнивать с решением nvidia Drive Xavier, там чип обеспечивает 21 трлн. операций, в то время как наш FSDC с двумя чипами — 144 трлн. операций.
Итак, в заключение, я думаю, что мы создали решение, которое обеспечивает выдающуюся производительность 144 трлн. операций для обработки нейронной сети. Обладает выдающимися характеристиками энергопотребления. Нам удалось втиснуть всю эту производительность в тепловой бюджет, который у нас был. Это позволяет реализовать решение с дублированием. Компьютер имеет умеренную стоимость, и что действительно важно, FSDC обеспечит новый уровень безопасности и автономности в автомобилях Tesla, не влияя на их стоимость и пробег. Мы все с нетерпением ждем этого.
Илон: Если есть вопросы про оборудование, задавайте их прямо сейчас.
Причина, по которой я попросил Пита сделать подробное, гораздо более подробное, чем, возможно, большинство людей оценило бы, погружение в FSD компьютер Tesla, заключается в следующем. На первый взгляд кажется невероятным, как могло случиться, что Tesla, которая никогда раньше не проектировала подобные чипы, создала лучший чип в мире. Но это именно то, что произошло. И не просто лучший с небольшим отрывом, а лучший с огромным отрывом. Во всех Tesla, производимых прямо сейчас, стоит этот компьютер. Мы переключились с решения Nvidia для S и X около месяца назад и переключили Model 3 около десяти дней назад. Все производимые автомобили имеют все необходимые аппаратные средства и всё необходимое для полностью автономного вождения. Я скажу это еще раз: все автомобили Tesla, производимые сейчас, имеют все необходимое для полноценного автономного вождения. Все, что вам нужно сделать, это улучшить программное обеспечение. Позже сегодня вы сможете поездить на автомобилях с версией для разработчиков улучшенного ПО для автономного вождения. Вы сами увидите. Вопросы.
Q: у вас есть возможность использовать функций активации, отличные от ReLU?
Пит: да, у нас есть сигмоид, например
Q: может стоило перейти на более компактный техпроцесс, может быть, 10 нм или 7 нм?
Пит: в то время, когда мы начинали проектировать, не все IP, которые мы хотели приобрести, были доступны в 10 нм
Илон: стоит отметить, что мы завершили этот дизайн примерно полтора года назад и начали следующее поколение. Сегодня мы не говорим о следующем поколении, но мы уже на полпути. Все то, что очевидно для чипа следующего поколения, мы делаем.
Q: Компьютер предназначен для работы с камерами. Можно ли использовать его с лидаром?
Илон: Лидар — это провальное решение, и любой, кто полагается на лидар — обречен. Обречен. Дорого. Дорогие датчики, которые не нужны. Это как иметь кучу дорогих ненужных приложений. Один маленький еще ничего, а куча — уже кошмар. Это глупо, вы увидите.
Q: Можете дать оценку влияния энергопотребления на пробег?
Пит: Для Model 3 целевое потребление составляет 250 Вт на милю.
Илон: Зависит от характера вождения. В городе эффект будет гораздо больше, чем на шоссе. Вы едете в городе в течение часа и у вас есть гипотетическое решение, которое потребляет 1 кВт. Вы потеряете 6км на Model 3. Если средняя скорость 25км/ч, то вы теряете 25%. Потребление системы оказывает огромное влияние на пробег в городе, где, как мы думаем, будет большая часть рынка роботакси, поэтому мощность чрезвычайно важна.
Q: Насколько надежны ваши технологии с точки зрения IP, вы не собираетесь раздавать IP бесплатно?
Пит: Мы подали десяток патентов на эту технологию. По сути, это линейная алгебра, которую я не думаю, что вы можете запатентовать. (Илон смеется)
Q: ваша микросхема может что-то сделать, может быть, зашифровать все веса, чтобы ваша интеллектуальная собственность оставалась внутри, и никто не смог просто украсть её
Илон: О, хотел бы я встретить человека, способного сделать это. Я бы нанял его в одно мгновение. Это очень сложная проблема. Даже если удастся извлечь данные, потребуется огромное количество ресурсов чтобы их как-то использовать.
Большим устойчивым преимуществом для нас является флот. Ни у кого нет флота. Веса постоянно обновляются и улучшаются на основе пройденных миллиардов миль. У Tesla в сто раз больше автомобилей с аппаратным обеспечением необходимым для обучения, чем у всех остальных вместе взятых. К концу этого квартала у нас будет 500 000 автомобилей с 8 камерами и 12 ультразвуковыми датчиками. Через год у нас будет более миллиона автомобилей с FSDC. Это просто огромное преимущество в данных. Это похоже на то, как у поисковой системы Google есть огромное преимущество, потому что люди используют ее, и люди фактически обучают Google своими запросами.
Хост: Одна вещь, которую нужно помнить о нашем компьютере FSD, это то, что он может работать с гораздо более сложными нейронными сетями для гораздо более точного распознавания изображений. Пора поговорить о том, как мы на самом деле получаем эти изображения и как мы их анализируем. У нас здесь старший директор AI — Андрей Карпаты, который объяснит вам все это. Андрей доктор наук из Стэнфордского университета, где он изучал информатику с акцентом на распознавание и глубокое обучение.
Илон: Андрей, почему бы тебе просто не начать, давай. Из Стэнфорда вышло много докторов, это не важно. Андрей ведет курс по компьютерному зрению в Стэнфорде, это гораздо важнее. Пожалуйста, расскажи о себе.
(Перевод оказался довольно не быстрым делом, не знаю хватит ли меня на вторую часть про систему обучения нейросети, хотя именно она кажется мне самой интересной.)












