[自作日記7’] コラム:コンシューマ用GPUとプロ用GPUの違い

[自作日記7’] コラム:コンシューマ用GPUとプロ用GPUの違い

今回は、コンシューマー用GPUは本格的なAI計算に使用できるのか、プロ用GPUとの違いは何か。比較も交えながら考えてみたいと思います。

私たちAI ベンチャー(ベンチャーじゃなくても)でGPUを使うシーンは3つあります。

  1. AI研究:最新モデルや論文のちょっとしたお試し
    小規模な学習。小規模な推論。
  2. 学習:いわゆるディープラーニングのトレーニング。
    長いと数週間、数か月におよぶ。
  3. 商用運用:お客様が使用するサービスのバックエンドとしての
    AIエンジンの商用運用

今回 Jun さんが作ろうとしている GPU マシンは 1.AI研究 のためのものです。

というのも、たとえば、コンシューマー用GPUやコンシューマー用の自作パソコンの場合は長時間にわたるディープラーニングのトレーニングには向いていません。

やってる人もたまにみかけますが、心配になります。

なぜなら、学習させたいネットワークにもよりますが、1回の学習にかかる時間は数日から数週間、長いと数か月にわたります。その間、GPUをドライブするソフトウェアが安定的に稼働している必要があります。2,3日なら何の問題もないことが、数週間まわすと謎のソフトウェアバグがドライバ層などで発生して学習が止まっていた、ということはよくあります。
また、マシンが過熱しない、など廃熱系も安定させて稼働するためには、それなりの対策を施す必要があります。

もともとコンシューマー用のGPUは3Dゲームのために設計されており、数週間の連続高負荷は想定されておりません。1回の学習が3,4日程度なら人の目で監視ということも不可能ではないとおもいますが、いずれにしても、手間がかかるものとなります。

そこで今回 Jun さんが開発しているような秋葉原で手に入りそうなパーツで構成された GPUマシンは、長時間高負荷な計算はさせない ことが前提の ”研究用” GPUマシンと位置付けています。

では、プロ用のGPUとは何でしょうか。

プロ用のGPUには大きく2種類あります。

1つは、ワークステーション用GPU。もう1つはデータセンター用GPUです。

ワークステーション用のGPUはコンシューマー用GPUに近い環境で使用されますが、ドライバーの安定性や信頼性、商品の長期サポートなどが特長で、コンシューマー用GPUより高い信頼性があります。また高度な計算のため、計算精度がコンシューマー用GPUに比べて有利です。ワークステーション用として有名かつ人気のGPUには NVIDIA RTX A6000 などがあります。

データセンター用GPUはその名の通り、専用のデータセンター環境で稼働することを前提としているGPU。ワークステーション用のGPUの特長に加え、エネルギー効率(要は消費電力)が高く、高い並列性などが特長になっています。データセンター用GPUとして有名なものには、 NVIDIA RTX A100、NVIDIA RTX H100 などがあり、1枚あたり300万円以上します。データセンター用とはいっても、インタフェースはPCI Express ですので、通常のワークステーションで動作させることも可能です。

このように2や3の用途で ”安心して” 使用する場合には、ワークステーション用のGPUやデータセンター用のGPUが必要になってきます。

GPUサイズと排熱方式と稼働音

今度は排熱という視点で、GPUをみてみましょう。

GPUは高負荷の計算をすることから、その副産物として大量の”熱”を発生させます。そこで、GPUが発する熱をどうやって放出し、GPUが過熱したり燃えたりすることを防ぐか、が重要となります。

この排熱の方式には大きく3つの方式があります

  1. 空冷 - 内排気
  2. 空冷 - 外排気
  3. 水冷

内排気のグラフィックボード

内排気というのは、PCケースの中にグラフィックボードの熱を排気スタイルです。
コンシューマー用GPUでは、1のタイプが多く、一般的に大きなヒートシンクと一つまたは複数のプロペラファンを使用してケース内の広い範囲に熱を拡散します。この方式は比較的安価でグラフィックボードを作れる反面、大型のヒートシンクとファンによりグラフィックボードのサイズが大きくなる傾向にあります。また、次に紹介する外排気型のグラフィックボードに比べて、ファンの稼働音が静かです。

外排気のグラフィックボード

外排気は、PCケースの中ではなく、PCケースの外側に直接、熱された空気を排出する方式です。ワークステーション用やデータセンター用のグラフィックボードは主にこの方式が採用されます。このときによく使用されるファンが”ブロワーファン”です。

ブロワーファンは空気を中心から吸い込み、ブレードを通過させた後にラジアル(放射状)に排出しケース内の空気を一方向に強力(流量)に吹き出すことができます。以前のグラフィックボードでは同様の目的で”シロッコファン”(圧力優先)というファンが取り付けられていましたが最近は流量優先のブロワーファンが採用されています。

この方式では、ファンがケースの一端に取り付けられ、直線的に空気を外に押し出し空気流がGPUのヒートシンクを通過して直接外部へと押し出されるため、冷却効率が高まります。この方式ではケース内に熱を拡散する内排気型とは異なり、グラフィックボードのサイズを小さくすることができます。反面、ブロワファンは稼働音が大きい場合があるので、静音が重視の場合は内排気型がおすすめです。

水冷のグラフィックボード

水冷のグラフィックボードは一部コンシューマー用のラインナップ(簡易水冷)などで見かけることがあります。また大規模データセンターでは、サーバールーム全体の冷却効率を高めるために、水冷システムを導入する場合があります。これにより、大量のGPUを効率的に冷却することが可能ですが、水冷システムの構築には非常に高いコストがかかりますので、あまり一般的ではりません。

