IT

· 約 5 分

ローカルAIに必要なメモリ知識と、真偽値の名付け方

RTX 5090と統一メモリのミニPCを比較し、容量と帯域のボトルネックを整理。あわせてブール変数のis/has/can/should接頭辞ルールを紹介します。

RTX 5090クラスのGPUイメージ

ローカルAIに必要なメモリ知識と、真偽値の名付け方

知っておきたいAIメモリの話

自宅でAIモデルを動かすとき、ハードウェアは大きく二つあります。

一つは独立GPU。いまのトップ級コンシューマはNVIDIA RTX 5090で、VRAM 32GB、価格はおよそ**3万人民元(約60万円)**前後です。

RTX 5090クラスのGPUイメージ

もう一つは、CPU+内蔵GPU+オンボードメモリのチップセットを載せた家庭用PC。たとえばAMD Strix Halo(Ryzen AI Max+ 395)のミニPCは128GBメモリ付きで、およそ**2万人民元(約40万円)**前後です。

統一メモリのミニPCイメージ

どちらが良いか。多くの人は反射的に独立GPUを選ぶでしょう。算力が圧倒的だからです。調べたFP32の数字は次のとおりです。

  • 独立GPU(RTX 5090):104.8 TFLOPS
  • オンボード(AMD Ryzen AI Max+ 395):14.8 TFLOPS

約7倍。FP16やFP4なら差はさらに開きます。

しかし正解は「場合による」です。パラメータがやや大きいモデルでは、RTX 5090では動かないことが多い。ボトルネックは32GBのVRAMです。70Bを4bitで載せるだけでも約32.6GB必要で、VRAMを超え、起動できません。

一方AMDミニPCの128GB統一メモリなら余裕です。オンボードのメモリはGPUとCPUで共有されるので「統一メモリ」と呼ばれます。 単一プロセッサに多くの容量を割け、巨大モデルに強い。価格も独立GPUより抑えめです。

AppleのMシリーズはずっと統一メモリで、いまはAMD Strix Halo、NVIDIA DGX Spark、Intel Core Ultra、Qualcomm Snapdragon Xなども追随しています。

では独立GPUは不要か。メモリには容量だけでなく帯域がある。オンボードの弱みはまさにここです。RTX 5090の帯域は1792GB/s、AMD側は256GB/s程度。

Tokenを一つ出すたびに、プロセッサはモデル全体をメモリから読む必要があります。帯域256GB/sで40GBモデルなら、理論上は秒あたり約6回しか読めず、秒6 Token程度。実用はさらに下がり得ます。帯域最大級のApple M3 Ultraでも819GB/sで秒20 Token前後——1792GB/sのRTX 5090には及びません。

だから容量と帯域の両方がボトルネックで、HBMが高騰する理由でもあります。統一メモリのミニPCを選ぶなら、Token生成が遅い覚悟が要ります。

計算量を抑えるため、**MoE(Mixture of Experts)**という設計もあります。全パラメータを読まず、一部だけを活性化します。Qwen3-30B-A3Bのように30B中3Bだけなら、読む量は20GB級ではなく2GB級。AMDミニPCでも理論上秒100超のTokenが見え、実用圏に入ります。統一メモリ機ならMoEを選ぶのが無難です。

もう一つの弱点は算力そのものです。プロンプトを先に処理してからToken生成に入るため、算力が遅いとプロンプト処理も遅い。実測では、AMDミニPC+70Bでプロンプト処理は秒95 Token前後。4000 Tokenの文書なら約40秒かかってから最初の出力。コンテキストが増えれば、プロンプト処理だけで数分〜数十分になり得ます。

要するに現状のローカル大モデルは、独立GPUでもオンボードでも欠陥があり、中規模MoE+短めプロンプトが現実的な上限に近い、ということです。

ブール変数の名付け方

プログラミングの二大難題はキャッシュ無効化と変数名、という伝説があります。中でも真偽値は難しい。

最近読んだ《The Art of Naming Boolean Variables》は、四つの接頭辞で十分だ、という提案で示唆に富みます。

(1)is-:状態。後ろは形容詞。例:isActive、isDeleted、isEmpty。

(2)has-:所有・包含。後ろは名詞。例:hasAccess、hasChildren、hasValidationErrors。

(3)can-:能力・権限。例:canEdit、canDelete、canRetry。

(4)should-:意図・論理。例:shouldRetry、shouldCacheResponse。

もう一つの規則:真偽値名に否定語を入れない。isDisabledではなく isEnabled = false を使う、という考え方です。

これからどう見るか

ハードウェア比較も命名規則も、結局は制約を理解したうえでの選択です。モデル出力は安くなっても、どのボトルネックに金と注意力を割くかの判断は希少です。一人会社は旗艦GPUの軍拡より、用途に合う統一メモリ+MoEのような「小さな池の深い井戸」で十分戦えます。コードの可読性も同じで、AIに書かせるほど、人間が残す名付けの一貫性が信頼の複利になります。

コメントを書き込む

コメントは管理人が確認のうえ、この記事の「みんなのコメント」に掲載する場合があります(即時には表示されません)。 URL・宣伝・誹謗中傷は掲載されません。

この記事が少しでも参考になりましたら、今後のデータ整理・記事作成・サイト改善の励みになります。
無理のない範囲で、OFUSEから応援いただけますと幸いです。

Blog 一覧へ戻る