llama2.mojo は llama2.c より 20% 高速です。最も新しい言語 Mojo が開発者コミュニティを驚かせています

llama2.mojo は llama2.c より 20% 高速です。最も新しい言語 Mojo が開発者コミュニティを驚かせています

Python が最も人気のある言語であり、C が最も古典的な言語であるとすれば、Mojo にはその最高の言語、つまり最も新しい言語もあります。 Mojo は Python とシームレスに統合でき、その誕生は「ここ数十年で最大のプログラミングの進歩」と呼ばれています。

画像ソース: https://www.modular.com/blog/mojo-its-finally-here

Mojo が 5 月にリリースされて以来、120,000 人を超える開発者が Mojo Playground の使用に登録しており、19,000 人を超える開発者が Discord や GitHub で Mojo について活発に議論しています。 9月7日、ModularはMojoがローカルダウンロードで利用可能になると発表しました。 Mojoの当初の目標は、Pythonの35,000倍の高速化でした。最近、チームは、Mojoが動的言語と静的言語の利点を組み合わせることで、Pythonの68,000倍のパフォーマンス向上を実現したと述べました。

モジョ

Mojo は AI 開発者向けの新しいプログラミング言語であり、すでにあらゆる Python コードとのシームレスな統合をサポートしており、Python のスーパーセットへと成長する予定です。 Mojoの「魅力」を振り返ってみましょう。

  • すべてを 1 つの言語で記述: Mojo は、Python の使いやすさとシステム プログラミングのパワーを組み合わせて、AI 開発者のニーズを満たします。これにより、研究チームと展開チームは共通のコード ベースで作業できるようになり、ワークフローが合理化されます。
  • Python のパフォーマンスを最大限に引き出す: Python はどこにでもありますが、高いパフォーマンスや特殊なハードウェアを必要とするタスクの場合、Python は最適なツールではありません。 Mojo は CPU 上で高いパフォーマンスを実現し、GPU や ASIC などの特殊なアクセラレータをサポートして、C++ や CUDA に匹敵するパフォーマンスを提供します。
  • Python エコシステム全体へのアクセス: Mojo は Python エコシステムとの完全な相互運用性を提供し、Mojo の機能とパフォーマンスを活用しながら Python ライブラリをシームレスに使用できます。

Mojo ローカル ダウンロードによって提供されるツールボックスを使用すると、開発者が作業を開始しやすくなります。 Mojo SDK の初期リリースには、次のツールが含まれています。

  • Mojo ドライバー: シェル (読み取り評価印刷ループまたは REPL 用) を提供し、Mojo プログラムの構築と実行、Mojo モジュールのパッケージ化、ドキュメントの生成、コードのフォーマットを可能にします。
  • Visual Studio Code (VS Code) 拡張機能: 構文の強調表示、コードの自動補完などの機能をサポート
  • Jupyter カーネル: Python コードを含む Mojo ノートブックの構築と実行のサポート
  • デバッグサポート(近日提供予定):実行中のMojoプログラムにステップインして検査し、C++とMojoのスタックフレームを混在させることもできます。

つい最近、Mojo コミュニティのメンバーが Python プログラムを Mojo に移植しました。結果はどうでしたか?

ラマモジョ

プロジェクトアドレス: https://github.com/tairov/llama2.mojo

Mojo のリリースに伴い、この Mojo コミュニティ メンバーは llama2.py を Python から Mojo に移植することを思いつきました。 Karpathy の llama.c よりもすでに 20% 高速です。そして、このスピードはこれで終わりではなく、将来的にはさらに速くなる可能性があります。

llama2.py、llama2.c、llama2.mojo の視覚的な比較

このバージョンでは、Mojo の SIMD とベクトル化プリミティブを活用して、Python のパフォーマンスを約 250 倍向上させます。高速実行モードでも、Mojo バージョンはオリジナルの llama2.c よりも 15 ~ 20% 優れたパフォーマンスを発揮します。これは、Mojo の高度な機能によるハードウェア レベルの最適化の可能性を示しています。これにより、元の llama2.c ハードウェア最適化に基づいてどこまで実現できるかを誰もが理解できるようになります。

パフォーマンスデータの比較

もちろん、メンバーはオペレーティングシステムとハードウェアの詳細も公開しました。

この性能比較を見て、ネットユーザーたちはMojoが確かにその「強さ」を示したことに感嘆の意を表した。

