リクルートのエンジニアが内製している機械学習基盤について詳しく解説していく本連載。初回はリクルートでクラウドネイティブな機械学習基盤を内製した理由について。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、リクルートでデータエンジニアとして社内のデータ活用基盤の構築に携わりデータ活用を推進してきた宮井と、データサイエンティストとして分析業務や機械学習システムの開発に取り組んできた秋庭が、どのような機械学習基盤を内製してきたのか詳しく紹介していきます。
筆者らが所属するリクルートは、企業と人(B2C)、企業と企業(B2B)、人と人(C2C)、全ての間に立ち、双方にとって最適なマッチングを図る「場」を提供しています。
リクルートが提供している主なサービスを下図に示します。
このようにリクルートは複数のサービスを展開しているのが特徴です。さまざまな規模のサービスがあり、蓄積されるデータのサイズも異なります。
さまざまな規模のサービスを提供、運用していくに当たって最適なコストで機械学習基盤を構築しようとすれば、それぞれのサービスが要求する性能に合わせた柔軟なスケーリングが欠かせません。また事業のビジネス要件から特定の時間帯などに処理が集中することもあり、そういった観点からもスケーリングを検討する必要があります。大規模な組織なので高いスケーラビリティも求められます。
データセキュリティの観点では、提供しているサービスが複数あるため組織間での権限分離などを適切に実施すること、組織をまたぐ形でのデータ参照を防ぐ仕組みの導入が欠かせません。またデータの漏えいを防ぐための暗号化は必須です。
これらの要件を整理すると、オンプレミスで機械学習基盤を構築するよりクラウドを利用した機械学習基盤が適しているという結論になりました。特にオンプレミスの場合、スケーラビリティは最大のサービス規模に合わせざるを得ず、サーバリソースが余ってしまいコストの無駄が発生しかねません。またビジネス面の変化で早急な対応が必要になるサーバリソースの増減も難しくなります。セキュリティ面でも、クラウドが提供する機能を利用すればセキュリティに必要な機能を検討して構築する必要がありません。開発、運用コストの双方でメリットが多いことからクラウドでの構築を前提に設計しました。
他方で、機械学習を活用したシステムを企画、構築していくとさまざまな課題に直面します。
案件ごとに同じようなソースコードが増え、何かやるたびにインフラの準備から始めなければならない、データサイエンスに集中したいのにセキュリティやインフラなどの他の知識まで必要といった課題です。
Copyright © ITmedia, Inc. All Rights Reserved.