このAI論文は、’リラックス:エンドツーエンドの動的機械学習ワークロードの最適化のためのコンパイラの抽象化’を紹介しています

「AI論文によるリラックス:エンドツーエンドの動的機械学習ワークロードの最適化を目指すコンパイラの抽象化」

動的な形状を持つ機械学習モデルの最適化は、より優れたパフォーマンスと柔軟性を実現するために重要です。動的な形状とは、モデルがランタイム中に異なる寸法の入力データを処理できる能力を指します。TensorFlowのイーガー実行やPyTorchなど、動的計算グラフをサポートするフレームワークを利用するユーザーは、ランタイム中に可変の入力サイズに適応できるモデルを構築することができます。

動的な形状を持つ機械学習モデルを最適化する際には、多くの課題があります。多くの従来の最適化は静的な形状解析に依存しており、動的次元から欠落した情報は、演算子や関数間で実行できる最適化に大きな影響を与える可能性があります。動的な形状を持つモデルでは、異なるバッチサイズを処理する必要があります。異なるバッチサイズに最適化することは、特に本番環境では固定バッチサイズに最適化するよりも難しい場合があります。

現在の機械学習(ML)コンパイラは通常、従来のシングルショットの下方向流にプログラムを低レベルの表現に変換し、一つの最適化を適用した後に他の最適化を適用します。このアプローチでは、抽象化レイヤ間で形状と追加情報を失い、境界を越えた増分最適化を行うことが困難になります。

研究者たちは、「Relax」を提案しています。これは、エンドツーエンドの動的な機械学習ワークロードを最適化するためのコンパイラ抽象化です。グローバルにプログラム全体で動的な形状計算を追跡するための一級の記号的な形状アノテーションを持ちます。さらに、計算グラフ、ループレベルのテンソルプログラム、およびライブラリ呼び出しを一つの表現にカプセル化するクロスレベルの抽象化を持ちます。これは、動的な形状のモデルを最適化するためのエンドツーエンドのコンパイルフレームワークです。

研究者たちは、入力コンポーネントに基づいて式のアノテーションを推論する順方向の推論手法を採用しています。順方向の推論はシンプルでローカルであり、コンパイラのパスにおいて一時変数のアノテーションを取得することができます。また、形状を自動的に推論できない場合、順方向の推論はユーザーが挿入したマッチキャストの結果を使用して後続のアノテーションの推論を続けることができます。

研究者たちは、Relaxで行われるすべての最適化は、組み合わせ可能な動的な形状に敏感な変換として行われます。これにより、さまざまなアプローチを使用して計算の一部を増分的に最適化または部分的に低下させることができます。それは他のレベルの解析を考慮し、動的な形状関係を仮定したさらなる最適化を組み込みます。

実験結果は、Relaxが多様なハードウェアバックエンドに新たなLLM(生ライブラリモデル)をコンパイルして最適化し、重要な最適化済みのプラットフォーム固有のソリューションに競争力のあるパフォーマンスを提供していることを示しています。さらに、Relaxはモバイル電話、組み込みデバイス、Webブラウザを介してWebAssemblyやWebGPUを使用した幅広いデバイスと環境でLLMをサポートしています。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

機械学習

チューリングのミル:AIスーパーコンピューターが英国の経済エンジンを加速

産業革命の発祥地であるイギリスが、次なる革命に巨額な投資を行うことを発表しました。 イギリス政府は、世界最速のAIスパー...

AIニュース

「私たちの10の最大のAIの瞬間」

過去25年間の私たちのトップ10のAIの瞬間をまとめました

データサイエンス

「LangChain、Activeloop、およびDeepInfraを使用したTwitterアルゴリズムのリバースエンジニアリングのためのプレーンな英語ガイド」

このガイドでは、Twitterの推奨アルゴリズムを逆解析して、コードベースをより理解し、より良いコンテンツを作成するための洞...

人工知能

チャットGPT vs Gemini:AIアリーナでのタイタン同士の激突

はじめに 人工知能の世界では、GoogleのGemini AIとOpenAIのChatGPTの2つの巨人の間で魅惑的な一戦が繰り広げられています。C...

データサイエンス

「Jaro-Winklerアルゴリズムを使用して小規模言語モデル(SLM)を構築し、スペルエラーを改善・強化する」

「Jaro-Winklerアルゴリズムを使って、小さな固定定義データセットでSmall Language Model(SLM)を構築し、システムのスペル...

機械学習

「プリズマーに会いましょう:専門家のアンサンブルを持つオープンソースのビジョン-言語モデル」

最近の多くのビジョン言語モデルは、非常に注目すべき多様な生成能力を示しています。しかし、通常、それらは膨大なモデルと...