広告領域をはじめ、さまざまな業種に向けたAIプロダクトを提供し、企業の支持を獲得しているサイバーエージェント。同社はAIプラットフォームとして「Kubernetes」を活用しているが、それと組み合わせるストレージには一体何を求めたのか。選定基準と率直な評価を聞いた。
サイバーエージェントがAI(人工知能)を活用したビジネスを加速させている。2020年5月には、静止画や動画広告の分野で、広告効果が出たときのみ制作費を求める成功報酬型の、広告クリエイティブ(広告用に作成した成果物)を制作するサービス「極予測AI」の提供を開始。同サービスは、事前に広告配信効果を予測する「効果予測AI」という技術を活用しており、提供開始から約3カ月で導入アカウントが500件を突破するほどの人気サービスとなった。特に動画広告では、同社が実施する通常の制作プロセスの配信結果と比較して、獲得件数が2.5倍に増加するといった目覚ましい成果も上げている。
テキスト広告についても、効果の出せる広告テキストをAIで予測、自動生成する「極予測TD」というサービスを提供。こちらも同社が実施する通常の配信結果と比較して、品質スコアが135%向上、獲得件数も131%増加したなどの実績があり、約2カ月で導入アカウント数が100件を超えたほどの人気ぶりだ。
こうしたAIを活用したサービスを支えているのがサイバーエージェントのAI事業本部だ。AI事業本部は「AI本部」と「DX本部」という2つの部署で構成され、AIやDX(デジタルトランスフォーメーション)にまつわるさまざまなプロダクトを開発、提供している。サイバーエージェントの高橋大輔氏(AI事業本部)はこう話す。
「AI事業本部は、機械学習の専門家やデータサイエンティストが所属する当社の研究開発部門『AI Lab』と連携し、ビジネスでAIを活用するための技術や、プロダクトの開発をしています。技術やノウハウを社内で横展開し、広告に限らずさまざまな分野でAIを活用できるようにしています」(高橋氏)
例えば、デジタルマーケティング領域におけるDSP(Demand Side Platform)「Dynalyst」、コールセンターにおけるAIチャットbot「AI Messenger」、リテール領域での消費行動を把握するための「ミライネージ」、薬局・ドラッグストア向けDX推進サービス「AI薬師」などのサービスを展開。それぞれが多数の利用企業の支持を集めているという。
ただ言うまでもなく、こうしたAIを活用したサービスを展開する上では、広告などに関するデータ量が日々増大する中でも、先を見通し、ニーズの変化に素早く対応することが不可欠となる。サイバーエージェントの李 榮宰氏(AI事業本部)は、こう説明する。
「広告が良い例ですが、テキストから動画へと広告表現がリッチになった他、そこから得られるデータをいかにスピーディーに分析し、成果につなげるかが重要になっています。これに対し、サイバーエージェントはスピード感を持って取り組みを進められるよう、Google Cloud Platform(以下、GCP)で提供されている『AI Platform』を主に利用しています。オンプレミス環境では、これと互換性のあるAIプラットフォームを提供し、ユーザー部門がAIを使ったチャレンジを素早く実施できるようにしています」(李氏)
このAIを使ったチャレンジを素早く実施できるITインフラは、大きく3つのレイヤーで成り立っている。最下層がサーバやストレージ、GPUなどのハードウェアで構成する「物理レイヤー」、その上がコンピューティングリソースを抽象化し、CPU、ディスク、GPUなどを払い出す「IaaS(Infrastructure as a Service)レイヤー」、さらにその上に機械学習の環境やサービスをユーザーに提供する「AIプラットフォームレイヤー」があるという構成だ。サイバーエージェントの青山真也氏(AI事業本部)はこう説明する。
「物理レイヤーには機械学習向けGPUの『NVIDIA DGX A100』(以下、DGX A100)と、後述するストレージ『NetApp AFF A800』(以下、AFF A800)があります。その上のIaaSレイヤーではKubernetes環境を構築し、GPUをユーザーや上位のAIプラットフォームに払い出す仕組みにしています。AIプラットフォームレイヤーでは、Google AI Platformと互換性のある機械学習環境を独自に実装し、予測モデルの作成や予測機能の提供(サービング)、パイプライン処理などができます。ユーザーはプロジェクトの特性やビジネスの要件に合わせて、パブリッククラウドのAIプラットフォームと、オンプレミスのAIプラットフォームを使い分けられるようにしています」(青山氏)
IaaSレイヤーの「GPUを払い出す仕組み」を支えているのはコンテナ技術とKubernetesだ。コンテナ技術では、イメージ化が容易にできるほか、再利用可能なイメージが多く提供されている。機械学習にまつわる特定のライブラリ、ドライバなどを含んだ実験環境、学習環境を提供しやすく、更新し最新の環境を提供しやすいことは強みになる。また、起動が速く、それに伴うオーバーヘッドを解消できるのもコンテナの強みだろう。さらに、セキュリティやガバナンスの面で、コンテナの独立した複数の環境を提供できるという点やKubernetesのマルチテナント機能が生きてくる。
一方、AIサービスを支えるインフラとしてKubernetesと同様に重要なのはストレージだ。汎用(はんよう)的なエンタープライズストレージとしての要件を備えていることはもちろんだが、Kubernetes環境への対応が大きなポイントになってくる。そこでサイバーエージェントが採用したのがAFF A800だ。ここには大きく2つのメリットがあったという。1つはKubernetesとストレージを接続するCSI(コンテナストレージインタフェース)規格への対応、もう1つはストレージ本体の性能、機能だ。
「まずKubernetesで永続ストレージを利用する場合は、CSI規格に準拠して実装された『CSI Driver』とその機能がストレージ本体にあることが必要です。CSI Driverは、ボリュームの作成、クローンの作成、スナップショットの作成など、機能ごとに実装されています。例えば、ストレージ本体にクローンを作成する機能が必要なのはもちろんのこと、その機能をKubernetesから呼び出す橋渡しをするCSI Driverには、クローンするためのインタフェースが実装されている必要があります。3社のストレージ製品を検証しましたが、Kubernetes環境で求められる要件全てに対応しているストレージはネットアップほぼ一択という状況でした」(青山氏)
ネットアップはCSI Driverとして、OSS(オープンソースソフトウェア)「Trident」を開発している。TridentはネットアップストレージとKubernetes環境をつなぐプラグインであり、Kubernetesの標準APIでネットアップのストレージを操作できる。つまり、Kubernetesによるオーケストレーションや永続ストレージのプロビジョニング、プロビジョニング解除などをKubernetesの標準APIで操作できる。Tridentはネットアップのサポートも受けられるが、「GitHubでソースコードが公開され、OSSのエコシステムの下で開発が進められている点が選定のポイントになりました」と青山氏は話す。
「ソースコードがブラックボックスになっていると、何か起きたときに待つというアクションしか取れなくなります。CSI DriverがOSSであれば、ソースコードからトラブルの要因を探ることができるので技術面での安心感が違います」(青山氏)
ストレージ本体については性能や信頼性、クラウド連携などの拡張性について検証した。AFF A800はいずれにおいても、満足できる結果を示したという。
「性能テストはもちろん、ディスクを抜いたり電源の片系統を落としたりする障害試験なども一通り行いましたが、IOPS(Input/Output Per Second)の数値の高さ、ダウンタイムの小ささなど、ストレージの基本性能も非常に優れていました」(高橋氏)
高橋氏がAFF A800を選んだポイントとなったのは、1つのハードウェアで機械学習のデータセット向けのNAS(Network Attached Storage)と、周辺管理コンポーネント向けのSAN(Storage Area Network)の両方が利用できること、サポートが充実していることだ。ただ、高橋氏は当初、懸念点もあったという。
「サイバーエージェントがネットアップのストレージを採用するのは今回が初めてでした。ネットアップのストレージにエンタープライズストレージとしての実績があることは知っていましたが、Kubernetes環境についてどの程度のサポートしてもらえるかが未知数だったからです。KubernetesやCSI Driverに関して技術的な質問をしたとき、その度に開発部門がある海外にエスカレーションされてしまうと対応スピードが遅れてしまいます」(高橋氏)
だが、「そうした懸念は杞憂(きゆう)に終わりました」と高橋氏は話す。李氏も「技術的に突っ込んだ質問をしたときに、担当SEがきちんと内容を理解して回答していた様子が印象に残っています」と振り返る。
「ストレージ本体については回答できても、KubernetesやCSI Driverについて同じように素早くレスポンスをするのは難しいと思います。ネットアップは担当SEレベルでそれができるし、技術サポートの面でも素早く回答してもらえました。国内におけるKubernetesのストレージとして、現状の最善策の1つがネットアップストレージだと思います」(李氏)
こうしてサイバーエージェントは、ユーザーが必要に応じてクラウドとオンプレミスを使い分けながら、AIを素早く活用できる環境を構築できた。「AIプラットフォームの使い分け」についても、ユーザーが適切に判断しやすい仕組みにしているという。
「一般にパブリッククラウドでは、リージョンによって選択できるGPUのラインアップに差があります。例えば、GCPの東京リージョンではNVIDIA T4などが提供されています。そのため、より高性能なGPUを求めたり、NVIDIA A100から追加されたMulti-instance GPUのような新しいハードウェア機能を求めたりするなら、パブリッククラウドの一部リージョンやオンプレミスが選択肢となります。他に要件がなく、需要の変動が少なければオンプレミスをお勧めします。一方、事業を立ち上げたばかりで需要が見通しきれない場合や、変動が大きい場合は、パブリッククラウドやパブリッククラウドとオンプレミスの併用をお勧めします。最終的な選択はユーザーである事業責任者に委ねていますが、ユーザーの相談に乗りながら、インフラの観点からシステム全体の構成についての提案もしています」(高橋氏)
AIプラットフォームの使い分けにおいては、ハイブリッドなものとなるためデータをどう連携させるかどうかも重要となる。これについては改善も検討しているという。
「今はパブリッククラウドにデータを配置しているユーザーが多くいますが、オンプレミスのAIプラットフォームを利用する場合、データをオンプレミスに転送してもらう必要があります。今後はそうしたクラウド間の連携についても、ネットアップのストレージを活用しながら、ユーザーの利便性を高めていこうと考えています」(高橋氏)
具体的には、ネットアップのストレージOS「ONTAP」をクラウドに展開できる「Cloud Volumes ONTAP」(以下、CVO)の活用を検討しているという。NFS/CIFS/iSCSIを統合したストレージアクセス、重複排除/圧縮、暗号化、スナップショットや、遠隔地レプリケーション機能「SnapMirror」、バックアップ機能「SnapVault」など、ONTAPの各種データ管理機能をオンプレミスとクラウドのハイブリッド環境で利用できる。サイバーエージェントはCVOなどでクラウド間のシームレスなデータ利用を実現し、相互運用性を高める予定だという。
高橋氏、李氏、青山氏は今後の展開として、「AIプラットフォームの活用の幅と深さを広げていきたい」と、それぞれの立場から語る。
「AIの開発、活用については、全社的な展開が本格化してからが勝負だと考えています。DGX A100やAFF A800などの性能もまだ完全には引き出していません。ハードウェアやプラットフォームを効果的に使いながら、AIの取り組みを加速させていきたいと思っています」(高橋氏)
取り組みの進展に応じて、システムの拡張や機能強化も進める。
「現在、DGX A100の導入は1台ですが、利用拡大に応じて台数も増やす予定です。AIプラットフォームについても、今はハイブリッドで活用できるのは学習部分にとどまっていますが、今後はサービングや推論の部分も含めて機能を拡充したいと思います。AI事業本部としても、AIを意識したスキルセットを蓄積しながらプロダクト開発を推進する予定です」(李氏)
「Kubernetesには機能を拡張できる仕組みがあるため、それによって特定のロジックを自動化できます。その強みを生かしながら、より良いプラットフォームを作っていきたいと思います。例えば、ユーザーからの要望により追加機能を実装するのはもちろん、GoogleがAI Platformの機能を追加したり、マネージドサービスとして機能性の高いものが登場したりした際には対抗できるサービスを提供する必要があります。そうした機能を実装するためにも、KubernetesのCSI規格の機能が増えたときには、CSI Driver側もスムーズに対応する必要があります。今後もKubernetesとネットアップのストレージを活用しながら、AIインフラ環境の更新に取り組んでいきます」(青山氏)
サービスを導入した企業から既に高評価を得ているサイバーエージェントのAI事業だが、まさしくこれからが本番なのかもしれない。
Copyright © ITmedia, Inc. All Rights Reserved.
提供:ネットアップ合同会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2021年3月14日