人工知能は刺激的です。1年も経たないうちに私たちの生活を席巻した新たな技術革新は、その後も止まりません。
個人的には、AI ツールとその現在の使用方法にいくつか問題を感じています。とはいえ、適切な人に適切な仕事を任せれば、AI は強力なツールであることは否定できません。しかし、誰もが知っているように、大きな力には大きな責任が伴います。
興奮と半ば実現されていない約束の真っ只中、私たちは、12億3千万のパラメータモデルを何時間もかけて、複数のインスタンスにまたがって、何百万ものユーザーのために一度に実行することのコストについて考えたことがあるでしょうか?
私は常に「最小限の Web」というコンセプトの支持者でした (このコンセプトについては将来記事を書く予定です。言いたいことがたくさんあります)。私たちは、一方では誰もが地球の健康について非常に心配しているように見える時代に生きています (そしてそれには十分な理由があります)。しかしもう一方では、現在のインターネットが生のエネルギーの面でどれだけのコストを私たちにかけているかについて立ち止まって考える人はいません。それは効率的ですか? 環境に優しいですか? まったくその通りです。
少し前に、私は Perl を使用して小さな TUI ツール ( webmeter ) を作成しました。このツールは、インターネット トラフィックを監視し、ツールの実行中に送受信されるパケットのバイト長を集計します。
Reddit のトップページを開いただけで、私のツールはインターフェースと Reddit のサーバー間で転送された 5.85 MB ものデータを記録しました。
Reddit という Web サイトは、テキスト、低品質から中品質の画像、そして時折表示されるビデオの組み合わせです。Reddit のトップページを開いただけで、地球全体に大量のデータが転送されたというのは、非常に不合理に思えます (テスト中は自動再生ビデオはオフにしていました。この結果にはビデオ コンテンツは含まれていません)。
Reddit のトップページは、10 キロバイトのコンテンツ、JavaScript、CSS (おそらく追加画像用にさらに数キロバイト) で終わるはずだったページですが、読み込むだけで 300 倍の帯域幅が必要でした。
比較すると(月面着陸がハリウッドの地下室で行われたわけではないことを考慮すると)、アポロ 11 号ミッションのために書かれたソフトウェアのサイズはわずか 72 キロバイトでした。
とりあえず、何十億もの人々が、いつでも、いつでも、一斉に Reddit のトップページを開いているところを想像してみてください。考えてみてください。データ転送の直接的なコストはいくらでしょうか。二次的なコストはいくらでしょうか。インターネットを利用する人間として、私たちはどれだけのエネルギーを無駄にしているでしょうか。
この概念は、ここ 1 年ほど私の頭の中にありました。これが、そもそも私が Perl ツールをハックして作った主な理由です。1 つの「最小限の Web」の考えが別の考えにつながり、私たちは誇大宣伝 (または嫌悪) に夢中になりすぎて、人工知能の取り組みにかかるコストを無視していることに気づきました。
正確に?できません。これらのサービスがどのように動作するか、つまり、どの CPU または GPU (または専用チップ) を使用しているかがわからないと、できません。実行されているインスタンスの数はいくつで、負荷はどのくらいで、重要なハードウェアの正確な電力消費量はどのくらいか、などです。
しかし、真剣に取り組めば、かなり現実的な(正確ではないが)結論に達することができます。この例では、最も分かりやすく(そして人気があると信じています)安定した拡散 GUI であるFooocusを選択しました。まずは簡単なところから始めましょう。
Fooocus を使用すると、古い GPU (Quadro P2000) で画像を生成するのに約 10 分かかりました。Fooocus のリポジトリのパフォーマンス テーブルによると、Nvidia RTX 4XXX GPU を使用すると最も速い結果が得られることがわかります。私の Quadro は Nvidia GTX 1060 に匹敵するため、Nvidia GTX 1060 GPU を使用すると約 10 分で画像を生成できることがわかります。
オンラインでいくつか検索した結果、AI/ML で最も一般的に使用されている (エンタープライズ) GPU は Nvidia A100 (負荷時最大 400W) であるという結論に達しました。
Nvidia A100 は、Nvidia GTX 1060 よりもはるかに強力な GPU であり、AI と ML 専用に構築されています。したがって、Nvidia A100 を使用して画像を生成するのに 5 秒かかると仮定します (これを読んでいる方で、A100 とそのパフォーマンスに関する正確なデータをお持ちの方は、ぜひ共有してください)。
式 E = P * T を使用すると、負荷がかかった状態で 5 秒間の Nvidia A100 GPU の電力消費量は約 0.5 ワット時になります。
この例に付け加えると、Midjourney (または他の AI 画像生成サービス) はプロンプトごとに 4 つの画像を生成します。このサービスが Nvidia A100 のアレイを使用して画像を生成していると仮定すると、このサービスは各ユーザーに対してプロンプトごとに約 2 ワット時のエネルギーを浪費している可能性があります。
2023年11月現在、MidjourneyのDAUは250万です。
2Wh x 2,500,000 Users x 24 Hours = 120,000,000Wh (per day, considering every DAU is executing a prompt per hour, in reality, it is much more than that). 120,000,000Wh = 120,000MWh
120,000メガワット時であれば、100,000世帯以上に1か月分の電力を供給できる可能性があります。
控えめに言っても、Midjourney、Dall-E、あるいは Fooocus などのセルフホスト型ソリューションなどのサービスは、それぞれ少なくとも 1 日あたり 5,000 万ワット時の電力を浪費しています (これらのサービスの GPU は最先端のものであり、各 DAU が毎日数時間サービスを使用していることを考慮すると)。
この量のエネルギーは、平均的な規模の家庭 10 万世帯以上に 1 日あたり 1 か月分の電力を供給できる可能性があります。
ここでは画像生成サービスについてのみ話したことに注意してください。ChatGPT、Gemini、Bard などの他のすべてのサービスと、それらのすべてのバージョンとフレーバーを忘れないでください。リストと無駄は続きます。
開発者として、私たちはどのように協力してこの新たな問題に取り組むべきでしょうか? 責任を持ってエネルギーを使用するよう他の人に啓蒙するために、どのような対策を講じることができるでしょうか? このトピックとその解決策について、皆さんのご意見をお聞かせください。
こちらでも公開されています