ソフトウェア

従来のPythonよりも高速化が可能な新たなプログラミング言語「Mojo」が開発される


Appleのプログラミング言語「Swift」を生み出したクリス・ラットナー氏がCEOを務めるソフトウェア開発スタートアップのModularが、新たなプログラミング言語の「Mojo」を2023年5月3日に発表しました。Mojoはこれまでのプログラミング言語であるPythonの使用感とC言語並みの性能を合わせ持つ言語だとされています。

Mojo 🔥: Programming language for all of AI
https://www.modular.com/mojo


Modular Docs - Mojo🔥
https://docs.modular.com/mojo/


fast.ai - Mojo may be the biggest programming language advance in decades
https://www.fast.ai/posts/2023-05-03-mojo-launch.html

Modularは2023年5月3日に開催した製品発表イベントの中で、AI分野における同社の革新的な取り組みについて紹介し、従来よりも高速でスケーラブルなプログラミング言語である「Mojo」を発表しました。

Mojo???? combines the usability of Python with the performance of C, unlocking unparalleled programmability of AI hardware and extensibility of AI models.

Also, it's up to 35000x faster than Python ???? and … deploys ???? pic.twitter.com/tjT09U4F80

— Modular (@Modular_AI)


イベントの中でModularが行ったデモの様子が以下。デモ動画の中では、全く同じコードがMojoとCPythonの両方で動作しており、互換性がMojoとPythonにあることが示されています。

Jeremy Howard demo for Mojo launch - YouTube


Modularは「Pythonの構文とエコシステムに、システムプログラミングとメタプログラミングの機能を組み合わせることで、テスト環境と本番環境の間のギャップを埋める新しいプログラミング言語がMojoです」と述べています。また「Mojoはまだ開発段階で、時間の経過とともに今後はPythonに対するスーパーセットとなるように設計されています」と報告しています。

さらに、シングルスレッドでの動作を行うPythonに対して、Mojoでは複数のコアにまたがる並列処理を行うことで高速化が実現可能です。マンデルブロ集合の演算を行った場合、Python3.10.9では1027秒を要し、Pythonの処理系の1つであるPyPyでは46.1秒、汎用(はんよう)プログラミング言語のC++では0.20秒を要した時間が、Mojoでは0.03秒に短縮され、Python3.10.9と比較した場合、約3万5000倍の高速化を行うことができると報告されています。


Mojoによる高速化の要因としては、マルチスレッド処理による並列処理の他に、並列計算を得意とするコンパイラ基盤であるMLIRの活用や、プログラミング言語におけるデータ型の構造体に制限を設けていることなどが考えられています。一方で、Mojoを単なるPython処理系としてそのままのコードで使用した場合、高速化はCPythonの数倍にとどまりますが、処理系を簡素化することで実行速度の高速化を行うC言語の汎用性や性能には及ばないことが指摘されています。一方で高水準言語であるMojoに合わせてコードを書き換えた場合、機械語やアセンブリ言語をはじめとする低水準言語のような速度で実行することが可能だとされています。

記事作成時点でMojoは開発段階で、Modularが公開するウェイトリストに登録してサインアップすることでMojoへのアクセスやフィードバックの送信が可能です。一方で、Modularがクローズドな環境でのMojoの提供を行うことに対して「Mojoを普及させるつもりがあるならばコードを公開するはずです。クローズド環境での提供を行うことは話題集めや投資家へのアピールなのではないでしょうか」と指摘する声も上がっています。

Modular: Get started today
https://www.modular.com/get-started

この記事のタイトルとURLをコピーする

・関連記事
GitHubが「2022年に最も使用されたプログラミング言語」ランキングを発表 - GIGAZINE

GPT-4で新しいプログラミング言語「TenetLang」を生み出す、チャットAIは既にプログラミングの何たるかをかなり理解している模様 - GIGAZINE

Pythonの15年間見過ごされてきた脆弱性が30万件以上のオープンソースリポジトリに影響を与える可能性 - GIGAZINE

Appleのプログラミング言語「Swift」の生みの親がテスラに移籍して自動運転の開発を担当へ - GIGAZINE

Apple「Swift」の生みの親がテスラの自動運転開発をやめてGoogleの人工知能開発チーム入り - GIGAZINE

in ソフトウェア, Posted by log1r_ut

You can read the machine translated English article here.