メインコンテンツへジャンプ
Engineering blog

MLflow AI Gatewayの発表

強力なLLMアーキテクチャとインターフェースツールの提供
Share this post

翻訳:Junichi Maruyama.  -  Original Blog Link

大規模言語モデル(LLM)は、SQLウェアハウスに保存されたテキストデータのセンチメント分析から、製品に関するニュアンスの異なる質問に回答するリアルタイムのチャットボットの導入まで、ビジネス価値を提供する幅広い潜在的なユースケースを解き放ちます。しかし、これらのアプリケーションのために強力なSaaSやオープンソースのLLMへのアクセスを民主化するには、セキュリティ、コスト、データ関連のさまざまな課題が伴います。例えば、企業全体で SaaS LLM API トークンを効果的に管理するという具体的な課題を考えてみよう:

  • チームがAPIトークンをプレーンテキストとして通信に貼り付けることによるセキュリティの問題
  • 共有キーがアプリケーションのクラッシュやレート制限の乱用によるコストのピークにつながるというコストの問題
  • 各チームがガードレールなしで独自のAPIトークンを管理することによるガバナンスの問題

これらの課題は、組織がイノベーションのためにLLMプロバイダー(OpenAI、Anthropic、オープンソースモデルなど)へのアクセスを拡大することを阻害する。さらに、最新のモデルを使用してビジネス上の問題を迅速に解決するために、データアナリストとデータサイエンティストは、標準的なインターフェイスで最先端のLLMにアクセスする必要があります。

本日、MLflow 2.5のAI Gatewayコンポーネントのプレビューを発表できることを嬉しく思います。MLflow AI Gatewayは拡張性の高いエンタープライズグレードのAPIゲートウェイで、組織がLLMを管理し、実験や本番ユースケースで利用できるようにします。LLMの認証情報やデプロイメントの一元管理、チャットや完了などの一般的なタスクのための標準化されたインターフェイス、複数のSaaSやオープンソースのLLMとの統合などの機能を備えています。AIゲートウェイを利用することで:

  • 組織は、開発から運用に至るまでLLMを安全に保護することができます。
  • データアナリストは、コスト管理のガードレールを使ってLLMを安全に照会できます。
  • データサイエンティストは、さまざまな最先端のLLMをシームレスに試して、高品質のアプリケーションを構築できます。
  • MLエンジニアは、複数のデプロイメントにわたってLLMを再利用することができます。

AIゲートウェイの使用方法については、続きをお読みください。

AI Gateway RoutesによるLLMへの安全なアクセス

各ユースケースやアプリケーションが必要なモデルに確実にアクセスできるようにすることは重要ですが、コストを管理し、セキュリティ侵害を防ぐためには、このアクセスを体系的に管理・制限することも重要です。AIゲートウェイは、組織内の各チームがそれぞれのSaaS LLM認証情報を管理するのではなく、ガードレールを備えたLLMテクノロジーへの集中アクセスを可能にします。つまり、組織全体で各SaaS LLMの「開発」キーと「本番」キーを管理し、ユーザーとサービス料金の上限を設定することができます。

AIゲートウェイは、ルートを通じてこの集中アクセスを提供します。Routeは特定のベンダー(OpenAI、Anthropic、Hugging Faceなど)のLLMを表し、関連する認証情報と設定を定義します。組織はユースケースごとにRouteを作成し、必要に応じてデータアナリスト、データサイエンティスト、プロダクションアプリケーションなどのコンシューマーにアクセスを委譲することができます。コンシューマは標準的なインタフェースの背後でこれらのルートにクエリできますが、クレデンシャルやコンフィギュレーションに直接アクセスすることはできません。

次のコード・スニペットは、MLflow Python クライアントを使用して AI Gateway Route を簡単に作成し、クエリできることを示しています:

from mlflow.gateway import set_gateway_uri, create_route, query

set_gateway_uri("databricks")

# Create a Route for completions with OpenAI GPT-4
create_route(
    name="gpt-4-completions",
   route_type="llm/v1/completions",
   data={
       "name": "gpt-4",
       "provider": "openai",
       "openai_config": {
           "openai_api_key": $OPENAI_API_KEY
       }
   }
)

# Query the Route with a prompt
gpt4_response = query(
    route="gpt-4-completions",
   data={"prompt": "What is MLflow?"}
)

assert gpt4_response == {
    "candidates": [
        {
            "text": "MLflow is an open-source platform for end-to-end ML...",
            "metadata": {"finish_reason": "stop"}
        }
    ],
    "metadata": {
        "input_tokens": 13,
        "output_tokens": 7,
        "total_tokens": 20,
        "model": "command",
        "route_type": "llm/v1/completions"
    }
}

AI Gateway は、Databricks Model Serving にデプロイされたオープンソースモデルもサポートしており、複数のアプリケーションで LLM を再利用することができます。以下のコードスニペットは、オープンソースの MPT-7B-Chat モデルを持つ Databricks Model Serving エンドポイントを使用して、テキスト補完の AI Gateway Route を作成し、クエリを実行します:

create_route(
    name="oss-mpt-7b-completions",
   route_type="llm/v1/completions",
   data={
       "name": "mpt-7b",
       "provider": "databricks-model-serving",
        "databricks_model_serving_config": {
            "databricks_workspace_url": "https://my.workspace.databricks.com",
            "databricks_api_token": $DATABRICKS_ACCESS_TOKEN,
        },
   }
)

