blueqat news
量子コンピュータ関連銘柄 更新: 10/12 12:45(日本時間)
%は前日比・グラフは直近10営業日の推移 — 株価とニュースの突き合わせ / 業界の関係図

Photo: Arseny Togulev / Unsplash

AI

RTX 3090でLLMを実測―毎秒何トークンあれば読む速さに足りるか

要約

大規模言語モデルをローカルで動かしたときの生成速度を、RTX 3090で実際に測りました。35B-A3Bはエキスパートを48層CPUへ逃がしても毎秒32トークン、176Bは1.75ビットまで削れば24GBのGPUで動くものの毎秒5トークンでした。あわせて、1トークンが日本語で何文字にあたるかを録画から数え、読む速さに追いつくのに必要な生成速度を換算しています。

手元の機械で大規模言語モデルを動かすとき、どれだけのメモリが要るのかはMoEと量子化でLLMの必要メモリが変化、VRAMとホストRAMを分けて見る必要にで一次資料から整理しました。ただしそこでは、速度を確かめていません。公式の資料に実測が書かれていないためです。そこで、実際に測りました。この記事の数字は、断りのない限りすべて当サイトで測ったものです。

測った環境

項目内容
GPUNVIDIA GeForce RTX 3090(VRAM 24GB)
ホストRAM503GB
CPU20コア相当
実行系llama.cpp(CUDA、sm_86向けに自前でビルド)
測り方llama-bench(プロンプト512トークン、生成128トークン)

同じ機械の上で構成だけを変えているので、機械の違いは入りません。

同じ質問を4つの構成に投げて、並べた

「量子コンピュータが従来のコンピュータと違う点を3つ、簡潔に説明してください」という同じ質問を、4つの構成に投げたときの様子です。録画した時刻をそのまま使っています。モデルの読み込みにかかる時間は機械の状態で変わるので除き、最初の1文字が出た時点をそろえました。

同じ質問に4つの構成が答える様子。17秒の時点で上の3つは書き終わり、いちばん下の176Bはまだ2点目に入ったところ。
同じ質問に4つの構成が答える様子。17秒の時点で上の3つは書き終わり、いちばん下の176Bはまだ2点目に入ったところ。

上の3つは同じモデル(35B-A3B)で、GPUに載せる量だけを変えています。いちばん下は176Bのモデルを1.75ビットまで削ったものです。全部GPUに載せた①は1.3秒で書き終わり、④は41.6秒かかりました。

エキスパートをCPUへ逃がすと、どこから遅くなるか

MoEのモデルは、動いていないエキスパートをCPU側のメモリに置いておけます。llama.cppでは --n-cpu-moe に層数を渡して指定します。Qwen3.6-35B-A3B(UD-Q4_K_M、20.60GiB)で層数を振ると、次のようになりました。

CPUへ逃がす層数プロンプト処理生成
0層(全部GPU)3086.77150.12
8層1278.5578.39
16層852.9855.96
24層648.6942.77
48層446.0432.68
全部CPU365.339.22

単位はいずれも毎秒トークンです。最初の8層で半分になり、そこから先はゆるやかに落ちます。48層まで逃がしても32.68で、全部CPUの9.22とは3.5倍の差が残ります。

密なモデルと比べる

エキスパートを持たない密なモデルとして、Qwen3.8-27B(UD-Q4_K_M、15.32GiB)も測りました。

構成プロンプト処理生成
全部GPU1155.2435.84
全部CPU314.502.71

ここが今回いちばん面白いところです。35B-A3Bを48層もCPUへ逃がした状態(32.68)が、27Bの密なモデルを全部GPUに載せた状態(35.84)とほぼ並びます。パラメータの総数は35B対27Bで、逃がした側のほうが大きいのに、です。1トークンあたりに動く量が3Bしかないことが効いています。

176Bは、本流のllama.cppでは動かなかった

Qwen3.8-Flash-Nextの1.75ビット版(UD-IQ1_M、3ファイルで69.41GiB)を落としてきて読ませたところ、こうなりました。

llama_model_load: error loading model: unknown model architecture: 'qwen4exp'

本流のllama.cppがこのアーキテクチャを知りません。手元のビルドが古いのかと思って確かめましたが、その日の最新のmasterと同じコミットでした。Unslothの配布ページには「動かすには私たちのllama.cpp PRを使ってください」と書かれており、指定されたPR #27742のブランチでビルドし直したところ読み込めました。

70GBを落としても、それだけでは動きません。モデルが公開された日と、それが手元で動くようになる日は別だということです。新しいアーキテクチャのモデルを試すときは、実行系が対応しているかを先に見たほうが、通信量を無駄にしません。

なお、llama-benchが表示するパラメータ数は176.94Bで、Qwen公式の125Bと食い違います。これは矛盾ではなく、2648で触れた51BのN-gram埋め込みを合わせて数えているためです(125B+51B)。

176Bは、層数を振っても速度が変わらない

CPUへ逃がす層数プロンプト処理生成
78層277.744.76
82層283.084.79
86層285.474.81
90層278.794.92
94層278.575.04
全部CPU228.592.51

35B-A3Bでは層数が大きく効いたのに、ここではほとんど動きません。理由は単純で、69.41GiBのモデルに対してVRAMが24GBしかないからです。どう振っても大半の重みはCPU側にあり、GPUに載る分の増減が全体に響きません。35B-A3Bは20.60GiBで、そもそも全部がVRAMに収まる大きさでした。そこが分かれ目です。

