Долгое время Elixir был (да и сейчас есть, пожалуй) эдакий RoR на стероидах. Как бы и Руби, но поверх BEAM, так что много вкусняшек из коробки. Да, я в курсе про всякие WhatsApp, но на общем фоне они погоды не делают.
И тут проскакивает новость, что автор Эликсира Жозе Валим решил запилить некое чудо под названием Project Nx и создает некую Machine Learning Working Group и всецело себя посвящает этой задаче. В принципе, если посмотреть на другие его творения, типа Phonix, Ecto ну и конечно же сам Elixir, что-то интересное безусловно будет создано.
Но это всё вступление, картина крупным планом. А вот что меня интересует, так это будет ли какой-то потенциально интересный выхлоп для ML сообщества в замене того же однопоточного Python на миллион-поточный-и-всё-летает Elixir? Расчеты всяко же будут на GPU, со всякими TensorFlow и PyTourch, но тогда вроде всё и так есть и ничего нового не надо? Или всё же идея хорошая?
Здравствуйте, kaa.python, Вы писали:
KP>Но это всё вступление, картина крупным планом. А вот что меня интересует, так это будет ли какой-то потенциально интересный выхлоп для ML сообщества в замене того же однопоточного Python на миллион-поточный-и-всё-летает Elixir? Расчеты всяко же будут на GPU, со всякими TensorFlow и PyTourch, но тогда вроде всё и так есть и ничего нового не надо? Или всё же идея хорошая?
Если он этим занялся значит кто-0то за это платит. Мне вот интересно, какой бизнес будет строить инфраструктуру вокруг BEAM + ML? Неужели в телеком это проникает, но вопрос тогда в каком виде?
Здравствуйте, kaa.python, Вы писали:
KP>Но это всё вступление, картина крупным планом. А вот что меня интересует, так это будет ли какой-то потенциально интересный выхлоп для ML сообщества в замене того же однопоточного Python на миллион-поточный-и-всё-летает Elixir? Расчеты всяко же будут на GPU, со всякими TensorFlow и PyTourch, но тогда вроде всё и так есть и ничего нового не надо? Или всё же идея хорошая?
В ML есть такой неприятный момент, что оно, зараза, проникает повсюду. Значит питон и расчёты в облаках становятся лишь стадией прототипирования. Нужен "язык для проадакшена". Теоретически — С/С++. Практически — а где ты столько годных плюсовиков найдёщь? Поэтому яблочники что-то пытаются на своём Сфифте изобразить, где-то в финансах, слышал, Юленьку мучают, а эти вот решили веб-маргинальщиной развлечься. Всё хорошо. Больше попыток — больше щансов на пресловутое перерастание качества в количество.
Здравствуйте, Kernan, Вы писали:
K>Если он этим занялся значит кто-0то за это платит. Мне вот интересно, какой бизнес будет строить инфраструктуру вокруг BEAM + ML? Неужели в телеком это проникает, но вопрос тогда в каком виде?
Может как El Camino Real предполагает — более простой способ запуска уже натренированных моделей в продакшн? Звучит разумно, особенно с учетом того, на сколько просто вести разработку на Elixir.
То есть это точно не для телекома, т.к. Elixir не для телекома, а для веб-приложений в первую очередь, просто на базе BEAM с OPT.
Здравствуйте, El Camino Real, Вы писали:
ECR>В ML есть такой неприятный момент, что оно, зараза, проникает повсюду. Значит питон и расчёты в облаках становятся лишь стадией прототипирования. Нужен "язык для проадакшена". Теоретически — С/С++. Практически — а где ты столько годных плюсовиков найдёщь? Поэтому яблочники что-то пытаются на своём Сфифте изобразить, где-то в финансах, слышал, Юленьку мучают, а эти вот решили веб-маргинальщиной развлечься. Всё хорошо. Больше попыток — больше щансов на пресловутое перерастание качества в количество.
Ну т.е. просто еще одни биндинги к основным системам машинного обучения для запуска моделей в проде? Да, такой вариант звучит разумно, принимая во внимание то, что BEAM приложения довольно легко масштабируются из коробки, чего про C++ приложения не скажешь
KP>Ну т.е. просто еще одни биндинги к основным системам машинного обучения для запуска моделей в проде?
Угадал.
Вступай в EEF ML WG, ее как раз сегодня одобрили на board meeting. Будешь founding member, требуется всего ничего, 5 часов в месяц работать над какими-нибудь связанными с этим всем проблемами.
Здравствуйте, El Camino Real, Вы писали:
ECR>В ML есть такой неприятный момент, что оно, зараза, проникает повсюду. Значит питон и расчёты в облаках становятся лишь стадией прототипирования. Нужен "язык для проадакшена". Теоретически — С/С++. Практически — а где ты столько годных плюсовиков найдёщь? Поэтому яблочники что-то пытаются на своём Сфифте изобразить
И не только яблочники. Гугл на базе swift хотел сделать новый TF, но обломился. Ниша для такого языка по прежнему свободна.
Здравствуйте, Nuzhny, Вы писали:
N>И не только яблочники. Гугл на базе swift хотел сделать новый TF, но обломился. Ниша для такого языка по прежнему свободна.
Здравствуйте, kaa.python, Вы писали:
KP>А что пошло не так?
Вроде бы создатель Chris Lattner ушёл из Гугла. Но, думаю, что это эхо причины, а не она сама.
С другой стороны, все его наработки включаются в основной репозиторий языка, так что работа была проделана не напрасно.
Здравствуйте, johny5, Вы писали:
N>>Ниша для такого языка по прежнему свободна. J>Может Julia стала таким языком?
Ещё точно не стала и непонятно станет ли в будущем. Как бы данные у неё есть для этого для тех, кто переходит с Матлаба. Но с другой стороны, индексация с 1 может сломать мозг программистам.
Здравствуйте, kaa.python, Вы писали:
KP>А вот что меня интересует, так это будет ли какой-то потенциально интересный выхлоп для ML сообщества в замене того же однопоточного Python на миллион-поточный-и-всё-летает Elixir? Расчеты всяко же будут на GPU, со всякими TensorFlow и PyTourch, но тогда вроде всё и так есть и ничего нового не надо? Или всё же идея хорошая?
Чем оно будет лучше Julia?
Чем хуже? скоростью и экосистемой.
Здравствуйте, Nuzhny, Вы писали:
N>Но с другой стороны, индексация с 1 может сломать мозг программистам.
+1
Проблема на ровном месте. Идиотизм уровня "в DOS будут другие слэши".
Здравствуйте, novitk, Вы писали:
N>Чем оно будет лучше Julia?
Если я правильно понял СкайДанса, то оно немного про другое получается (к сожалению). На Юлии ты можешь (качество "моженья" не трогаем) прототип, обвязки к существующим вычислительным ядрам и даже своё собственное вычислительное ядро замутить. А тут получается как бы назвать-то... ML middleware что ли. На первый взгляд, похоже на Dask. Там numpy массивы заменили на свою супер-масштабируемую реализацию, а здесь библиотеку тензоров Nx сделали. И всё это теоретически должно опираться на масштабируемость и простоту развёртыванию присущие Elixir. Теоретически
Здравствуйте, kaa.python, Вы писали:
KP>Но это всё вступление, картина крупным планом. А вот что меня интересует, так это будет ли какой-то потенциально интересный выхлоп для ML сообщества в замене того же однопоточного Python на миллион-поточный-и-всё-летает Elixir? Расчеты всяко же будут на GPU, со всякими TensorFlow и PyTourch, но тогда вроде всё и так есть и ничего нового не надо? Или всё же идея хорошая?
Поезд ушёл.
Для экспериментов PyTorch рулит. Для production'а он тоже рулит, так TorchScript компилируется в С++. Так что натренированную и отлаженную модель можно одним движением пальца ноги превратить в автономный бинарик, для развёртывания хоть на iPhone'ах. Особенно учитывая, что PyTorch можно конвертировать в модели для CoreML.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, kaa.python, Вы писали:
C>Для экспериментов PyTorch рулит. Для production'а он тоже рулит, так TorchScript компилируется в С++. Так что натренированную и отлаженную модель можно одним движением пальца ноги превратить в автономный бинарик, для развёртывания хоть на iPhone'ах. Особенно учитывая, что PyTorch можно конвертировать в модели для CoreML.
Не знаю. Если у нас инференс на nvidia, то переписываем на C++ и TensorRT. Если на x86, то переписываем на C++ и OpenVINO. Все быстрее PyTorch. Кажется, что обучение и продакшен пока в одном инструменте полноценно не совмещаются.
Здравствуйте, Cyberax, Вы писали:
C>Для экспериментов PyTorch рулит. Для production'а он тоже рулит, так TorchScript компилируется в С++. Так что натренированную и отлаженную модель можно одним движением пальца ноги превратить в автономный бинарик, для развёртывания хоть на iPhone'ах. Особенно учитывая, что PyTorch можно конвертировать в модели для CoreML.
т.е. ты тренируешь модель на Python и тебе даже не надо притрагиваться к Плюсам? Звучит интересно, а насколько оно по скорости адекватно работает?
Всё же если говорить решение на базе BEAM, то там будет доступ к OTP что дает довольно неожиданные возможности для распределённых вычислений. Ни Python ни C++ такого нет и иметь не будут.
Здравствуйте, SkyDance, Вы писали:
SD>Вступай в EEF ML WG, ее как раз сегодня одобрили на board meeting. Будешь founding member, требуется всего ничего, 5 часов в месяц работать над какими-нибудь связанными с этим всем проблемами.
Звучит потенциально интересно. А где можно детали узнать?
Здравствуйте, Nuzhny, Вы писали:
N>Не знаю. Если у нас инференс на nvidia, то переписываем на C++ и TensorRT. Если на x86, то переписываем на C++ и OpenVINO. Все быстрее PyTorch. Кажется, что обучение и продакшен пока в одном инструменте полноценно не совмещаются.
Вообще да. У нас тоже PyTorch для обучения, а потом уже мы на плюсы переносим. Но сейчас уже пошли SoC с ML-модулями способными напрямую выполнять натренированную модель с минимальными затратами электричества, что вообще круто для встраиваемых систем.