Обновить

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

Какой адский нейрослоп...

Никогда не понимал причем тут сам язык. Все дело в компиляторе.. или в не-компиляторе.
Тормозит-то бинарник, который (грубо) из исходника создал компилятор.
А на каком языке написан исходник рояли не играет.

Согласен, тормозит бинарник, а не синтаксис. Но язык задаёт компилятору потолок: пока спецификация разрешает в рантайме переопределить любой метод и атрибут, компилятор обязан оставлять динамический диспатч. Поэтому 30 лет и миллиарды в PyPy/Faster CPython дали ~1.4x. А раздел 3 как раз о том, что в ИИ быстрый бинарник и так на C++/CUDA; вопрос лишь, почему исходник над ним обязан быть именно на Python. И ответ не технический, а социальный.

Все скоростные алгоритмы, в т.ч. перемножение матриц, выполняются не на чистом python, а в библиотеках, которые как раз и написаны на быстрых энергоэффективных языках.

На чистом python выполняются лишь небольшие по объему эксперименты, на домашних х компьютерах, которые если и увеличивают потребление, то на мизерные доли по сравнению с просмотром видео или видеоиграми...

код llm на чистом python

Язык python реализован на языке С. Интерпретатор написан на C (CPython), стандартная библиотека большей частью написана на C.

Те, кто занимался оптимизацией систем в один голос скажут, что не существует одного-двух узких мест.

Быстродействие это культура производства, здесь нет мелочей.

Python очень медленный язык; сколько его не ускоряй - ничего не получится, зависимости вмешаются. Типизация вообще загадочная.

Только куда не ткнись, язык python не обойти.

Согласен по всем пунктам, кроме "не обойти" - это верно там, где Python держится на инерции экосистемы. А на новых территориях его уже обошли, даже HuggingFace пишет ядро на Rust. Так что да — вниманием стоит не обходить и Swift, и Rust, и Mojo. Победа любого из них лечит главную болезнь: привычку писать всё на двух языках сразу.

его уже обошли, даже HuggingFace пишет

Пожелаем им удачи.

Нейронные модели сильно облегчили написание кода, только учитываем что Rust разработчик дороже в деньгах и rust сложнее в разработке и в менеджменте.

И второе - переписать программный код на другой язык - это на порядки раз проще и понятнее чем написать с нуля, потому что весь путь уже пройден, уже знаем что нужно делать.

Для языка python даже не очень современные модели выдают безупречный код, по цене "почти бесплатно". Для прототипа хватит, а без прототипа ничего не получится.

Разработка на python на порядок быстрее и проще (сравнивая с Rust, Go, C, C++) - по времени, по деньгам, по ошибкам, по рефакторингу. То есть для прототипов других вариантов почти нет. На практике новый проект пишем на python, а уже потом, через года, если проект взлетит, если будет бюджет - перепишем на компилируемый язык.

Разработка на python на порядок быстрее и проще (сравнивая с Rust, Go, C, C++) - по времени, по деньгам, по ошибкам, по рефакторингу. 

Я правильно понимаю, с Ваших слов,что приложение на python можно написать быстрее чем на Go в 10 раз?

"Медленность" питона никак не мешает ИИ задачам. Все тяжёлые и массовые операции, типа перемножения тензоров (основная операция для ИИ) давно реализованы в идеально оптимизированных сишных библиотеках, а питоновские скрипты просто позволяют удобно склеивать логику. Перевод этой логики на компилированные языки мало что добавит скорости, но повредит гибкости.

"Медленность" питона никак не мешает ИИ задачам

Очень сильно мешает. Вызовы, импорты, инстансы - это занимает время. Плюс учитываем обмен данными между библиотеками, методами, всем подряд. Тут ещё строгая типизация.

Куда в python не ткни - всюду грабли.

"На C можно написать все что угодно, но жизнь слишком коротка", уже не помню откуда в голове у меня эта фраза, но в целом я потратил 6 лет жизни на этот язык, сейчас работаю на питоне и js, ну и на Rust чучуть и я пипец как этому рад, терпеть не могу C++ и C.

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

В статье подчёркивается применение python для ИИ. Тут уже важно на чём написан проект, python на минимально реальных датасетах настолько медленный, что кажется выполнение зависло.

Согласен. После C/C++ Python и JS — это действительно облегчение, и бизнесу важнее всего скорость вывода фичей, а не пара миллисекунд.

Просто в on-device AI эти миллисекунды уже заметно влияют на батарею и стоимость серверов. Поэтому и предлагают Swift - удобство почти как у Python, но без сильного налога на производительность.

Вот вообще не универсально.

Попробуйте бизнесу предложить, например, HTTP-сервер на Python.

А что не так с HTTP сервером на питоне? Почему то все говорят про нагрузку фрейм ворка языка, но про нагрузку на все остальное рядом все молчат. У вас быстрее база данных захлебнется в нагрузке чем приложение на питоне или вообще на чем угодно, + вашему приложению еще дорасти надо до такой нагрузки, не у всех и будет такая нагрузка хоть когда нибудь что бы хоть какой-то смысл имело писать дольше на более производительном языке

Интересно, иногда считаешь, что есть вещи, которые известны всем, а потом понимаешь, что в статье и в комментариях уже раз 10 в разных формулировках упомянуто, что «все ключевое в питоне написано на C/C++”.

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

Питон в топку, разумеется.
Но Swift - это же apple-only язык?

Нет, уже не Apple-only. На Swift и Swift Embedded можно всё что угодно написать (и пишут)

Python очень не хватает нормальной имплементации - JIT или компилятора в стиле SBCL. Да, конечно, есть PyPy...

Даааа, статью наверное блокнут за ллм

Но блин, вот точно такая же ситуация с react и $mol'om )

Питон на реакт заменить а всё остальное на мол)

Спросите меня, что будут обсуждать на Хабре через двадцать лет? Правильно. Ругать пайтон за медлительность и удивляться, почему это до сих пор самый востребованный язык во всём мире.

Через 20 лет он вряд ли будет востребованным )
Вообще, популярность питона обусловлена другой причиной. Нейросетями сначала занимались математики. Не являясь программистами, они лабали свои наброски на максимально легком для входа языке - питоне. И получилось, что множество библиотек для ML написано на нем. Автоматически, те, кто присоединялся к ML\LLM тематике, были вынуждены использовать питон.
Но думаю, с массовым распространением LLM, ситуация измениться в правильное русло. Пример - llama.cpp.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации