Pull to refresh

Comments 25

На WWDC были озвучены впечатляющие показатели Create ML и Core ML 2 на примере приложения Memrise. Если раньше на обучение одной модели с использованием 20 тысяч изображений требовалось 24 часа, то Create ML сокращает это время до 48 минут на MacBook Pro и до 18 минут — на iMac Pro. Размер обученной модели уменьшился с 90MB до 3MB.


Можно, пожалуйста, описание эксперимента? Какие модели и сеттинги обучения сравнивались? Описанные цифры звучат фантастически.
Посмотрите сессии с WWDC на тему CreateML. Вкратце — они обучали не всю модель, а только дообучали последние слои. Собственно, эта возможность и есть нововведение.
Нововведение по сравнению с чем? Это обычная практика transfer learning, придуманная кучу лет назад.
Почему стандартная вещь, которую все и так делают, подаётся как какая-то невероятная киллер фича CreateML?
Плюс в том, что они вшили много предобученных моделей в систему, которые можно частично реиспользовать, не поставляя с приложением все 200–300МБ. Для мобильных устройств и подгрузки на ходу это довольно актуально.
Киллер-фича это или нет — вопрос в сторону Apple :)
Плюс в том, что они вшили много предобученных моделей в систему, которые можно частично реиспользовать, не поставляя с приложением все 200–300МБ. Для мобильных устройств и подгрузки на ходу это довольно актуально.

MobileNet-ы весят по 20 Мб. Прунинг есть, опять же. Квантификация. Всё же лучше, чем заниматься deep learning на внутреннем фреймворке от Apple.
Инфраструктура глубокого обучения движется в сторону того, что на embedded девайсах и на мобильных всё делается на TF, а при серверной разработке — на TF/Keras или PyTorch. Но нет, Apple пытается перетянуть на себя одеяло.

Киллер-фича это или нет — вопрос в сторону Apple :)

Ну вообще это вопрос в сторону автора, который с восторгом пишет про сокращение времени на обучение с 24 часов на 48 минут.
Если линейная экстраполяция работает, то сократить время обучения с 24 дней до 20 часов, несомненно киллер-фича, но не теоретическая, так как все знают как это было, а практическая!
Несомненно это расширит сферу применений, а вот полезные они будут или нет, покажет время.

Так я не говорю, что это бесполезно. Я говорю, что все, кроме iOS-разработчиков по всей видимости, это и так делают уже несколько лет, и тут приходит Эппл и преподносит это как чудо.

Это, собственно говоря, стандартная практика в яблочном мире.

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

Я говорю, что Apple зря хвастаются «прорывными» достижениями, потому что на самом деле в гонке технологий ML/DL они являются абсолютными аутсайдерами среди крупных компаний.

в прошлом году

CreateML вышел в июне 2018. Tensorflow for mobile появился несколько лет назад. У вас проблемы с таймлайнами.

вместо того, чтобы остановиться на гугловской

Ну, если бы Apple развивали CoreML как обёртку над нормальными ML-фреймворками, а не выдумывали очередное «машинное обучение через GUI мышкой», то это было бы лучше и для ML инженеров, и для юзеров, которые бы получали потенциально более качественные алгоритмы, но, очевидно, для Apple это хуже.
Apple зря хвастаются «прорывными» достижениями

В каком месте они хвастаются и вообще где написано что-то про «прорывность» достижений?


они являются абсолютными аутсайдерами

А юзабельный Face ID на кастомном нейронном сопроцессоре они, тем не менее, первыми запилили...


CoreML вышел в июне 2017-го, TF Mobile — в феврале 2017-го.


нормальными ML-фреймворками

В чем «ненормальность» эппловского фреймворка? Алгоритмы обучения нейронных сетей не Гугл изобрёл, если что.


машинное обучение через GUI мышкой

В MATLAB машинное обучение аналогично выглядит, даже аналог playgrounds есть. Просто Гуглу, как обычно, лень допиливать свои инструменты, поэтому в туториалах по TF юзается консолька и brew. Логично, что Apple запилила свой фреймворк с нормальной интеграцией в свои инструменты.

В каком месте они хвастаются и вообще где написано что-то про «прорывность» достижений?

В том отрывке статьи, к которому я изначально прикопался, и в демо на WWDC собственно.

CoreML вышел в июне 2017-го, TF Mobile — в феврале 2017-го.

Сейчас бы называть CoreML фреймворком машинного обучения…

А юзабельный Face ID на кастомном нейронном сопроцессоре они, тем не менее, первыми запилили...

Breaking news! Apple представили первую в мире идентификацию лица!
Ох, стоп. Они же всего лишь навсего стали первыми, кто смог достаточно хорошо распиарить эту фичу и имели свои телефоны, в которые это можно было засунуть.
А так face recognition в том или ином виде был раньше и у Samsung, и у Microsoft.

В чем «ненормальность» эппловского фреймворка? Алгоритмы обучения нейронных сетей не Гугл изобрёл, если что.

В том, что это high-level blackbox фреймворк, который позволяет делать очень ограниченный набор вещей и работает только для нескольких стандартных задач. Сделать на нём что-то кастомное — задача для любителей жёстких извращений.
Также этот фреймворк не является кроссплатформенным. Т.е. если у вас веб, iOS и Android-приложения, то вам придется делать ML-часть отдельно, что не особо логично. И в конце концов он на свифте, который является мягко говоря не самым подходящим языком для ML (для начала потому что большинство дата саентистов его не знают).

В MATLAB машинное обучение аналогично выглядит

Во-первых, лол, нет. Во-вторых, никто сейчас Matlab-ом не пользуется.

Просто Гуглу, как обычно, лень допиливать свои инструменты, поэтому в туториалах по TF юзается консолька и brew.

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

лицорука.

заслуга эппла в том, что была бесшовная миграция с touchid -> faceid. и банковские апп спокойно используют его для подтверждения операций. А на ведре и винде и face recognition только и служит для анлока девайса.
прям смешно стало за пользователя самсунга.

И где в статье говорится про прорывность достижений? В статье говорится про прорывность для данного конкретного фреймворка. Кстати интересно бы сравнить его с питонскими — что-то мне подсказывает, что нативный Swift в сравнении с ними вполне может быть прорывным по скорости.


face recognition в том или ином виде был раньше и у Samsung, и у Microsoft

В том или ином виде face recognition был ещё до появления MS и Samsung. Apple сделали из него юзабельный продукт, а не маркетинговый buzzword.


Сделать на нём что-то кастомное — задача для любителей жёстких извращений

Между Create ML и гугловским ML Kit существенных различий не обнаружено так-то.


если у вас веб, iOS и Android-приложения, то вам придется делать ML-часть отдельно

Традиционная дилемма "сделать медленно и криво, но кроссплатформенно" или "сделать быстро и красиво, но под конкретную платформу".


лол, нет

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


никто сейчас Matlab-ом не пользуется

MATLAB в топ-10 PYPL, в топ-15 TIOBE — нормально пользуются, особенно в США и Европе. На аутсорсе Python с его тулзами более популярен — из-за дороговизны MATLAB и наличия дешевых code monkey, времени которых не жалко.


нужно реально кодить

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

Кстати интересно бы сравнить его с питонскими — что-то мне подсказывает, что нативный Swift в сравнении с ними вполне может быть прорывным по скорости.

Ну, так-то что свифт что питон являются только обертками для кода на нормальном языке, мерять скорость интеропа с плюсам — такая себе прорывность.
И да, эпплу бы сначала язык стабилизировать, а уж потом использовать его для «новых и революционных» ML библиотек. Но яблоку это нафиг не надо, яблоку надо намертво заковать разработчика в кандалы своих проприетарных тулзов, как и в случае с тем же xcode.
яблоку надо намертво заковать разработчика в кандалы своих проприетарных тулзов

Да пользуйтесь любыми колхозными «свободными» тулзами, кто вам мешает. Только опенсоурс-сообщество ниасилило даже годную среду разработки на свет произвести, не говоря уже обо всем остальном, потому как его участникам больше нравится проповедовать высокие идеалы в комментах, чем кодить. А потому имеем, что имеем: хочешь нормально работать и ценишь своё время — юзай проприеритарщину, хочешь ковырять консоль, конфы и исходники вместо выходных с друзьями или с семьёй — юзать опенсорс.

как я понимаю:
1) CreateML — набор тулзов для обучения на десктопе, а TFM/TFL — работать с моделями на мобилке. — это разные вещи. CoreML как раз и появился раньше TFM\TLM в iOS из коробки.

2) «если бы Apple развивали CoreML как обёртку над нормальными ML-фреймворками» — Apple использует Turi, разработчиков которых они купили несколько лет назад, афаик Turi появилась раньше ТФ.

Отсюда вопрос — сфигали ТФ единственное правильные тулзы для МЛ-ДЛ?
Отсюда вопрос — сфигали ТФ единственное правильные тулзы для МЛ-ДЛ?

Разумеется ТФ не единственная правильная тула для ML/DL. Есть же еще PyTorch, CNTK, Caffe, LightGBM, CatBoost, XGBoost, libSVM и великое множество других нормальных библиотек.
Их отличительной особенностью является то что они открытые, расширяемые, кроссплатформенные и не пытаются замкнуть пользователя в своей экосистеме и ограничить создание моделей до «press X to train model».
1) тури — опенсоурсное.
2) кроссплатформеность — это сказка в пользу бедных. или как пишет Стивен Синофски — если вы используете кроссплатформенность, значит вы решаете свои проблемы, а не проблемы пользователя.

Эппловое решение хорошо тем, что на эппловом устройстве оно будет работать эффективнее, чем фигзнаеткак оптимизированный тензорфлоу.
и будет смешно смотреть, если тензорфлоу аппы будут сваливаться на CPU вместо GPU на каких нить сяоми с МТК.
Почему стандартная вещь, которую все и так делают, подаётся как какая-то невероятная киллер фича CreateML?

Потому что это политика Apple, они всегда так делают :)
потому что эпплове решения уже используются в проде, а у конкурентов всё только в виде research papers
Использую tf + keras + tf lite в проде.
И да, мне показалось или вы утверждаете что у того же гугла в проде не используется ML пайплайны на их же тулах?
я о том, что есть ли аналог createml у других фреймворков. выше писали, что сама идея не нова, окей, но где gui тулза, а не ковыряние в консоли с питоном.
Очень интересно. Пойду ставить Mojave (по второму разу) и пробовать ML. Спасибо за гайд/статью)
Sign up to leave a comment.