Как стать автором
Обновить

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

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


А вот в обратную сторону это масштабирование не работает — нельзя сразу получить маленькую максимально эффективную нейронную сеть. По крайней мере, современные математические методы обучения не позволяют это сделать.


Так что пусть гиганты рынка делают и обучают сверхсложные нейросетки на спец. устройствах. В итоге они придут и на бытовые устройства. Или цена спец. вычислителей снизится ).

НЛО прилетело и опубликовало эту надпись здесь
Гугловские TPU конечно же купить нельзя, только аренда :(

А что вообще доступно и можно купить? только чтобы цена на производительность не была такой неадекватно высокой что чтобы окупить разницу в энергопотреблении нужно сотню лет нагружать железо?
Все зависит от задачи. Если сетка маленькая и задача достаточно простая то можно выбрать blakcfin
или ПЛИС(даже яндекс ПЛИС использует к примеру). Есть линейка NVIDIA JETSON (TK1 например продается до сих пор в виде чипа и на плату в принципе можно поместить несколько). Qualcomm еще с 2018 обещают инструменты для машинного обучения на их процессорах, но цена вхождения и ежемесячная абонентка очень велики для маленьких компаний.

Это же не готовое железо а чипы, по ссылке именно они
И к сожалению on chip memory там считанные килобайты с надо несколько мегабайт… Гонять через память медленно.


Где посмотреть готовое железо с подключением по usb/pcie?

О том и речь что нужно сначала с задачей определиться. Вот вам зачем подключать их по USB/PCI? TK1 -например вообще ARM процессор с видео ядром на 128 ядер CUDA(между неcколькими процессорами можно задачи разбивать). По PCI Совместно сейчас только Xavier работают на сколько знаю. Так же у NVIDIA есть DRIVE PX и сделанная ими для теслы плата с 4-мя процессорами, с тенсор ядрами(но как частное лицо вы их можете получить только в конечном продукте).

А из подключить по USB можно только дорогую пробу пера от Intell получить (Intel Neural Compute Stick). Лично мне данная разработка только во время презентации понравилась. Я вряд ли ее еще раз в руки возьму. Но это лично мое мнение и мой опыт. есть ребятки которые принаровились и к этой железке… правда как-то ни одного реального проекта на ней я не видел. Только совсем любительские даже не прототипы чего-то для мас маркета. А это что-то да говорит об устройствах для машинного обучения работающих по USB интерфейсу, пускай и 3.0.

Ах нет, чуть не забыл есть еще Mustang-M2BM-MX2 от Intel, который они представили без цен, и с поддержкой библиотек(где каждое второе слово со *). Чтобы не быть голословным вот.

Так что начинайте с Т.З. И поймете что большая часть всех этих радостей вам или избыточна, или бессполезна, например по тому что мы код написали до того как железку получили, а большая их часть его не поддерживает, или что более вероятно, у вас никакого желания нет тратить месяцы на изучение новых библиотек и методов работы с ними, а хочется работать с тем где вы уже наработали некий опыт.
Не важно, pcie, usb или ethernet, пусть будет встроенный процессор.

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

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

Например гугловские tpu заточены как раз под библиотеку tenzorflow, это значит если изначально использовать ее то можно получить поддержку tpu из коробки или с минимальными усилиями для портирования.
ну во первых для машинного обучения ничего не мешает использовать jetson nano за 140$ в наших широтах. Да звезд с неба не хватает. но стабильные 28 кадров на датасет в 10 000 обьектов на ней запустить можно. что уж там про расчеты говорить… вообще летать будут. а самое главное все библиотеки жует. Себе личную взял, гоняю и нравится. А для чего по серьезней есть 2 пути. Jetson TX2 или Mini ITX c PCI слотом и видео картой. Они доступные и более чем. Видел народ еще пользует LattePanda Alpha с видео картой, но там PCIe 4x и карточку видео с ней на полную гонять не получится.
Мне нужно не для распознавания, а для анализа датасетов и обучения нейросетей.

Jetson nano хорошая железка, компактная, но производительность на бакс у нее (и тем более TX2) хуже чем десктопное железо и игровые видеокарты… я хочу лучше видеокарт.
IMHO, обучение на локальном железе слишком узкая ниша, чтобы можно было найти что-то универсальное и при этом более эффективное, чем видеокарты.
Если задачи большие, то остаётся только аренда в облаке чего-то по вашему вкусу — пулы видеокарт, TPU и тому подобное. Есть ещё Intel Nervana, но я не в курсе, продают её уже или нет.
Если задачи маленькие, типа обучения на оконечном устройстве, универсальную железку ещё сложнее найти в продаже.
Google TPU эффективнее видеокарт только по словам самого гугла в 8 раз, а когда рассказывали об их ИИ играющего в игры, 4 TPU прошлого поколения заменяли 200 видеокарт.

Обучение и анализ — это главное что требует вычислительные мощности, само же использование их результатов может использоваться на слабом железе, даже мобильном. Из-за того что доступное железо, необходимое для типичных задач, слишком дорогое и громоздкое, исследователи чаще арендую кластер у крупных игроков, которые таким образом фактически монополизируют контроль (ценовой) косвенный над получением результатов.
У Intel (Altera в прошлом) у семейства Arria V накристальной памяти десятки мегабит, плюс не забываем про QDR4 SRAM, а это даст еще около 144 мегабит на чип с сопоставимым временем доступа и пропускной способностью до ~150 Gbps. Стоит это хозяйство конечно не мало, но все же.
Без применения внешней памяти этого хватит на полносвязный слой из 1000 нейронов, а с применением внешней быстрой памяти таких слоев может быть в разы больше. Если делать сверточные слои, то в общем случае коэффициентов нужно меньше (зависит конечно от того, сколько ядер сверток хранить).
P.S. ПЛИС для реализации обученных сетей очень приятная, быстрая и масштабируемая вещь, особенно с учётом возможностей современных чипов, встроенных интерфейсных каналов и т.д.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий