Telegram
Rebryk Blog
🔥 Ну шо, датасаентисты, переходим на Mojo?
Есть такой дядька, как Chris Lattner, который известен созданием LLVM, Clang и Swift.
Крис обратил внимание на то, что в компаниях часто ресерчем и деплоем моделек машинного обучения занимаются разные команды. Во-первых, это добавляет много бесполезных митингов и перекидывания мячика туда-сюда, пока все наконец не заработает. Во-вторых, тупо что вообще нужно тратить кучу ресурсов, чтобы уже заресерченные модели оптимизировать под используемое железо и использовать в проде.
Поэтому в 2022 году он с командой начал делать платформу, куда вы закидываете свои модельки, и они работают быстрее. Когда они начали это делать, то поняли, что не хватает языка, который бы позволил удобно писать код как на Python, но при этом был бы быстрым как С++ и мог эффективно исполнятся на любых железяках.
И как вы понимаете, сложно найти кого-нибудь, кто шарит в компиляторах и создании новых языков круче, чем Крис. Поэтому они решили создать Mojo.
Mojo - это отдельный язык, который является надмножество Python. Это означает, что любой код написанный на Python будет работать в Mojo, но еще будет куча новых фишек, которые позволяют новому коду исполнятся намного быстрее (в десятки тысяч раз). То есть вы можете использовать всю удобную экосистему, к которой привыкли (типа pytorch, numpy и тд) и добавлять новую логику уже на Mojo.
В целом паттерн очевидный:
Java → Kotlin
Objective-C → Swift
Python → ⢨⠆⢘⡤⢔
Вот пример. Они взяли код перемножения матриц на питоне и понеслась:
1. Просто скопировать этот же код в Mojo - 17x ускорения
2. Добавить типы - 1866x ускорения
3. Добавили векторизацию - 8565х ускорения
4. Добавили мультипроцессинг - 14411х ускорения 🤯
Конечно, в реальность никто не перемножает матрицы на голом питоне, но тем не менее буст впечатляющий!
Больше инфы тут
Обсуждение 0
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram