Booking.comは機械学習のためにどのようにKubernetesを使っているか
- 共有
-
- |
後で読む
マイリーディングリスト
Booking.comの開発者であるSahil Dua氏は、今年のQCon Londonカンファレンスで、Kubernetesを使用して、顧客に目的地と宿泊施設を推薦するための機械学習(ML)モデルをどのように拡張できるのかを説明した。特に、コンテナ上のKubernetesの伸縮性や資源不足回避が、いかに計算(およびデータ)集約的で、並列化が困難な機械学習モデルを実行する助けになっているかを強調した。
Kubernetesの独立性(リソースが競合しないプロセス)、伸縮性(リソース消費に基づいて自動スケールアップ、あるいはダウン)、柔軟性(新しいライブラリやフレームワークを素早く試すことができる)、GPUサポート(KubernetesのNVIDIA GPUサポートはまだアルファではあるが、20倍から50倍の速度向上が可能)は、Booking.comが自身の規模(毎日150万部屋の部屋が予約され、毎月4億人が予約している)で多数のMLモデルを実行する上で重要なポイントである。ポッドがGPUリソースを必要とすることを指定することで、KubernetesにGPUユニットを持つノード内でスケジュールを指示する。
resources:
limits:
alpha.kubernetes.io/nvidia-gpu: 1
各モデルはコンテナ内でステートレスアプリとして実行される。コンテナイメージはモデル自体を含んでいないため、起動時にHadoopから取得される。これによりイメージが小さくなり、新しいモデルが作成されるたびに新しいイメージを作成する必要がなくなり、デプロイのスピードアップが可能になる。デプロイされると、モデルはREST APIを介して公開される。そして、Kubernetesは最終的にトラフィックが新しいコンテナに向けられるようになるまで、予測リクエストを受け取る準備のためにコンテナのプロービングを開始する。
Dua氏は、Kubernetesのオートスケーリングとロードバランシングの他に、モデルの待ち時間を最適化するために、Booking.comで使われるいくつかの手法を明らかにした。つまり、モデルをコンテナのメモリにロードし、起動後にウォームアップする(GoogleのMLフレームワークであるTensorFlowに最初のリクエストを出すことで。ただし、一般的には、最初の実行は、それ以降の実行に比べて遅くなる)。しかし、すべての要求が実際のシステムから来るわけではない。場合によっては、予測をあらかじめ計算し、後で使用するために保存することができる。後者の場合、スループット(単位時間あたりの作業量)を最適化することが重要である。要求をバッチ処理して非同期で並列化することで、ネットワークのオーバーヘッドが削減され、スループットが向上するとDua氏は述べた。
MLモデルは、Booking.comが必要とする予測を提供する状態となる前に、事前に選択されたデータセットで訓練を受ける必要がある。プロセスのトレーニング部分も、Kubernetesインフラストラクチャで実行する。トレーニングが行われるコンテナのベースイメージには、必要なフレームワーク(TensorFlowやTorchなど)のみが含まれ、実際のトレーニングコードはGitリポジトリから取得される。これもコンテナイメージを小さく保ち、新しいバージョンのコードイメージの拡散を防ぐとDua氏は強調した。トレーニングデータはHadoopクラスタからフェッチされる。モデルが準備完了すると(トレーニングワークロードが終了すると)、Hadoopにエクスポートされる。
- Facebook Liveにおける世界規模のイベントによるトラフィックスパイクの処理 2018年4月5日
- GoTo Copenhagen 2017: Shopifyにおけるオンラインコマースの実現方法 2017年12月11日
- LinkedInのスマートリプライ機能 2017年11月7日
- AWSが4TBメモリの仮想マシンを提供へ 2017年11月7日
- Coindeskが2018年版State of Blockchainをリリース 2018年4月9日
- TypeScript 2.8リリースには条件付き型が含まれています 2018年4月9日
- Swift 4.1でジェネリクス、コンパイラ最適化、Package Managerが強化された 2018年4月5日
- Android Studio 3.1はアプリケーション開発の生産性向上を目指す 2018年4月4日
- Google Cloud PlatformのCloud IoT Core Serviceが一般公開へ 2018年4月4日
こんにちは
コメントするには InfoQアカウントの登録 または ログイン が必要です。InfoQ に登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。
あなたの意見をお聞かせください。