본문 바로가기
트렌드 이슈 · 토픽

파이썬보다 35,000 배 빠른 새로운 프로그래밍 언어 「Mojo」가 개발된다

by 두우우부 2023. 5. 8.
반응형

Apple의 프로그래밍 언어 "Swift"를 낳은 크리스 래트너 씨가 CEO로 있는 소프트웨어 개발 스타트업 Modular가 새로운 프로그래밍 언어 "Mojo"를 2023년 5월 3일에 발표했습니다. Mojo는 지금까지의 프로그래밍 언어인 Python의 사용감과 C언어 수준의 성능을 겸비한 언어라고 합니다.

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

Mojo 🔥: Programming language for all of AI

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

www.modular.com


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

Modular Docs - Mojo🔥

A new programming language that bridges the gap between research and production by combining the best of Python with systems and metaprogramming.

docs.modular.com



Modular는 2023년 5월 3일에 개최한 제품 발표 이벤트에서 기존보다 빠르고 확장성이 좋은 프로그래밍 언어 'Mojo'를 발표했습니다.



이벤트 중 Modular가 실시한 데모 모습이 아래입니다. 데모 영상에서는 정확히 동일한 코드가 Mojo와 CPython 모두에서 잘 작동하고 Mojo와 Python에 호환성이 있음을 보여줍니다.

Jeremy Howard demo for Mojo launch - YouTube



Modular는 Mojo가 "Python의 구문 및 생태계에 시스템 프로그래밍과 메타 프로그래밍 기능을 결합하여 테스트 환경과 프로덕션 환경 간의 격차를 메우는 새로운 프로그래밍 언어"라고 말합니다. 또한 "Mojo는 아직 개발 단계로, 시간이 지남에 따라 향후 Python에 대한 슈퍼셋이 되도록 설계되어 있습니다."라고 보고하고 있습니다.

게다가, 싱글 thread로의 동작하는 Python에 비해서, Mojo는 복수의 코어로 병렬 처리하여 고속화 실현이 가능합니다. 망델브로 집합의 연산을 실시할 경우, Python3.10.9에서는 1027초를 필요로 하고, Python의 처리계 중 하나인 PyPy에서는 46.1초, 범용 프로그래밍 언어인 C++에서는 0.20초를 필요로 하지만, Mojo에서는 0.03초로 단축되어 Python3.10.9와 비교하면 약 3만 5,000배의 고속화를 실현할 수 있다고 보고되었습니다.



Mojo에 의한 고속화의 요인으로서는, 멀티스레드 처리에 의한 병렬 처리 외에, 병렬 계산을 특기로 하는 컴파일러 기반인 MLIR의 활용이나, 프로그래밍 언어에 있어서의 데이터형인 구조체에 제한을 두고 있다는 것입니다. 한편, Mojo를 단순한 Python 처리계로서 그대로의 코드로 사용했을 경우, 그 고속화는 CPython의 몇 배에 그치지만, 처리계를 간소화함으로써 실행 속도의 고속화를 실현하는 C언어의 범용성이나 성능에는 미치지 못한다는 지적도 있습니다.

한편, 고급 언어인 Mojo에 맞추어 코드를 재작성할 경우, 기계어나 어셈블리 언어를 비롯한 저수준 언어와 동일한 속도로 실행하는 것도 가능하다고 합니다(고급 언어는 작성이 편리한 대신 속도가 느리기 때문에, 그 난해성에도 불구하고 저수준 언어가 아직 사용되고 있습니다만, 이러한 부분이 Mojo의 등장으로 개선될 것으로 예상됩니다).

Mojo는 개발 단계에서 Modular가 공개하는 웨이팅 리스트에 등록하고 가입함으로써 Mojo에 액세스 하고 피드백을 보낼 수 있습니다. 반면 Modular가 폐쇄 환경에서 Mojo를 제공하는 것에 대해, "Mojo를 보급하려면 코드를 공개해야 합니다. 폐쇄 환경에서 제공하려는 것은 화제를 모아서 투자자에게 어필하려는 것이 아니냐?"라는 견해도 나오고 있습니다.


또 익혀야 할 언어가 늘었군요...


영화 오스틴 파워에서는 Mojo가 매력(정력)을 상징하는 단어였는데요...
과연, AI 개발의 새로운 서막을 알리는 매력적인 언어가 될지, 한번 지켜봐야겠습니다.

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

반응형