ベリフ は、金融サービス、フィンテック、仮想通貨、ゲーム、モビリティ、オンライン マーケットプレイスのパイオニアを含む、革新的な成長主導の組織のための本人確認プラットフォーム パートナーです。 AI を活用した自動化と人間のフィードバック、深い洞察、専門知識を組み合わせた高度なテクノロジーを提供します。
Veriff は、顧客がカスタマー ジャーニーの関連するすべての瞬間にわたってユーザーのアイデンティティと個人的属性を信頼できるようにする実証済みのインフラストラクチャを提供します。 Veriff は、Bolt、Deel、Monese、Starship、Super Awesome、Trustpilot、Wise などの顧客から信頼されています。
AI を活用したソリューションとして、Veriff はコスト効率の高い方法で数十の機械学習 (ML) モデルを作成して実行する必要があります。 これらのモデルは、軽量のツリーベース モデルからディープ ラーニング コンピューター ビジョン モデルまで多岐にわたります。これらは、低遅延を実現し、ユーザー エクスペリエンスを向上させるために GPU で実行する必要があります。 Veriff は現在、顧客向けに非常にパーソナライズされたソリューションを目指して、より多くの製品を製品に追加しています。 さまざまな顧客にさまざまなモデルを提供すると、スケーラブルなモデル提供ソリューションの必要性が高まります。
この投稿では、Veriff がどのようにしてモデル展開ワークフローを標準化したかを説明します。 アマゾンセージメーカーコストと開発時間を削減します。
インフラストラクチャと開発の課題
Veriff のバックエンド アーキテクチャはマイクロサービス パターンに基づいており、AWS インフラストラクチャでホストされているさまざまな Kubernetes クラスター上でサービスが実行されます。 このアプローチは当初、高価なコンピューター ビジョン ML モデルを実行するマイクロサービスを含む、すべての企業サービスに使用されていました。
これらのモデルの一部では、GPU インスタンスへのデプロイが必要でした。 GPU ベースのインスタンス タイプのコストが比較的高いことを考慮して、Veriff は カスタムソリューション Kubernetes 上で、異なるサービス レプリカ間で特定の GPU のリソースを共有します。 通常、単一の GPU には、複数の Veriff のコンピューター ビジョン モデルをメモリ内に保持するのに十分な VRAM があります。
このソリューションにより GPU コストは軽減されましたが、データ サイエンティストはモデルに必要な GPU メモリの量を事前に指定する必要があるという制約もありました。 さらに、DevOps は、需要パターンに応じて GPU インスタンスを手動でプロビジョニングするという負担がかかりました。 これにより、運用上のオーバーヘッドとインスタンスの過剰プロビジョニングが発生し、コスト プロファイルが最適化されませんでした。
このセットアップでは、GPU プロビジョニングとは別に、データ サイエンティストがモデルごとに REST API ラッパーを構築する必要もありました。これは、他の企業のサービスが利用できる汎用インターフェイスを提供し、モデル データの前処理と後処理をカプセル化するために必要でした。 これらの API には実稼働グレードのコードが必要であったため、データ サイエンティストがモデルを実稼働化することが困難でした。
Veriff のデータ サイエンス プラットフォーム チームは、このアプローチに代わる方法を探しました。 主な目的は、よりシンプルな導入パイプラインを提供することで、同社のデータ サイエンティストが研究から本番環境へより適切に移行できるようにサポートすることでした。 XNUMX 番目の目的は、GPU インスタンスのプロビジョニングにかかる運用コストを削減することでした。
ソリューションの概要
Veriff は、次の XNUMX つの問題を解決する新しいソリューションを必要としていました。
- ML モデルの周囲に REST API ラッパーを簡単に構築できるようにする
- プロビジョニングされた GPU インスタンス容量を最適に、可能であれば自動的に管理できるようにします
最終的に、ML プラットフォーム チームは、 Sagemaker マルチモデル エンドポイント (MME)。 この決定は、MME による NVIDIA のサポートによって推進されました。 Triton推論サーバー (モデルを REST API としてラップすることを容易にする ML に重点を置いたサーバー。Veriff はすでに Triton の実験も行っていました)、また、単純な自動スケーリング ポリシーを介して GPU インスタンスの自動スケーリングをネイティブに管理する機能も備えています。
Veriff では、ステージング用と本番用の XNUMX つの MME が作成されました。 このアプローチにより、運用モデルに影響を与えることなく、ステージング環境でテスト手順を実行できます。
SageMaker MME
SageMaker は、開発者やデータ サイエンティストに ML モデルを迅速に構築、トレーニング、デプロイする機能を提供するフルマネージド サービスです。 SageMaker MME は、リアルタイム推論用に多数のモデルをデプロイするためのスケーラブルでコスト効率の高いソリューションを提供します。 MME は、共有サービス コンテナーと、GPU などの高速化されたインスタンスを使用してすべてのモデルをホストできるリソース フリートを使用します。 これにより、単一モデルのエンドポイントを使用する場合と比較して、エンドポイントの使用率が最大化され、ホスティング コストが削減されます。 また、SageMaker がメモリ内でモデルのロードとアンロードを管理し、エンドポイントのトラフィック パターンに基づいてモデルをスケーリングするため、デプロイメントのオーバーヘッドも削減されます。 さらに、すべての SageMaker リアルタイム エンドポイントは、モデルを管理および監視するための組み込み機能の恩恵を受けます。 影の亜種, 自動スケーリング、およびネイティブ統合 アマゾンクラウドウォッチ (詳細については、 マルチモデル エンドポイント デプロイの CloudWatch メトリクス).
カスタム Triton アンサンブル モデル
Veriff が Triton Inference Server の使用を決定した理由はいくつかありますが、主な理由は次のとおりです。
- データ サイエンティストは、モデル アーティファクト ファイルを標準ディレクトリ形式 (コードなしのソリューション) に配置することで、モデルから REST API を構築できます。
- すべての主要な AI フレームワーク (PyTorch、Tensorflow、XGBoost など) と互換性があります。
- 次のような ML 固有の低レベルのサーバー最適化を提供します。 動的バッチ処理 リクエストの数
Triton を使用すると、データ サイエンティストは REST API を構築するためのコードを記述するのではなく、フォーマットされたモデル リポジトリを構築するだけで済むため、モデルを簡単にデプロイできます (Triton はまた、 Python モデル カスタム推論ロジックが必要な場合)。 これにより、モデルのデプロイ時間が短縮され、データ サイエンティストはモデルのデプロイではなく構築に集中できる時間が増えます。
Triton のもう XNUMX つの重要な機能は、 モデルアンサンブル、これらは互いにチェーンされたモデルのグループです。 これらのアンサンブルは、単一の Triton モデルであるかのように実行できます。 Veriff は現在、この機能を使用して、(前述したように) Python モデルを使用して各 ML モデルで前処理および後処理ロジックをデプロイし、モデルが運用環境で使用されるときに入力データまたはモデル出力に不一致がないことを保証します。
このワークロードの典型的な Triton モデル リポジトリは次のようになります。
model.py
ファイルには前処理コードと後処理コードが含まれています。 トレーニングされたモデルの重みは次のとおりです。 screen_detection_inferencer
ディレクトリ、モデルバージョンの下 1
(この例ではモデルは ONNX 形式ですが、TensorFlow、PyTorch 形式などの形式にすることもできます)。 アンサンブル モデルの定義は、 screen_detection_pipeline
このディレクトリでは、ステップ間の入力と出力が構成ファイルにマップされます。
Python モデルを実行するために必要な追加の依存関係については、「 requirements.txt
ファイルを作成し、Conda 環境を構築するには conda パックする必要があります (python_env.tar.gz)
。 詳細については、を参照してください。 Python ランタイムとライブラリの管理。 また、Python ステップの構成ファイルは以下を指す必要があります。 python_env.tar.gz
実行_ENV_パス 指令。
次に、モデル フォルダーを TAR 圧縮し、次を使用して名前を変更する必要があります。 model_version.txt
。 最終的に、結果として、 <model_name>_<model_version>.tar.gz
ファイルはにコピーされます Amazon シンプル ストレージ サービス (Amazon S3) バケットが MME に接続されているため、SageMaker がモデルを検出して提供できるようになります。
モデルのバージョン管理と継続的デプロイメント
前のセクションで明らかになったように、Triton モデル リポジトリの構築は簡単です。 ただし、手動で実行すると、展開に必要なすべての手順を実行するのは面倒でエラーが発生しやすくなります。 これを克服するために、Veriff は MME にデプロイされるすべてのモデルを含むモノリポジトリを構築しました。MME では、データ サイエンティストが Gitflow のようなアプローチで連携します。 このモノリポジトリには次の機能があります。
- を使用して管理されています パンツ.
- Black や MyPy などのコード品質ツールは、Pants を使用して適用されます。
- 単体テストはモデルごとに定義され、モデル出力が特定のモデル入力に対して期待される出力であることを確認します。
- モデルの重みはモデル リポジトリと一緒に保存されます。 これらの重みは大きなバイナリ ファイルになる可能性があるため、 DVC は、バージョン管理された方法で Git と同期するために使用されます。
このモノリポジトリは、継続的インテグレーション (CI) ツールと統合されています。 リポジトリまたは新しいモデルに新しいプッシュを行うたびに、次の手順が実行されます。
- コード品質チェックに合格します。
- モデルの重みをダウンロードします。
- Conda 環境を構築します。
- Conda 環境を使用して Triton サーバーをスピンアップし、それを使用して単体テストで定義されたリクエストを処理します。
- 最終モデルの TAR ファイルをビルドします (
<model_name>_<model_version>.tar.gz
).
これらの手順により、モデルがデプロイに必要な品質を備えていることが確認されるため、リポジトリ ブランチにプッシュされるたびに、結果の TAR ファイルが (別の CI ステップで) ステージング S3 バケットにコピーされます。 プッシュがメイン ブランチで行われると、モデル ファイルが本番環境の S3 バケットにコピーされます。 次の図は、この CI/CD システムを示しています。
コストと導入速度のメリット
MME を使用すると、Veriff はモノリポジトリアプローチを使用してモデルを実稼働環境にデプロイできます。 要約すると、Veriff の新しいモデル導入ワークフローは次の手順で構成されます。
- 新しいモデルまたはモデル バージョンを使用してモノリポジトリにブランチを作成します。
- 開発マシンで単体テストを定義して実行します。
- モデルをステージング環境でテストする準備ができたら、ブランチをプッシュします。
- モデルを実稼働環境で使用する準備ができたら、ブランチを main にマージします。
この新しいソリューションを導入すると、Veriff でのモデルのデプロイは開発プロセスの簡単な部分になります。 新モデルの開発期間は 10 日から平均 2 日に短縮されました。
SageMaker のマネージド インフラストラクチャ プロビジョニングと自動スケーリング機能は、Veriff にさらなるメリットをもたらしました。 彼らが使用したのは、 インスタンスごとの呼び出し数 CloudWatch メトリクスはトラフィック パターンに応じて拡張し、信頼性を犠牲にすることなくコストを節約します。 メトリクスのしきい値を定義するために、ステージング エンドポイントで負荷テストを実行し、レイテンシとコストの間の最適なトレードオフを見つけました。
75 つの実稼働モデルを MME にデプロイして支出を分析した後、Veriff は、元の Kubernetes ベースのソリューションと比較して、GPU モデルのコストが XNUMX% 削減されたと報告しました。 同社の DevOps エンジニアがインスタンスを手動でプロビジョニングする負担が軽減されたため、運用コストも削減されました。
まとめ
この投稿では、Veriff が Kubernetes での自己管理型モデルのデプロイメントではなく Sagemaker MME を選択した理由を検討しました。 SageMaker は差別化されていない重労働を引き受けるため、Veriff はビジネス クリティカルな業務に必要なパフォーマンスを維持しながら、モデル開発時間を短縮し、エンジニアリング効率を向上させ、リアルタイム推論のコストを大幅に削減できます。 最後に、ソフトウェア開発のベスト プラクティスと SageMaker MME を組み合わせたリファレンス実装として使用できる、Veriff のシンプルかつ効果的なモデル デプロイメント CI/CD パイプラインとモデル バージョニング メカニズムを紹介しました。 SageMaker MME を使用して複数のモデルをホストするコード サンプルは、次のサイトで見つけることができます。 GitHubの.
著者について
リカール・ボラス 彼は Veriff のシニア機械学習であり、社内の MLOps の取り組みを主導しています。 彼は、社内にデータ サイエンス プラットフォームを構築し、いくつかのオープンソース ソリューションを AWS のサービスと組み合わせることで、データ サイエンティストがより迅速で優れた AI / ML 製品を構築できるよう支援しています。
ジョアンモウラ スペインを拠点とする AWS の AI/ML スペシャリスト ソリューション アーキテクトです。 彼は、ディープ ラーニング モデルの大規模なトレーニングと推論の最適化、およびより広範な AWS 上での大規模な ML プラットフォームの構築で顧客を支援しています。
ミゲル・フェレイラ フィンランドのヘルシンキを拠点とする AWS でシニア ソリューション アーキテクトとして働いています。 AI/ML は生涯にわたる関心であり、複数の顧客が Amazon SageMaker を ML ワークフローに統合するのを支援してきました。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/how-veriff-decreased-deployment-time-by-80-using-amazon-sagemaker-multi-model-endpoints/
- :持っている
- :は
- :どこ
- $UP
- 10
- 100
- 7
- a
- 能力
- 加速された
- 従った
- 達成する
- 越えて
- 追加されました
- 追加
- 添加
- 追加
- 高度な
- 先進技術
- 影響
- AI
- AI電源
- AI / ML
- すべて
- 緩和する
- 許可
- ことができます
- 並んで
- 既に
- また
- 代替案
- Amazon
- アマゾンセージメーカー
- Amazon Webサービス
- an
- 分析する
- および
- 別の
- API
- API
- 見かけ上
- 適用された
- アプローチ
- 建築
- です
- 周りに
- AS
- At
- 属性
- オート
- オートメーション
- 平均
- AWS
- バックエンド
- ベース
- BE
- なぜなら
- き
- さ
- 恩恵
- 利点
- BEST
- ベストプラクティス
- より良いです
- の間に
- ブラック
- ボルト
- ブランチ
- 広く
- た
- ビルド
- 建物
- 建物モデル
- 内蔵
- 内蔵
- 負担
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- came
- 缶
- 機能
- 機能
- 容量
- 生じました
- 鎖の
- 挑戦
- チェック
- 選んだ
- コード
- 協力します
- 組み合わせ
- 結合
- 会社
- 会社の
- 比較的
- 比べ
- 互換性のあります
- コンピュータ
- Computer Vision
- 交流
- 意識
- からなる
- 消費する
- コンテナ
- 含まれています
- 連続的な
- 費用
- コスト削減
- コスト効率の良い
- コスト
- 作ります
- 作成した
- クリプト
- 現在
- カスタム
- 顧客
- 顧客の旅
- Customers
- データ
- データサイエンス
- 日
- 決定しました
- 決定
- 減少
- 減少した
- 減少
- 深いです
- 深い学習
- 定義します
- 定義済みの
- 定義
- 提供します
- 需要
- 依存関係
- 展開します
- 展開
- 展開する
- 展開
- 詳細な
- 検出
- 発展した
- 開発者
- 開発
- DID
- 異なります
- 行われ
- 数十
- 劇的に
- ドリブン
- 各
- 前
- 緩和する
- 簡単に
- 効果的な
- 効率
- 努力
- 従業員
- 可能
- エンドポイント
- エンジニアリング
- エンジニア
- 十分な
- 確保する
- 環境
- エラー
- あらゆる
- 例
- 予想される
- 高価な
- 体験
- 専門知識
- 速いです
- 特徴
- 特徴
- フィードバック
- File
- ファイナル
- 最後に
- ファイナンシャル
- 金融業務
- もう完成させ、ワークスペースに掲示しましたか?
- Finland
- フィンテック
- 艦隊
- フォーカス
- フォロー中
- 形式でアーカイブしたプロジェクトを保存します.
- フレームワーク
- から
- 完全に
- さらに
- 賭博
- Gitの
- 与えられた
- 与える
- GPU
- GPU
- グループの
- 持ってる
- he
- ヘビー
- 重いもの
- 助けました
- ことができます
- より高い
- host
- 主催
- ホスティング
- ホスティング費用
- 認定条件
- しかしながら
- HTML
- HTTP
- HTTPS
- 人間
- アイデンティティ
- アイデンティティ
- 身元確認
- if
- 実装
- 重要
- 改善します
- in
- 含めて
- 増える
- 示す
- 情報
- インフラ
- 当初
- 革新的な
- 入力
- 洞察
- を取得する必要がある者
- 統合する
- 統合された
- 統合
- 関心
- インタフェース
- に
- IT
- ITS
- 旅
- JPG
- 大
- 大規模
- レイテンシ
- 主要な
- 学習
- つり
- フェイスリフト
- 軽量
- ような
- 負荷
- ローディング
- ロジック
- 見
- LOOKS
- ロー
- 下側
- 機械
- 機械学習
- 製
- メイン
- 保守
- 主要な
- make
- 作る
- 管理します
- マネージド
- 管理する
- 管理する
- 方法
- 手動で
- マーケットプレース
- 最大化
- メカニズム
- メモリ
- 言及した
- メトリック
- メトリック
- マイクロサービス
- ML
- MLOps
- モビリティ
- モデル
- モーメント
- モネ
- モニター
- 他には?
- ずっと
- マルチモデル エンドポイント
- の試合に
- ネイティブ
- 必要
- 必要
- 必要とされる
- ニーズ
- 新作
- 新しいソリューション
- いいえ
- 数
- Nvidia
- 客観
- of
- 提供すること
- on
- ONE
- もの
- オンライン
- の
- 開いた
- オープンソース
- オペレーショナル
- 業務執行統括
- 最適化
- or
- 組織
- オリジナル
- その他
- その他
- 出力
- outputs
- が
- 克服する
- 部
- パートナー
- パターン
- パターン
- パフォーマンス
- 実行
- 個人的な
- 先駆者
- パイプライン
- 場所
- プラットフォーム
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- ポイント
- ポリシー
- 可能
- ポスト
- プラクティス
- 前
- 問題
- プロセス
- 生産
- 製品
- プロフィール
- 実績のある
- 提供します
- は、大阪で
- 提供
- プッシュ
- プッシュ
- Python
- パイトーチ
- 品質
- すぐに
- 範囲
- 準備
- への
- 理由は
- 減らします
- 電話代などの費用を削減
- 軽減
- 縮小
- 削減
- 参照する
- 参照
- 関連した
- 信頼性
- 報告
- 倉庫
- リクエスト
- 必要とする
- の提出が必要です
- 研究
- リソース
- 応答
- REST
- 結果として
- 日
- ラン
- ランニング
- 犠牲にする
- セージメーカー
- 節約
- ド電源のデ
- 規模
- スケーリング
- 科学
- 科学者たち
- 二次
- セクション
- シニア
- 役立つ
- サービス
- サービス
- サービング
- セブン
- いくつかの
- シェアする
- shared
- 表示する
- ショーケース
- 簡単な拡張で
- 簡単な
- So
- ソフトウェア
- ソフトウェア開発
- 溶液
- ソリューション
- ソース
- スペイン
- 専門家
- スピード
- 過ごす
- ステージング
- 標準
- 宇宙船
- 手順
- ステップ
- ストレージ利用料
- 保存され
- 簡単な
- そのような
- 概要
- スーパー
- サポート
- サポート
- 確か
- 取り
- ターゲット
- チーム
- テクノロジー
- テンソルフロー
- テスト
- テスト
- テスト
- それ
- アプリ環境に合わせて
- それら
- その後
- そこ。
- ボーマン
- 彼ら
- この
- しきい値
- 時間
- 〜へ
- 一緒に
- ツール
- 豊富なツール群
- トラフィック
- トレーニング
- 訓練された
- トレーニング
- 遷移
- トリトン
- 信頼
- 信頼されている
- 2
- 典型的な
- 一般的に
- 下
- 単位
- つかいます
- 中古
- ユーザー
- 操作方法
- users
- 値
- Verification
- バージョン
- 、
- ビジョン
- ました
- 仕方..
- 方法
- we
- ウェブ
- Webサービス
- WELL
- した
- この試験は
- いつ
- which
- while
- なぜ
- WISE
- 無し
- ワークフロー
- ワークフロー
- 作品
- でしょう
- ラップ
- 書き込み
- XGブースト
- まだ
- You
- あなたの
- ゼファーネット