それでも全部CPUの2.51に対しては2倍になっています。GPUが無駄なわけではありません。足りないだけです。なおこの6構成は時間の都合で1回ずつの測定なので、ばらつきは取れていません。

1.75ビットまで削っても、日本語は崩れなかった

速度だけを見て「24GBで176Bが動いた」と書くと、読む人を誤らせます。1ビット台まで削ったモデルは、速く動いても答えが壊れていることがあるためです。そこで出力も採りました。

3. **得意な計算領域が異なる**
   従来のコンピュータは一般的な日常業務や論理演算に優れますが、
   量子コンピュータは組み合わせ問題の最適化、暗号解読、分子(以下略)

日本語として成立しており、内容もおかしくありません。別の構成では「すべての計算で速くなるとは限りません」という留保まで書いていました。少なくとも短い受け答えの範囲では、崩れませんでした。長い文章や、込み入った指示でどうなるかは確かめていません。

では、毎秒何トークンあれば足りるのか

毎秒150トークンと言われても、それが速いのかどうかは分かりません。読む速さと比べられる形にします。

まず、1トークンが日本語の何文字にあたるかを、上の4本の録画から数えました。太字を表す記号などは外し、読む人が実際に目にする文字だけを数えています。

構成生成速度出た文字数かかった秒数1トークンあたり
全部GPU143.1318字1.30秒1.71字
48層をCPUへ32.4354字6.13秒1.78字
全部CPU9.0271字16.62秒1.81字
176B4.8334字41.60秒1.67字

4本とも1.7字前後でそろいました。1トークンが日本語およそ1.7文字として換算できます。これはモデルとトークナイザによって変わる数字なので、他のモデルにそのまま当てはまるとは限りません。

この換算で、読む速さに追いつくのに要る生成速度は次のようになります。

読む速さ追いつくのに要る生成速度
300字/分毎秒2.9トークン
400字/分毎秒3.9トークン
600字/分毎秒5.9トークン
800字/分毎秒7.8トークン
1,000字/分毎秒9.8トークン

読む速さは人によって差が大きく、日本語の平均値として広く合意された数字を、当サイトでは一次資料にあたって確かめられませんでした。そのため上の表は換算だけを示しています。ご自分の速さを当てはめてご覧ください。声に出して読むと1分あたり300字前後、黙って読むとその倍以上になる、というあたりが手がかりになります。

ここから、実際の使い心地について3つ言えます。

毎秒5トークン前後は、ちょうど読む速さと同じくらいです。今回の176Bがここでした。止まって見えるわけではありませんが、余裕もありません。文字が出るのを追いかける形になり、先に目を走らせて要らない段落を飛ばす、といったことができません。実際、同じ内容を書き終えるのに41.6秒かかっています。

毎秒30トークン前後になると、読む速さの5倍ほどです。今回で言えば、35B-A3Bのエキスパートを48層CPUへ逃がした構成がここでした。段落がまとまって出てくるので、普通の読み書きのやりとりで待たされることはありません。24GBのGPUで実用になる帯はこのあたりです。

毎秒100トークン以上が効くのは、長い文章を一度に出させるときや、何度も書き直させるときです。読む速さの20倍あっても、300行のプログラムを出すあいだは待つことになります。読んで確かめるより先に、次を出させたい使い方をするなら、ここが要ります。

外部の測定と照合する

自分の測定だけでは、機械の当たり外れを見分けられません。同じGPUと同じモデルの報告を探しました。

Giles Thomas氏が2026年7月24日に公開した測定によると、RTX 3090でQwen3.6-35B-A3B(UD-IQ4_NL_XL、19.5GiB)をCUDAで動かし、全部GPUで毎秒139.6トークン、10層をCPUへ逃がして毎秒89.1トークンとされています。当サイトの測定はUD-Q4_K_M(20.60GiB)で全部GPUが150.12、8層で78.39でした。量子化の種類が違うので厳密には比べられませんが、同じ機械で同じくらいの数字が出ています。別々に測って揃ったので、桁を間違えてはいないと考えています。

まとめ

24GBのGPU1枚で言えることは、次の3つです。

第一に、MoEのモデルは、全部をVRAMに載せられる大きさなら、かなり逃がしても速い。35B-A3Bは48層をCPUへ逃がしても毎秒32.68トークンで、27Bの密なモデルを全部GPUに載せたのと同じくらいでした。

第二に、VRAMに収まらない大きさになると、逃がし方を工夫しても効かない。176Bでは層数をどう振っても毎秒5トークン前後で、変わりませんでした。

第三に、動くことと使えることは別です。1.75ビットまで削れば176Bは24GBで動き、日本語も崩れませんでした。ただし速度は読む速さと同じくらいで、余裕はありません。

必要なメモリについてはMoEと量子化でLLMの必要メモリが変化、VRAMとホストRAMを分けて見る必要に、モデルの作りが変わってきた流れについてはAIトレンド①モデルの作りが変わった―大きさより「1回にいくつ動かすか」、今回使ったGGUF版の公開についてはUnsloth、Qwen3.8-Flash-Nextを75GBのRAMで動かすGGUF版を公開もあわせてご覧ください。

続きはメールでも受け取れます

新着記事のまとめを、毎日・週1回・月1回から選んでお届けします。 対談と教えて先生の続きも読めるようになります。登録も閲覧も無料です。

ログインしてメール配信を設定