GPUサイズと稼働音

排熱方式について、簡単にみてきましたが、サイズと稼働音についてまとめると
外排気型のグラフィックボードだと、安くて、比較的静かだけど、サイズが巨大
内排気型のグラフィックボードだと、高価、排気音が大きい、サイズは小型

となります。

複数枚のグラフィックボードを挿して使いたい場合は、PCI Expressのスロット干渉に悩まなくてよい内排気型のグラフィックボードがオススメです。


navigation

Read more

Node.jsで大容量ファイルを扱う:AIモデルのような大きなデータ保存はストリーム処理使いましょう

Node.jsで大容量ファイルを扱う:AIモデルのような大きなデータ保存はストリーム処理使いましょう

こんにちは!今日はAIシステムのフロントサーバーとしてもよく使用するNode.jsについてのお話です。 AIモデルの普及に伴い、大容量のデータファイルを扱う機会が急増しています。LLMなどのモデルファイルやトレーニングデータセットは数GB、場合によっては数十、数百GBにも達することがあります。 一方、Node.jsはWebアプリケーションのフロントサーバーとして広く採用されており、データマネジメントやPythonで書かれたAIバックエンドとの橋渡し役としてもかなりお役立ちな存在です。 本記事では、Node.js v20LTSで5GB程度のファイルを処理しようとして遭遇した問題と、その解決方法について解説します。 Node.jsのバッファサイズ制限の変遷 Node.jsのバッファサイズ制限は、バージョンによって大きく変化してきました Node.jsバージョン サポート終了日 バッファサイズ上限 備考 Node.js 0.12.x 2016年12月31日 ~1GB 初期のバッファサイズ制限(smalloc.kMaxLength使用) Node.js 4.

By Qualiteg プロダクト開発部
AGI時代に向けたプログラマーの未来:役割変化とキャリア戦略

AGI時代に向けたプログラマーの未来:役割変化とキャリア戦略

はじめに 私がはじめてコードを書いたのは1989年です。 当時NECのPC88というパソコンを中古でかってもらい N-88 Basic というBASIC言語のコードをみようみまねで書いて動かしたあの日から何年経つのでしょうか。 当時、電波新聞社のマイコンBASICマガジンという雑誌があり、ベーマガにはいろんなパソコン向けのプログラムコードが掲載されていました。 そんなわけでもう35年以上趣味や仕事でプログラミングに従事していますが、開発環境、情報流通の仕組みには革命といっていいほどの変化、進化がおこりました。 しかしながら、そんな中でも、あくまでコードを書くのは「私」という生身の人間でした。 そうしたある種の古き良き時代は、いよいよ本格的に終わりを告げようとしています。 2023年ごろからのLLM技術の飛躍的進歩により、プログラミング業界は大きな転換期を迎えています。 特に、OpenAI o3,o1やClaude 3.5、Gemini2.0などの大規模言語モデル(LLM)の進化や、その先にある将来的な汎用人工知能(AGI)の出現は、プログラマーやAIエンジニアの役割に根

By Tomonori Misawa / CEO
PythonとWSL開発のトラブルシューティング: PyCharmとCondaの環境不一致問題

PythonとWSL開発のトラブルシューティング: PyCharmとCondaの環境不一致問題

こんにちは! 今回は、WSL上のConda環境をPyCharmから利用する際に発生した「同じ環境なのにパッケージリストが一致しない」という問題に遭遇したため、その原因と対策について書いてみたいとおもいます 問題の状況 開発の流れは以下のようなものでした 1. WSL環境でConda仮想環境を作成 2. その環境をPyCharmのプロジェクトインタプリタとして設定 3. 開発を進める中で奇妙な現象に気づく 具体的には、次のような不一致が発生していました * PyCharmのプロジェクト設定で表示されるpipパッケージのリスト * WSLでConda環境をアクティベートした後にpip listコマンドで表示されるパッケージのリスト これらが一致せず、「WSL側のシェルから直接インストールしたパッケージがPyCharmで認識されない」という問題が生じていました。 この手の問題でよくある原因は、PyCharm側がWSL側の更新を得るのに少し時間がかかったり、 Indexing が遅れているなどなのですが、今回はそれが原因ではありませんでした。 危険な「静かな

By Qualiteg プロダクト開発部
人気ゲーム「ヒット&ブロー」で学ぶ情報理論

人気ゲーム「ヒット&ブロー」で学ぶ情報理論

こんにちは! Qualiteg研究部です! 今日はAIにおいても非常に重要な情報理論について、Nintendo Switchの人気ゲーム「世界のアソビ大全51」にも収録されている「ヒット&ブロー」というゲームを題材に解説いたします! はじめに 論理的思考力を鍛える定番パズルゲームとして長年親しまれている「ヒット&ブロー」(海外では「Mastermind」として知られています)。 このゲームは一見シンプルながらも、その攻略には深い論理的アプローチが必要とされております。 本稿では、このゲームについて情報理論という数学的概念を用いてゲームの素性を分析する方法について掘り下げてみたいとおもいます。 さらに、この情報理論が現代の人工知能(AI)技術においてどのように活用されているかについても触れていきます。 ヒット&ブローのルール説明 ヒット&ブローは、相手が秘密に設定した色や数字の組み合わせを推測するゲームです。日本では主に数字を使った「数当てゲーム」として親しまれていますが、本記事では色を使ったバージョン(マスターマインド)に焦点を当てます。 Nintendo Sw

By Qualiteg 研究部