Cloudflareがお送りした2023年のDeveloper Weekでは事前にトレーニングが施された機械学習およびAIモデルを用いてすべての人がCloudflareのネットワーク上で、高速で遅延の少ない推論タスクを実行できる一連のAPIであるConstellationを発表しました。
Constellationのアップデート
Constellationのプライベートベータ版の登録者数は現在数千人にのぼり、皆さまからプラットフォームの進化および改善のフィードバックをお寄せいただいております。Constellationの発表から1か月になる本日、アップグレードとして3つの新機能を追加します。
さらに大容量になったモデルモデルのサイズ制限が10MBから50MBに引き上げられます。現在のプライベートベータ版ではやや控えめなサイズ制限も、50MBなるとConstellationで使用できる、事前トレーニングされ最適化されたモデルへの扉がこれまで以上に大きく開かれることになるでしょう。
テンソルキャッシングConstellationの推論タスクを実行する際は、複数のテンソルオブジェクトを入力として渡し、場合によってはビッグデータペイロードを作成します。テンソルオブジェクトの入力は、複数回の実行による入力の変更がわずかであっても、同じタスクを繰り返すときにワイヤープロトコルを介して行き来し、ネットワークとデータ解析の不必要なオーバーヘッドを生み出すことになります。
これによってクライアントAPIは入力テンソルのキャッシュがサポート可能になり、ネットワークの遅延がさらに改善され、推論時間が短縮されます。
XGBoostランタイムONNXランタイムでスタートしたConstellationですが、共通のAPIの下で複数のランタイムをサポートする形にしたいと考えています。本日、そのランタイムの1つにXGBoostランタイムを追加します。
XGBoostは最適化された分散型勾配ブースティングライブラリで、高い効率性で柔軟、かつポータビリティも考慮した設計になっており、構造化データや表形式のデータタスクにおける優れたパフォーマンスで知られています。
XGBoostモデルのアップロードと使用を今すぐ開始できます。
以上の新機能を含むアップデート済みのドキュメントと、ConstellationでXGBoostランタイムを使用する方法の例は、開発者向けドキュメントで入手していただけます。
グローバル分散型AIの時代
Cloudflareのネットワークはグローバルに分散されています。つまり、グローバルに分散された機械学習としては初となるパブリックリリースです。
しかし、初のパブリックリリースであるとはどういう意味を持つのでしょうか。機械学習タスクをデプロイする場所と聞いてグローバルネットワークを思い浮かべることはないかもしれませんが、機械学習は長年にわたってCloudflareのコア機能の多くを実現してきた中核をなしているのです。そして、Cloudflareでは機械学習を300都市のグローバルネットワークで展開しています。
トラフィックの急増は攻撃によるものなのか、それともブラックフライデーセールの影響なのか。今のトラフィックパターンにもとづいて、リクエストをルーティングする最善の方法は何か。人からのリクエストなのかボットからのリクエストなのか。ゼロデイ攻撃によるHTTPトラフィックなのかどうか。人を間に挟まず、自動化された機械学習とAIを使用してそうした疑問に答えを出してきたことが、Cloudflareを大きくした要因の1つだと言えるでしょう。
とは言え、今挙げた内容はグローバル分散型機械学習が実現してくれることの一例でしかありません。グローバル分散型機械学習がCloudflareに大きく寄与してくれたのは、当社のスタックに統合した一部分として実行することができたからです。私たちが今、Constellationを1人でも多くの開発者に使ってもらおうと考えているのはそれが理由です。
共同創業者のMichelle Zatlynがよく言う言葉ですが、私たちは(この分野で)スタートを切ったばかり。毎日、Constellationベータ版に新しいユーザーが何百人も登録してくれて、新しいモデルをテストし、グローバルにデプロイしています。さらに、新しいタイプのワークロードをサポートする新しいハードウェアのデプロイしていただいています。このワークロードが当社のグローバルネットワークを実現しているのです。
そこで、いくつかの発表とユースケースをご紹介することで、私たちがこれほどまでにグローバル分散型AIに熱を上げている理由を知っていただけたらと思います。それに今はSpeed Weekですので、やはりスピード第一に進めていきましょう。
AIを活用したカスタムメイドのWeb体験
Webエクスペリエンスについて、パフォーマンスが鍵になることは周知の事実です。eコマースコマースにおいて、ページのロード時間がたった1秒でも長くなるだけで、コンバージョンに7%もの影響が出る場合があります。しかし、速いだけでは不十分です。必須ではありますがそれだけでは足りないのです。さらに正確さも求められます。
つまり、ユーザーは画一的なエクスペリエンスの提供ではなく、自分たちが何を望んでいるのかをあらかじめ理解していて欲しいと考えるようになりました。
そこで、提供側としてはパーソナライズされたエクスペリエンスを実現し、さらにそれを迅速に行う必要があります。そこで力を発揮するのがConstellationです。 Constellationを使用すれば、WorkersやPagesを介して Cloudflareのネットワークからすでに提供されていたり、D1にデータを保存したりできる eコマースアプリケーションの一部として、分類(その顧客はどのような層に多いのか) などのタスクと実行と、パーソナライゼーション(「こちらを購入された方には、以下もお薦めです」)。
どこでもデバイスをよりスマートに
パフォーマンスが重要になるもうひとつのユースケースは、現実世界とのやりとりの場面です。家に誰かが入るときに作動する、人どうかを検知する顔認識システムを思い浮かべてみてください。待ち時間が1秒違うだけで大きな差が生まれます(特に重い食料品を持っているときにはそうですよね)。
Cloudflareのネットワーク上で推論を実行すると、世界の全人口の95%に対して、計算、さらには決定が50ミリ秒以上待たされることはありません。ヨーロッパに住みながらアメリカの会社からドアベルシステムを購入した場合に、往復で数百ミリ秒かかる可能背のある中央集中型のコンピュートとは大きくことなります。
それならデバイス上でコンピュートすればいいじゃないか、と思うかもしれません。
まず、デバイス上で推論を実行しても、高速性能が保証されるわけではありません。インテリジェントデバイスの多くはマイクロコントローラで動作しており、計算能力は限られていることがほとんどです(ハイエンドのGPUやサーバーグレードのCPUではないということです)。ミリ秒が秒になる。すなわち、処理するワークロードの量によっては、ローカル推論は適さない場合があるということです。デバイスに搭載可能なコンピュートでは、複雑な大量の処理を低レイテンシで実行するには不十分なのです。
しかし、ユーザーエクスペリエンスは別としても(ユーザーと直接インターフェースしないデバイスもあります)、コンピュートをデバイス上で直接実行することには、他にもデメリットがあります。
1つ目はバッテリーの寿命です。計算時間が長くなればなるほど、バッテリーの寿命は短くなります。たとえカスタムASICチップやTPU(Tensor Processing Unit)を搭載していても、電力消費は常に発生するので、それが制約の1つである場合、バッテリー寿命は短くなります。コンシューマー向け製品の場合に当てはめると、ドアベルのバッテリーを交換が必要になる状態です(家から締め出されたら困るので)。大規模なデバイス群を運用する場合(畑の散水装置のようなものです)、バッテリーの維持と交換にコストがかかることになります。
最後に、デバイスのハードウェアはもちろん、ソフトウェアでさえもアップデートは難しいものです。新しい技術や従来より効率的なチップが利用できるようになると、数百台、数千台のデバイス群をアップグレードするのは簡単なことではありません。また、ソフトウェアのアップデートは管理しやすくても、1日に何度もアップデートを簡単に送信できるオンクラウドソフトウェアのアップデートほど手軽には済ませられないでしょう。
出荷ソフトといえば...
AIアプリケーション、Constellationでかつてないほど容易に
アプリケーションやデバイスの高速化だけでなく、チームの高速化もSpeed Weekの目玉です。
この6年間で当社の開発者プラットフォームは、Cloudflare Workersを使って開発者が新しいコードを簡単に出荷できる状態を実現してきました。Constellationを使えば、わずかなコマンドで、既存のアプリケーションに機械学習を追加することができます。
眉唾ものじゃないかと思う方は私たちの言葉を鵜呑みにせず、今多くのお客様に開放しているベータ版をご利用されてみてはいかがでしょうか。リクエストをご希望の場合は、CloudflareダッシュボードにあるConstellationの新しいタブから、使用チュートリアルをご覧ください。考えているよりずっとAIは簡単なものかもしれませんよ。
始まったばかりです
私たちにとってチュートリアルは、開発者のAI主導アプリケーション構築をサポートする第一歩にすぎません。第2のサポートプランも温めています。
皆さまの開発、そしてフィードバックを心待ちにしております。