ブログ

ピンからキリまで – 下町ディープラーニング #19

 みなさんこんにちは、dottの清水です。

 前回の「AI十里」では、AIを学習するときや、AIを運用するときで必要なインフラについての話をしました。

 今回はAIを作りたい!と思ったときに、費用の面でどんなことを考える必要があるかというお話です。

どんな時に費用がかかるのか

 百聞は一見にしかずということで、ポイントを以下のようなフローチャートで表してみました。

 費用の大小を考えるときには、まず最も大きく費用に影響するのが「日々新しいデータが追加され、AIに求められる状況も変わる」かどうかという点です。これはAIの学習にかかる費用です。

 例えば、世界中の人が利用して常に修正が行われるようなサービスである「Google Photos」なんかも良い例です。人の顔を自動で認識したり、「うつっているものは海ですか?」という質問をされたりなど、日々何らかのフィードバックが行われているようなものは、常にAIモデルが再学習されていると予想されます。Amazonのような大規模なECサイトでは、ユーザーの動向から常に最新のAIモデルを作ることにも効果がありそうです。

 学習するものにもよりますが、ディープラーニングによる学習に用いられる「Cloud TPU」は、起動するだけで月額45万円(Cloud TPU v2、$1=135円で計算)ほどの費用が発生します。もちろん必要な時だけ立ち上げて使うようにしたり、いろいろな工夫をすればランニングコストは下がると思いますが、その分開発費用が高くなるので慎重に検討が必要です。

 しかし下町の工場にやってくる課題では、多くのものが日々の自動的な再学習を必要としないものが多いように思います。例えば工場のラインで製造されるパーツを画像で検品する場合などは、そのパーツが日々変化することはあまりないので、常にAIを更新し続ける必要はなく、定期的にフィードバックをもとに再学習を行うというような計画を立てる方法でも十分に利用できるものです。実際に僕たちが作ったニュースや投稿された文章などは、そこまで大きく変化するものではありません。

常に計算が必要な場合って?

 もう一つ費用に関係するのは、「使うたびにAIが答えを出す必要があるかどうか」あるいは「ユーザーのデバイスでは計算できないか」という点です。これはAIの利用時にかかる費用です。

 常に計算が必要というのも、やはり「Google Photos」を例に取ってみるとよくわかります。アップロードされた写真に何がうつっているのかというのは、おそらく皆さんのデバイスでもある程度計算されているのだとは思いますが、サーバー側で処理していることも十分に考えられます。このように24時間365日稼働する必要があるものは、常にAIによって何かしらの計算が行われているでしょう。

 例えばこれまでにも紹介したようなBERTと呼ばれる文章を扱う仕組みを利用したAIモデルを動かす場合、GCPの「Cloud Run」というサービスを利用した場合、一つのモデルにつき最低でも月額6千円程度(Cloud Run 2vCPU,4GBで最低インスタンス1、$1=135円で計算)の費用が発生します。これだけみるとかなり安いと思う人もいれば、1日に1回しか使わない機能の為には高いなと感じる人もいるかもしれません。ただこの費用は、同時に複数人で使用しない場合を想定していますので、大量のアクセスがあればあるだけ利用料がかかってきます。

 なので、もしみなさんが使いたい機能が、実は1日1回だけ次の日に使う分を夜中に処理すればよければ、この費用もぐんと抑えることができます。数百円で済んだり、「Cloud Run」の無料枠に収まってしまうこともあるかもしれません。

高い時は高く、安い時は安い

 ここまでみてきたように、何となく高額な費用が発生すると思われがちなAIですが、意外にも工夫次第で運用費を安く抑えることができるということも知っていただけたのではないかなと思います。

 今回まで19回も続いてきた中で、AIはGoogleやAmazonのような大企業の遠い世界の話ではなく、僕らのような下町で現場の課題を解決しているような場面でも導入できるほど、とても民主的で身近なものになっていることが分かって頂けたら嬉しいです。

 これまで全て読んでくださった方、この回を最後まで読んでくださった方には大変御礼を申し上げます。

 そう、今日で下町ディープラーニングの連載も、一旦お休みさせていただこうと思います。

 それではまた、ごきげんよう。