mpt_7b_response = query(
    route="oss-mpt-7b-completions",
   data={"prompt": "What is MLflow?"}
)
response_text = mpt_7b_response["candidates"][0]["text"]
assert response_text.startswith("MLflow is an open source ML platform")

Routes の詳細については、MLflow AI Gateway のドキュメントを参照してください。

最新かつ最高のLLMを標準インターフェースで使用

ビジネス上の問題を解決し、費用対効果の高い方法で高品質なアプリケーションを構築するために、データアナリストやデータサイエンティストは様々なSaaSやオープンソースのLLMを試す必要がある。これらのLLMはそれぞれ独自のリクエスト・レスポンス形式、パラメータ、依存関係を定義している。AI Gatewayは、利用者が専用のソフトウェアをインストールしたり、問い合わせたい各LLMのベンダー固有のAPIドキュメントに精通したりする必要はなく、チャット、完了、エンベッディングを含むLLMタスクのための標準REST APIを提供する

AI Gatewayの各Routeには、テキスト補完ならllm/v1/completions、チャットならllm/v1/chatのようなタイプがあり、リクエストとレスポンスのフォーマットとクエリパラメータを決定します。このフォーマットはどのベンダーのLLMでも一貫しているため、データサイエンティストやデータアナリストは複数のLLMを試して最適な結果を得ることができる。

次のコード・スニペットは、MLflow Python クライアントを使用したシームレスな実験を示しています。1 行を変更するだけで、このコード例は 2 つのテキスト補完 Routes にクエリを発行します:1 つは OpenAI GPT-4 用、もう 1 つは Cohere の Command モデル用です。

from mlflow.gateway import set_gateway_uri, create_route, query
set_gateway_uri(gateway_uri="databricks")

# Create a Route for Completions with Cohere
create_route(
    name="cohere-completions",
   route_type="llm/v1/completions",
   data={
       "name": "command",
       "provider": "cohere",
       "cohere_config": {
           "cohere_api_key": $COHERE_API_KEY
       }
   }
)

# Query the OpenAI GPT-4 route (see previous section) and the Cohere Route
openai_gpt4_response = query(
    route="gpt-4-completions",
    data={"prompt": "What is MLflow?", "temperature": 0.3, "max_tokens": 100}
)
cohere_command_response = query(
    route="cohere-completions", # Only the route name changes
    data={"prompt": "What is MLflow?", "temperature": 0.3, "max_tokens": 100}
)

AIゲートウェイのテキスト補完、チャット、エンベッディングの標準インターフェースの詳細については、以下をご覧ください MLflow AI Gateway documentation.

MLflow AI Gatewayを使い始める

Databricks上のMLflow AI Gatewayをお試しいただくことで、LLMのユースケースを安全かつ高速化することができます!既存の Databricks ユーザーの方は、Databricks 担当者にご連絡の上、AI Gateway Private Preview にご登録ください。まだ Databricks ユーザーでない方は、databricks.com/product/managed-mlflow で詳細をご覧いただき、Databricks と Managed MLflow の無料トライアルを開始してください。オープンソースのMLflow AI Gatewayや、MLflow 2.5に含まれるその他の機能や改善点についての詳細は、release changelogをご覧ください。

Databricks 無料トライアル

関連記事

Engineering blog

MLflow 2.4を発表:ロバストなモデル評価のためのLLMOpsツール

Original: Announcing MLflow 2.4: LLMOps Tools for Robust Model Evaluation 翻訳: junichi.maruyama LLMは、あらゆる規模の企業にとって、強力なアプリケーションを迅速に構築し、ビジネス価値を提供する大きな機会を提供します。これまでデータサイエンティストは、非常に限られたタスクを実行するために何千時間もかけてモデルのトレーニングや再トレーニングを行っていましたが、今ではSaaSやオープンソースの幅広いモデル基盤を活用して、より汎用的でインテリジェントなアプリケーションを短時間で提供できるようになりました。データサイエンティストは、プロンプトエンジニアリングのような数ショットやゼロショットの学習技術を使うことで、多様なデータセットに対する高精度の分類器、最先端の感情分析モデル、低レイテンシーの文書要約器などを迅速に構築することができます。 しかし、生産に最適なモデルを特定し、安全に配備するためには、組織は適切なツールとプロセスを
Platform blog

MLflow 2.3の紹介:LLMのネイティブサポートと新機能による強化

Introducing MLflow 2.3: Enhanced with Native LLM Support and New Features 翻訳: junichi.maruyama MLflow は月間 1,300 万ダウンロードを超え、エンドツーエンドの MLOps の主要なプラットフォームとしての地位を確立しており、あらゆる規模のチームがバッチおよびリアルタイム推論用のモデルを追跡、共有、パッケージ化、およびデプロイできるようにしました。MLflowは、何千もの組織で日々採用され、多様なプロダクション機械学習アプリケーションを推進しており、産業界と学界から500人以上の貢献者からなる活発なコミュニティによって活発に開発されています。 今日、私たちはこのオープンソースの機械学習プラットフォームの最新版であるMLflow 2.3を発表することができ、大規模言語モデル(LLM)の管理・導入能力を向上させる革新的な機能が満載されていることに興奮しています。この強化されたLLMサポートは、以下のような形で提供さ
Platform blog
エンジニアリングのブログ一覧へ