(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Создан язык программирования для ИИ, который "в 68 000 раз быстрее Python"

Источник: cnews

Язык программирования Mojo, основанный на Python, устраняет проблемы с производительностью и развертыванием проектов. Он предназначен для создания приложений в области искусственного интеллекта и машинного обучения. Доступ к платформе предоставляется по условиям лицензии Apache 2.0.

Открытие исходного кода

Компания Modular выложила в открытый доступ основные компоненты Mojo, языка программирования, предназначенного для написания программ для искусственного интеллекта (ИИ).

Компоненты Mojo составляют так называемую стандартную библиотеку языка. Это часть языка программирования, которая включает в себя основные элементы синтаксиса и другие важные функции. Стандартная библиотека Mojo включает в себя функции для таких задач, как оптимизация гиперпараметров ИИ - параметров, которые определяют, как нейронная сеть обрабатывает данные.

Язык Mojo позиционируется как более продвинутая альтернатива Python, с которым практически полностью совместим. При этом Mojo демонстрирует гораздо более высокую производительность, аналогичную C и C++. Утверждается, что программа, написанная на Mojo, может работать до 68 тыс. раз быстрее, чем если бы она была реализована с использованием Python. В результате, значительно повышается эффективность приложений основанных на ИИ.

Modular использует Mojo для работы коммерческой платформы MAX на основе ИИ, которую она представила в конце 2023 г. Платформа включает в себя инструменты, облегчающие выполнение таких задач, как запуск приложений ИИ в средах Kubernetes. В начале апреля 2024 г. компания сообщила, что планирует сделать некоторые компоненты MAX доступными под лицензией с открытым исходным кодом. В связи с этим Modular представила новую версию платформы с несколькими дополнительными функциями. По словам представителей Modular, одно из усовершенствований облегчит смешивание кода на Mojo и Python в одном проекте ИИ. Кроме того, компания добавила улучшения производительности, призванные ускорить вычисление ИИ.

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

Компания Modular получила финансирование в размере $130 млн от фонда GV Alphabet и других инвесторов. Фирма анонсировала Mojo в мае 2023 г., а в августе того же года сделала этот язык программирования общедоступным. К апрелю 2024 г. пользовательская база Mojo насчитывает более 180 тыс. разработчиков и 55 тыс. организаций по всему миру.

Проблемы с производительностью

Существуют также неизбежные проблемы с производительностью, даже если для библиотеки используется более быстрый язык. Одной из основных проблем на 2024 г. является отсутствие "слияния", то есть вызов множества скомпилированных функций подряд приводит к большим накладным расходам. Поскольку данные преобразуются из формата Python в другой и обратно, то за многократное переключение с Python на C приходиться платить. Поэтому вместо этого приходится писать специальные "сведенные" версии обычных комбинаций функций и вызывать эти "сведенные" версии из Python. Это означает, что программистам придется реализовывать и запоминать гораздо больше библиотечных функций.

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

Такие библиотеки, как PyTorch, разрабатывают все более изощренные способы решения этих проблем с производительностью, а недавно выпущенный PyTorch 2 даже включает функцию compile(), которая использует сложную бэкенд компиляцию для создания высокопроизводительной реализации кода Python. Однако такая функциональность не может творить чудеса: существуют фундаментальные ограничения на то, что возможно с Python, в зависимости от того, как устроен сам язык.

Особенности Mojo

Ключевой трюк в Mojo заключается в том, что разработчик может в любое время перейти в более быстрый "режим", используя "fn" вместо "def" для создания своей функции. В этом режиме программисты должны точно объявить тип каждой переменной, и в результате Mojo сможет создать оптимизированный машинный код для реализации функции. Более того, если разработчики используют "struct" вместо "class", их атрибуты будут плотно упакованы в память, так что их можно будет использовать даже в структурах данных, не гоняясь за указателями. Это те функции, которые позволяют таким языкам, как C, быть такими быстрыми, и теперь они доступны и для программистов Python - просто изучив немного нового синтаксиса.

Компоненты Mojo формируют так называемую стандартную библиотеку языка программирования. Это набор модулей, классов, объектов, констант, глобальных переменных, шаблонов, макросов, функций и процедур, доступных для вызова из любой программы, написанной на этом языке. Стандартная библиотека включает функции для таких задач, как оптимизация гиперпараметров ИИ - настроек, которые определяют, как нейронная сеть обрабатывает данные.

Разработчики Modular публикуют не только код, но и историю фиксации стандартной библиотеки. Создатели Mojo стремятся к прозрачности и дают людям возможность увидеть, как функции развивались с течением времени, что дает дополнительный контекст для разработки стандартных функций библиотеки.

Лицензия Apache

Лицензия Apache 2.0 содержит положение о предоставлении патента, которое обеспечивает правовую защиту пользователей и разработчиков программного обеспечения (ПО). Apache 2.0 на начало апреля 2024 г. широко используемая и проверенная лицензия, которая знакома многим программистам и компаниям в различных отраслях.

Компания Modular предполагает, чтобы разработчики могли использовать Mojo, не требуя от них подтверждения Modular или Mojo и давая понять, что его можно смешивать с кодом GPL2. Поэтому компания Modular включает исключения LLVM, которые были специально разработаны для решения этих проблем.



 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 04.04.2024 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
IBM Domino Utility Server Processor Value Unit (PVU) License + SW Subscription & Support 12 Months
Oracle Database Standard Edition 2 Processor License
SAP Crystal Reports XI R2 Dev 2006 INTL WIN NUL License (Version 11)
ABBYY Lingvo x6 Многоязычная Домашняя версия, электронный ключ
Oracle Database Personal Edition Named User Plus Software Update License & Support
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Программирование на Microsoft Access
CASE-технологии
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
СУБД Oracle "с нуля"
Новые материалы
Новые программы для Windows
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100