ML For All:ノードストロームのMLプラットフォームの概要

(Ariana Bray)(2020年4月17日)

大規模なセルフサービス機械学習を可能にするための戦略

Photo by Pietro Jeng on Unsplash

サプライチェーンロジスティクスの管理から(数百万の顧客向けに厳選されたルック(デジタルスタイリングの推奨事項)の構築)まで、ノードストロームのますます多くのチームが顧客体験を継続的に向上させる機械学習(ML)の力。データソースの選択からプログラミング言語の選択まで、誰もが異なる方法でそれを行います。ノードストロームの機械学習プラットフォームチームはどこに参加しますか?誰もが利用できる機械学習プラットフォームである

Cerebro のご紹介。この記事では、Cerebroのビジョン、機械学習プラットフォームの必要性、Cerebroを設計する際に対処した問題について説明します。

私たちのビジョン

私たちのビジョンCerebroは、データサイエンティスト、アナリスト、その他のML開発者が、ビジネスに直接的な影響を与えるスケーラブルなMLソリューションを作成できるようにするプラットフォームを作成することでした。つまり、私たちの使命は、大規模なセルフサービスの機械学習を可能にすることです。 Cerebroは、MLソリューションを迅速に開発し、自信を持って展開するために使用できる統合ツールセットをユーザーに提供することを目的としています。

要約すると、Cerebroの主な目的はモデルのライフサイクルを管理します。 Cerebroは、モデルをより迅速に本番環境にプッシュできるようにするだけでなく、他のチームがCerebro SDKを使用してサービスをMLソリューションに置き換えることにより、ノードストローム全体に直接影響を与えます。 Cerebroは、ノードストローム内の複数のチームがプロジェクトにサービスを提供するためにすでに使用しています。当社のプラットフォームは、モデル予測などの内部ツールを強化するために使用されています。設計上の決定の最前線にあるガイドラインは次のとおりです。

自動化を使用して快適なユーザーエクスペリエンスを作成することで、これらの目標を達成します。

快適なユーザーエクスペリエンスのための自動化

ニーズ

ノードストロームのデータ科学者は、長い間、解決するための新しい方法を模索してきました。この質問— 本番環境グレードのエンドツーエンドの機械学習ワークフローを有効にする方法

ワークフローには、機械学習の多くの側面も含める必要があります。

これらのニーズに対応する1回限りのソリューションを作成するために各チームにデータエンジニアを組み込むことは、費用対効果が高くありません。オプション。これらのデータサイエンスチームが機械学習のライフサイクル全体(データの取り込みからモデルの提供まで)を管理できるようにすると、許容できないほどの時間がかかり、組織全体の速度が低下します。つまり、機械学習からエンジニアリングを抽象化する方法が必要でした。

機会

モデルを本番環境にデプロイすることに伴う>広く知られている問題。これらの問題に加えて、MLプラットフォームチームはノードストローム固有の問題にも取り組む必要があります。

  • 多くのモデル、多くの標準:ノードストロームはエンタープライズグレードのメトリクスとロギングソリューションを使用していますが、これらのメトリクスとログの結果を1つの窓口がなければ、どれほど効果的ですか?サービスとロードバランサーの状態を維持する責任は誰にありますか?監視する必要のある指標は何ですか?

  • スケール

    :データサイエンスのユースケースは、単一のスタンドアロンコンピューティングインスタンス。エンタープライズグレードのMLプラットフォームがないため、分散コンピューティングは活用されていません。

  • ワークフロー

    :MLワークフローがない場合、ノードストロームのエンジニアリングチームは、データサイエンス主導のプロジェクトを大幅に調整して、本番環境に対応できるようにする必要があります。

  • 新しいツールの学習: MLとエンジニアリングの間に抽象化がない場合、MLプロジェクトに取り組む人々は新しいツールとテクノロジーを学ぶ必要があります。この作業には時間がかかり、エンジニアリングサポートが必要であり、本番環境に対応したモデルを作成するタイムラインに遅延が生じます。

既存のプラットフォームを使用しないのはなぜですか?

既存のMLSaaSオファリングには多くのギャップがあります:

  • 一元化された機能ストアがない
  • すべてのモデルと言語がサポートされていない
  • ソフトウェア固有のモデル
  • モデルの追跡はありません。 コード→機能→モデル

    系統

  • フレームワーク固有の一般化されたハイパーパラメータ調整
  • 既存のインフラストラクチャとの統合の課題
  • コストのかかるサブスクリプションモデル

データサイエンティストに必要なものを提供し、 満たすプラットフォームを構築することにしました。他のMLプラットフォームソリューションによって残されたギャップの多く。

Cerebroを構築する理由

Cerebroは、機械学習を民主化するプラットフォームです。 Cerebroは、その中核としてパートナーシップを強化し、データサイエンスとエンジニアリングの間のギャップを埋めます。