しかし、一部のネットユーザーは異なる意見や別の探究の方向性を主張している。

Llama.c は、高速に実行するように調整されているのではなく、ファイル内のコードを理解するように調整されています。 llama.cpp と比較するとどうでしょうか?

モジョと彼の後ろにいるボス

Modular AI は、グローバル ML インフラストラクチャの再構築を目標に 2022 年に設立されました。LLVM と Swift プログラミング言語の共同創設者である Chris Lattner によって設立され、1 億ドルの資金を調達したばかりでした。クリス・ラトナー氏は、この資金は製品の拡張、ハードウェアのサポート、自社開発のAIプログラミング言語Mojoのさらなる開発を促進するために使用されると述べた。

クリス・ラトナー

Chris Lattner はポートランド大学のコンピュータサイエンス学部を卒業し、LLVM、Clang、MLIR、CIRCT などのコンパイラ インフラストラクチャ プロジェクトを含む、いくつかの有名な大規模プロジェクトの作成と主導の経験があります。また、Swift プログラミング言語の作成も主導しました。彼はアップルの開発ツール部門で勤務し、テスラの副社長も務めた。 2017 年 8 月、彼は Google Brain チームで、さまざまなハードウェア サポート (CPU、GPU、TPU)、基盤となるランタイム、プログラミング言語の作業を含む TensorFlow インフラストラクチャ作業を主導しました。

llama.mojo のパフォーマンス比較が公開された後、Chris Lattner 氏は Twitter で、Mojo がローカルダウンロードで利用できるようになるまであとわずか 3 日だったことを嘆きました。

<<:  GPTは「贅沢」すぎるが、代替案が多数用意されており、展開の問題を心配する必要はもうない

>>:  登ったり、ジャンプしたり、狭い隙間を通り抜けたり:オープンソースの強化学習戦略により、ロボット犬がパルクールを行えるようになる

ブログ    
ブログ    

推薦する

機械学習を始めるときによくある5つの間違い

[[195041]]機械学習を始めるにあたって、万能のアプローチは存在しません。私たちは皆、少しずつ...

未来の戦場は「瞬殺」の時代へ、人工知能が威力を発揮

近年、人工知能技術は飛躍的な進歩を遂げ、戦闘指揮の分野で広く応用され、観察・判断・決定・行動(OOD...

AIは宇宙探査の商業化をどのように推進するのでしょうか?

[[321585]]現代のコンピュータが誕生するずっと前から、数え切れないほどのSF作品が、宇宙を...

原理、コード、デモを備えたこのアルゴリズム リソースは人気を博しています。 GitHub で 2900 以上のスターを獲得

最近、GitHub で非常に包括的なアルゴリズム リソースが人気を集めています。対応する原理の紹介と...

...

...

成功する機械学習チームを構築するための 4 つのステップ

導入企業にとって、機械学習チームを 0 から 1 まで構築する方法は、多くの企業にとって非常に頭の痛...

業界の視点: 人工知能がビジネスプロセスに革命をもたらす方法

今日、人工知能技術は、ウェアラブルデバイス、自動車、生産性アプリケーション、軍事、ヘルスケア、ホーム...

スタンフォード大学の研究:スマートフォンの録画で人が酔っているかどうかを98%の精度で識別できる

11月9日、スタンフォード大学の最近の研究で、スマートフォンは音声パターンから人が酔っているかどうか...

顔認識システムのセキュリティに関する簡単な分析: どの業界が攻撃に対して脆弱ですか?

顔認識システムは、今日では物議を醸す技術だと考えられています。 IBM、Google、Microso...

非常に少ないデータで大規模なモデルを微調整するにはどうすればよいでしょうか?

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

百度の顔認識技術のインテリジェント企業人事管理分野への応用分析

[51CTO.com からのオリジナル記事] 周知のように、人、物、オブジェクトは企業管理の 3 つ...

フレームワークがシャム自己教師学習を統合、清華大学とセンスタイムが効果的な勾配形式を提案

[[443228]]現在、自己教師あり学習は、手動によるラベル付けを必要とせずに強力な視覚特徴抽出機...

...

LLM-Blender: 大規模な言語モデルも学習に統合可能

最近、arxiv を見ていたときに、Ensemble メソッドを使用して大規模な言語モデルを統合でき...