Q:
データサイエンスプロセスを自動化および最適化する主な方法は何ですか?
A:機械学習とAIのコンテキストにおけるデータサイエンスプロセスは、4つの異なるフェーズに分けることができます。
- データの取得と調査、
- モデル構築、
- モデルの展開と
- オンライン評価と改良。
私の経験から、最も障害のあるフェーズは、機械学習ベースのデータサイエンスプロセスにおけるデータ取得およびモデル展開フェーズです。これらを最適化する2つの方法を次に示します。
1.高度にアクセス可能なデータストアを確立します。
ほとんどの組織では、データは1つの中央の場所に保存されません。 顧客に関連する情報を取得しましょう。 あなたのビジネスがウェブアプリケーションである場合、顧客連絡先情報、顧客サポートメール、顧客フィードバック、顧客閲覧履歴があります。 これらのデータはすべて異なる目的で使用されるため、自然に散らばっています。 それらは異なるデータベースに存在し、完全に構造化されたものと構造化されていないものがあり、プレーンテキストファイルとして保存されることさえあります。
残念ながら、これらのデータセットの散在性は、すべてのNLP、機械学習、およびAIの問題の基礎がデータであるため、データサイエンスの仕事に大きく制限されています 。 そのため、このすべてのデータを1か所(データストア)に保持することは、モデルの開発と展開を促進する上で最も重要です。 これはすべてのデータサイエンスプロセスにとって重要な要素であるため、組織は資格のあるデータエンジニアを雇ってデータストアの構築を支援する必要があります。 これは、単純なデータを1つの場所にダンプし、十分に考え抜かれたデータリポジトリに徐々に成長し、完全に文書化され、さまざまな目的のためにデータのサブセットをさまざまな形式にエクスポートするためのユーティリティツールでクエリできる、簡単に開始できます。
2.シームレスな統合のために、モデルをサービスとして公開します。
データへのアクセスを可能にすることに加えて、データサイエンティストが開発したモデルを製品に統合できることも重要です。 Pythonで開発されたモデルをRubyで実行されるWebアプリケーションと統合することは非常に困難です。 さらに、モデルには、製品が提供できない多くのデータ依存関係がある場合があります。
これに対処する1つの方法は、モデルの周りに強力なインフラストラクチャを設定し、モデルを「Webサービス」として使用するために製品に必要な機能を公開することです。たとえば、アプリケーションが製品レビューで感情分類を必要とする場合必要なのは、関連するテキストを提供するWebサービスを呼び出すだけです。サービスは、製品が直接使用できる適切なセンチメント分類を返します。 このように、統合は単純にAPI呼び出しの形式です。 モデルとそれを使用する製品を切り離すことにより、思い付く新製品でもこれらのモデルを簡単に使用できるようになります。
さて、モデルの周りにインフラストラクチャをセットアップすることはまったく別の話であり、エンジニアリングチームからの大きな初期投資が必要です。 インフラストラクチャができたら、インフラストラクチャに適合する方法でモデルを構築するだけです。
