RapidMiner(ラピッドマイナー)はデータ可視化、データ加工、モデル作成、評価、運用まで一括サポートする機械学習プラットフォームです。KSKアナリティクスはRapidMinerの正規販売代理店です。

拡張性に優れたアーキテクチャ

このドキュメントのオリジナルバージョンは、Altair AI Hub(当時の名称はRapidMiner Server)がDockerイメージのセットとして再構成される前に作成されたものです。ここでは、システムの核心に重点を置くために、後に導入された周辺コンポーネントの多くを無視して、文章を少し修正しただけです。

設計

AI Hub Server環境の設計は、2種類のアクティビティがある一般的なデータサイエンスのワークフローを反映しています。

  1. モデル構築(キューに入れ、非同期で実行できる長時間プロセスを含む)AI Hub Serverは、Job Agentを介して外部で実行される長時間ジョブのためのキューシステムを提供します。Job Agentを追加することで処理能力が向上します。
  2. 予測、またはリアルタイムのレスポンスが最も重要なモデルのその他のアプリケーション予測を生成するためのエンジンは2つあります。
    • Web API Agent(外部または内部で実行可能な、管理された負荷分散エンティティ)
    • Scoring Agent(AI Hubとは独立して動作する外部エンティティ)

    Web API AgentやScoring Agentを追加することで処理能力を向上させることができます。

通常、Altair AI Hub環境で実行するプロセスの設計にはAltair AI Studioを使用します。

下図では、それぞれの青いボックスが独立したマシンを表しています。

  • AI Hub Serverは、一番上の大きな青いボックスにインストールされます。
  • Remote Job Agentは下部の青いボックスでホストされます。
  • Scoring Agentは側面で独立して機能します。
  • Web API AgentはAI Hub Server Nodeまたはスタンドアロンに配置できます
  • Web API GatewayはAI Hub Server Nodeまたはスタンドアロンに配置できます。

AI Hub Server

AI Hub Serverは、アーキテクチャの中心となるコンポーネントです。webインタフェースまたはAltair AI Studioを介して操作します。主な役割は以下の通りです。

参考: Altair AI Hubのインストール

Job Agent

Job Agentを専用マシン上でリモートで実行する設計は、高い拡張性を目的としています。

各Job Agentは、AI Hub Server上のキューの1つを指すように設定されています。その唯一の役割は、キューからジョブを取得して実行することです。Job Agentは起動すると、設定可能な数のJob Containerを個別のシステムプロセスとして生成します。その後、ジョブはそれらのJob Containerにリダイレクトされ、生成されたJob Container内でAltair RapidMinerプロセスが実行されます。Job Agentがシャットダウンされると、このJob AgentのすべてのJob Containerもシャットダウンされます。Job Agentごとに、生成できるJob Containerの数と使用可能なメモリを設定可能です。

複数のJob Agentが同じキューを指すことができます。権限を割り当てることで、キューを管理し、リソースの割り当てを管理できます。

参考: Job Agentの設定Job Containerの設定

Job Container

Job Agentによって生成されたJob Containerは、Altair RapidMinerプロセスを実行可能なAltair AI Studioインスタンスを実行します。REST API経由でJob Agentからのジョブを受け入れるために、システムポートにバインドされています。

デフォルトでは、Job Containerは各プロセスの終了後に終了しないため、ほぼ瞬時にプロセスを実行することができます。

システムの堅牢性を高め、ジョブが以前に実行されたジョブに影響を与えないように、各ジョブを独自のサンドボックスで実行することが望ましい場合があります。この動作は、例えば、プロセスが終了した後にJob Containerを再起動するように設定することもできます。詳細については、Job Agentの設定ページを参照してください。

この安全性の代償として待ち時間が発生します。Job Containerを再起動する際の待ち時間は秒単位で計測されます。各ジョブにはこの待ち時間が追加されます。

もしリアルタイムのレスポンスが最重要であれば、Web API AgentかScoring Agentを使用することをお勧めします。例えば、Job Containerでモデルを構築し、Scoring Agentでそのモデルの予測を生成することができます。

Web API Agent / Scoring Agent

前述のように、予測を生成するためのエンジンは2つあります

Scoring Agentを介して予測を生成する場合、エンドポイントを作成するためにAltair AI Hubが必要ですが、その後はAltair AI Hubとは独立してプロセスを実行することもできます。

Web APIアーキテクチャは、Altair AI HubがJob Agentに提供するのと同じレベルの管理とサービスをWeb API Agentに提供するように設計されており、Web API Groupがキューの役割を果たします。

以下の表からわかるように、Web API Agent / Scoring Agentは、Job Agent / Job Containerと対をなす、スケーラブルで低レイテンシのエージェントです。

コンポーネント スケーラビリティ 低レイテンシレスポンス 即時実行
Job Agent / Job Container
Scoring Agent
Web API Agent

参考:

デフォルトのポートと通信経路

以下の表は、AI Hubプラットフォームが内部的に使用するデフォルトポートの概要を示しています。docker-composeセットアップのような実際のデプロイメントでは、これらのポートの一部はnginxなどのリバースプロキシを介してルーティングされ、Altair AI Studioやその他のサードパーティアプリケーションからAI Hubと通信する際の唯一のエントリポイントとして機能します。このようなシナリオでは、これらのポートはデフォルトでは公開されていないか、内部ネットワークにのみ存在するように設定されています。

アプリケーション デフォルトのサービスポート デフォルトのオプション/デバッグ/メトリックポート REST通信 ブローカー通信
ActiveMQ Artemis (Broker) 61616 8161 AI Hub Backend, Job Agent
AI Hub Backend 8080 8077 Job Agent
AI Hub Frontend 80 AI Hub Backend
Job Agent 8066 AI Hub Backend, Job Container (localhost経由) AI Hub Backend
Job Container 10000… (localhostはJob Agentでリッスン) AI Hub Backend, Job Agent
Scoring Agent 8090 8067
Web API Agent 8090 8067 AI Hub Backend, Web API Gateway
Web API Gateway 8099 8078 AI Hub Backend, Web API Agent
License Proxy 9898 9191 Altair License Manager, AI Hub Backend, Job Agent, Web API Agent, Scoring Agent(設定により異なる)

 

API認証に失敗しました メールまたはパスワードが正しくありません メールアドレスは必須です パスワードは必須です
キャンセル