Cerebroはユーザーにさまざまなメリットを提供し、その一部を以下に示します。

* セルフサービス

—ユーザーの別のエンジニアリングチームへの依存度が低下します;

* 一貫性のある

—私たちのアプローチは、データサイエンスコミュニティで使用されている既存のMLワークフローと一致しています。

* 新しいテクノロジーの数が少ない— インターフェースを通じて抽象化を提供しているため、ユーザーが新しいテクノロジーを学ぶ必要性が最小限に抑えられています。

* 使いやすさ— Cerebroは

企業や組織独自のテクノロジーは導入していません。したがって、ライセンス費用はかかりません。

新規なし必要なコンピューティングインフラストラクチャ

ノードストロームですでに確立されているコンピューティングプラットフォームを活用しており、新しいプラットフォームをセットアップすることはありません。

独自のプラットフォームを選択してくださいデータソース

Cerebroを使用すると、すべてのチームに特定のデータソースを使用するように依頼するのではなく、ユーザーが最も人気のあるデータベースやデータウェアハウスのいくつかに安全に接続できます。プラットフォームが成熟するにつれて、さらに多くのデータソースへの接続が可能になります。

クラウドプロバイダーに依存しない

Cerebroは特定のクラウドプロバイダーに依存していますが、完全に構築するために構築しています複数のクラウドオファリングをサポートするように簡単に拡張できるクラウドに依存しないソリューション。

サポートされるモデルトレーニングフレームワークに制限はありません

Cerebroは、人気のあるMLフレームワークのほとんどをすぐにサポートします。データサイエンティストが使用したいフレームワークは、最小限から変更なしでサポートできます。

コード、データ、モデル間の系統

すべてのステップで利用できる貴重なメタデータを使用して、Cerebroはコード

書き込み→

データ

使用→および生成された

model 。ユーザーは、モデルの提供方法に関する情報を取得し、モデルのパフォーマンス/有効性の測定を有効にすることができます。

テストと品質管理

Cerebroを使用すると、継続的インテグレーションプロセスの一環としてロジックをシームレスにテストできます。データの品質はすべてのステップで主張されます。

ワンストップショップ

Cerebroはすべてを処理できます。ユーザーは次のことができます。

  • 独自のGitlabリポジトリを使用して機械学習プロジェクトを作成する
  • ローカル開発を実行する
  • モデルをオフラインとオンラインで提供する
  • KubernetesまたはKubernetes上のApacheSparkを使用してプロジェクトをオーケストレーションします
  • エンタープライズグレードのオープンソースソフトウェアを使用してプロジェクトパイプラインを管理します

2人のユーザーの話

ユーザーが抽象化を気にしない場合は、それらを使用する必要はありません。ただし、大多数のユーザーは、抽象化を使用してプロジェクトを完了することを楽しんでいます。

Machine Learning PlatformチームがCerebroを構築し続けるにつれて、私たちが抱く原則は、私たちの最終目標を思い出させる重要な役割を果たします。

私たちの原則

  • モジュール性

    :Cerebroは、データサイエンティストがモデルを渡す単なるエンドポイントではありません。 into —データサイエンティストがプロジェクトの最適なユースケースを確認できるように、SDKを開発し、複数のショーケースプロジェクトを用意しています。 SDK内でベストプラクティスを実施することにより、ユーザーは独立して

    MLPチームの最小限の支援でプラットフォームを使用し、自信を持つことができます。モデルのライフサイクルの各段階で使用するツールが正しいものであること。

  • オープンコミュニケーション

    :誰も使用しなければ、何も構築しても意味がありません。そのために、私たちのチームには週2回のオフィスアワーがあり、メッセージングでは解決できない詳細な質問のトラブルシューティングを誰でも行うことができます。さらに、チームはデータサイエンスチームと隔週で会議を開催し、彼らのニーズを理解し、コースから外れるのを防ぎます。新しい機能を隔月で提供するため、この継続的なコミュニケーションは非常に重要です。

  • 高い採用率

    : SDKを

    NordyPy などの広く使用されているノードストロームツールと統合して、快適なユーザーエクスペリエンスを実現するよう取り組んでいます。プラットフォームが発展するにつれて、参入障壁はますます低くなります。これにより、プラットフォームの消費者は、データサイエンスやエンジニアリングだけでなく、ノードストローム全体から集まることができます。

次は何ですか?

将来記事では、Cerebroの将来、今後の機能、プラットフォームのオープンソースの可能性について説明します。

この記事の作成を支援してくれた別のMLプラットフォームエンジニアであるNateLeeに感謝します。 —貴重なフィードバックを提供してくれた、MLプラットフォームチームのメンバーであるRizky Ramdhani、Xingtai Li、OwaisMalikも同様です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です