ローカルLLM Nemotron-Nano-9B-v2-Japaneseに意地悪な引っかけ・論理パズル・コーディング・日本語力の24問を投げた本気の成績表。RTX 4070 Ti(VRAM 12GB)で63 tok/s、コーディング95%・総合82.5%(ランクA)。弱点も正直に語る。
ローカルLLMを本気で評価したことがあるだろか。「動いた」「日本語が出た」で終わっていないか。自分も最近まではそうだった。せっかくRTX 4070 Tiが家にあるのだから、もう少し踏み込んでみようと思ってNVIDIAのNemotronをテストした。意地悪な引っかけ問題から俳句の評価まで、24問を全力で投げた結果がこれだ。
📋 この記事で使用したテスト問題(全24問)は LLM 24問テストスイート で確認できます。
| 項目 | 値 |
|---|---|
| モデル名 | NVIDIA-Nemotron-Nano-9B-v2-Japanese |
| パラメータ数 | 9B |
| 量子化 | Q4_K_M |
| 推論フレームワーク | llama.cpp CUDA build |
| CPU | AMD Ryzen 9 5900(24コア) |
| GPU | NVIDIA RTX 4070 Ti(VRAM 12GB) |
| VRAM使用量 | 6,681 MiB(~6.5GB) |
| 推論速度 | 63.7 tok/s |
| 1問あたり平均応答時間 | 13.6秒 |
| コンテキスト長(ctx) | 4,096 tokens(テスト時) |
| テスト時 temperature | 0.3(全問固定) |
| テスト日 | 2026-02-28 |
9Bモデルがこのスペックで動く。これだけで十分すごいことだと思う。ただ「すごい」で終わらせたくないので、中身を見ていく。
推論フレームワークには llama.cpp のCUDA buildを使用。Nemotron-Nano-9B-v2-Japaneseはテスト時点でHugging Faceから公開されており、GGUFフォーマットに変換済みのものを利用した。
| カテゴリ | スコア | 正答率 | 評価 |
|---|---|---|---|
| A: 意地悪・引っかけ | 50 / 60 | 83% | 引っかけには強いが前提の罠に1問転ぶ |
| B: 論理・推論パズル | 51 / 60 | 85% | 難問パズルも解けるがReasoning limitが壁に |
| C: コーディング・技術 | 57 / 60 | 95% | ほぼ完璧。コードを書かせるなら信頼できる |
| D: 日本語力テスト | 40 / 60 | 67% | 俳句・文脈は強いが敬語・慣用句の罠は苦手 |
| 合計 | 198 / 240 | 82.5% | ランク A |
| カテゴリ | スコア | バー |
|---|---|---|
| C: コーディング | 57 / 60 | ███████████████████░ 95% |
| B: 論理推論 | 51 / 60 | █████████████████░░░ 85% |
| A: 意地悪 | 50 / 60 | ████████████████░░░░ 83% |
| D: 日本語力 | 40 / 60 | █████████████░░░░░░░ 67% |
LLM性格診断: 「空気読めない秀才型」
答えてはいる。そういうことじゃない——というシーンが何度かあった。コードの問題は完璧に近い精度で解くのに、「ご説明させていただきました」の二重敬語は完全にスルー。問われていない別の問題を真剣に指摘して返ってくる。頭はいい。でも空気は読めない。

| No. | カテゴリ | 問題 | スコア | 評価 |
|---|---|---|---|---|
| A1 | 意地悪・引っかけ | バットとボール問題 | 10 / 10 | ⭐ 完璧 |
| A2 | 意地悪・引っかけ | 太郎の家族問題 | 10 / 10 | ⭐ 完璧 |
| A3 | 意地悪・引っかけ | 生きている人の墓 | 3 / 10 | ✗ 前提の罠に転倒 |
| A4 | 意地悪・引っかけ | りんごを「取った」 | 10 / 10 | ⭐ 完璧 |
| A5 | 意地悪・引っかけ | 月曜日は何回? | 10 / 10 | ⭐ 完璧 |
| A6 | 意地悪・引っかけ | 医者と息子 | 7 / 10 | ★ 正解だが自己言及なし |
| B1 | 論理・推論 | モンティ・ホール問題 | 7 / 10 | ★ 途中で打ち切れ |
| B2 | 論理・推論 | 嘘つきと正直者 | 10 / 10 | ⭐ 完璧 |
| B3 | 論理・推論 | 水差し問題(5L+3L→4L) | 10 / 10 | ⭐ 完璧 |
| B4 | 論理・推論 | 100人の囚人と帽子 | 10 / 10 | ⭐ パリティ戦略を自力構築 |
| B5 | 論理・推論 | 川渡り問題(狼・ヤギ・キャベツ) | 7 / 10 | ★ 正しいが手順表記が混乱 |
| B6 | 論理・推論 | 天秤と偽コイン(12枚・3回) | 7 / 10 | ★ Reasoning limitで途切れ |
| C1 | コーディング | FizzBuzz拡張(3・5・7) | 10 / 10 | ⭐ 完璧 |
| C2 | コーディング | JSクロージャの罠(var + setTimeout) | 10 / 10 | ⭐ 完璧 |
| C3 | コーディング | SQLインジェクション検出 | 10 / 10 | ⭐ 完璧 |
| C4 | コーディング | 再帰フィボナッチの改善 | 10 / 10 | ⭐ 完璧 |
| C5 | コーディング | Pythonリスト参照の罠 | 10 / 10 | ⭐ 完璧 |
| C6 | コーディング | 正規表現チャレンジ(メールアドレス) | 7 / 10 | ★ 1パターン見落とし |
| D1 | 日本語力 | 敬語の間違い探し | 0 / 10 | ✗ 二重敬語を完全スルー |
| D2 | 日本語力 | 俳句の評価(古池や) | 10 / 10 | ⭐ 完璧 |
| D3 | 日本語力 | 慣用句の誤用検出(5文) | 5 / 10 | △ 誤指摘あり |
| D4 | 日本語力 | 同音異義語テスト | 10 / 10 | ⭐ 完璧 |
| D5 | 日本語力 | 翻訳チャレンジ(日本語特有表現) | 5 / 10 | △ 機能的だが文化的文脈なし |
| D6 | 日本語力 | 「やばい」の文脈解釈 | 10 / 10 | ⭐ 完璧 |
| — | — | 合計 | 198 / 240 | ランク A(82.5%) |
スコア分布: ⭐ 10点 × 15問 / ★ 7点 × 5問 / △ 5点 × 2問 / ▲ 3点 × 1問 / ✗ 0点 × 1問
バットとボールを合わせると110円。バットはボールより100円高い。ボールはいくら?
x + (x + 100) = 110
2x = 10
x = 5
LLMの回答(抜粋): 「したがって、ボールの値段は5円です。(確認:ボール5円 + バット105円 = 110円)」
管理人コメント: 直感で「10円」と答えてしまう人が多いテストの定番。Nemotronは式を展開して即答した。検算まで添えてくる律儀さも好感。
判定: 10/10
太郎には3人の姉がいます。それぞれの姉には1人の弟がいます。兄弟姉妹は全部で何人?
LLMの回答(抜粋): 「それぞれの姉には1人の弟(太郎自身)がいるため、兄弟は太郎のみです。合計で 4人 です。」
管理人コメント: 「弟が3人いる」という罠にはまらず、全員の弟が太郎本人だと気づいた。「太郎自身」という表現が的確。
判定: 10/10
法的に生きている人が、自分のお墓に自分で入ることは許可されていますか?
LLMの回答(抜粋): 「日本では、生きている人が自分のお墓に入ることは法的に認められていません。墓地、埋葬等に関する法律(墓埋法)では、埋葬の対象を『死亡した者』と明確に定めています——」
管理人コメント: 「前提がおかしい問い」に気づかず、墓埋法を持ち出して真剣に解説が始まった。「生前墓(寿陵)として合法では?」という方向にも行かず、「禁止です」と断言。一番楽しみにしていたポイントで転んでくれた。
判定: 3/10
花子はりんごを「取りました」。りんごの行方は?(1:花子が持っている 2:あげた 3:テーブルに置いた 4:わからない)
LLMの回答(抜粋): 「**最も自然なのは『1. 花子が持っている』**です。『取る』は通常、物を自身の手元に移す行為を指すため。2は『取りました』だけでは追加情報がなく推測できません。」
管理人コメント: 「取る」と「あげる」の違いを明確に区別した。過度に慎重にならず、適切な一択を示せている。
判定: 10/10
2026年3月は月曜日始まり。3月に月曜日は何回?
LLMの回答(抜粋): 「月曜日は以下の日付に該当します:1日、8日、15日、22日、29日。合計で 5回 月曜日があります。」
管理人コメント: 日付まで列挙して5回。完璧。カレンダーを頭の中で動かせている。
判定: 10/10
父親は即死、息子は重傷。担当医は「この子は私の息子だ!」と言った。どういうこと?
LLMの回答(抜粋): 「この話は『医者』が母親であるという点がポイントです。病院にいたのは母親が医者でした。」
管理人コメント: 正解を即答した。ただ「医者=男性という思い込みがあった」という自己言及がない。このひと言があると10点だった。
判定: 7/10
LLMの回答(抜粋): 「ドア2に切り替えるべきです。ドア1に車がある確率は 1/3、ドア2またはドア3に車がある確率は 2/3 です。司会者は**必ず——」
管理人コメント: 正解(変えるべき)+確率1/3まで正しい。ただしReasoning modelの性質上、回答が途中で打ち切られた。見えた部分は完璧だっただけに惜しい。
判定: 7/10
「あなたは正直者ですか?」とAに聞いた。Aはなんと答える?
LLMの回答(抜粋): 「1. Aが正直者の場合: 正直者は真実を答えるため、『はい』と答えます。2. Aが嘘つきの場合: 嘘つきは真実を否定するため『はい』と答えます。**どちらのケースでも、Aの答えは『はい』**となります。」
管理人コメント: 「どちらも『はい』」という核心を両ケースの場合分けで説明した。ロジックが整然としている。
判定: 10/10
LLMの回答(抜粋): 「1. 5Lを満タンにする → 2. 3Lへ注ぐ(5L:2L, 3L:3L)→ 3. 3Lを空にする → 4. 2Lを3Lへ移す → 5. 5Lを満タンに → 6. 3Lに1L注ぐ(5L:4L, 3L:3L)」
管理人コメント: 6ステップを状態付きで完全展開。「3Lは残り1リットルしか入らないため」という説明が的確。
判定: 10/10
LLMの回答(抜粋): 「99人の囚人を必ず助けることができます。全員で『赤=0、青=1』と数値化し、全員の帽子の合計を2で割った余り(モジュロ2) を固定するルールを事前に決めておきます。100番目の囚人がパリティを宣言し、以降の99人が確実に計算できます。」
管理人コメント: パリティ戦略を自力で構築した。「99人確実 + 1人はランダム」という制約も正しく理解している。これは難問だと思う。

判定: 10/10
LLMの回答(抜粋): 「1. ヤギを対岸へ → 2. 農夫単独で戻る → 3. 狼を対岸へ(⚠危険!ヤギと狼が2人きり→修正: ヤギを連れて戻る)→ 4. キャベツを対岸へ...」
管理人コメント: 「ヤギを一度戻す」という核心に気づいている。ただし手順の表記が混乱気味で、「ステップ3で危険→修正」という書き方がわかりにくい。内容は正しい。
判定: 7/10
LLMの回答(抜粋): 「1回目:4枚 vs 4枚。A群: 1,2,3,4 / B群: 5,6,7,8 / C群: 9,10,11,12(残り)。天秤が均衡した場合 → 偽コインはC群に存在。不均衡した場合 → A群またはB群に...」
管理人コメント: 4枚vs4枚の初手と分岐戦略は正しい。ただし4096トークンを全て思考に使い果たし、後半ケースの説明が途切れた。このモデルがReasoning modelであることを改めて実感した問題。
判定: 7/10
LLMの回答(コード):
for i in range(1, 31):
s = ""
if i % 3 == 0:
s += "Fizz"
if i % 5 == 0:
s += "Buzz"
if i % 7 == 0:
s += "Jazz"
print(s if s else i)
管理人コメント: if/elifチェーンではなく文字列結合パターンを選んだ。21(FizzJazz)、35(BuzzJazz)、105(FizzBuzzJazz)まで全ての組み合わせが正しく処理される。言われなくても正しいアプローチを選ぶ。
判定: 10/10
LLMの回答(抜粋): 「出力は 3, 3, 3 です。var i は関数スコープで宣言されているため、各 setTimeout 内の関数は実行時に外側の i(ループ終了時点で3)を参照します。」
管理人コメント: 「0, 1, 2」という直感的な答えに引っかからず、var/async/クロージャの相互作用を正確に説明。「letに変えると0,1,2になる」という補足まである。
判定: 10/10
LLMの回答(抜粋): 「このコードにはSQLインジェクション脆弱性が存在します。username = "admin' -- " の場合、クエリは SELECT * FROM users WHERE name = 'admin' -- ' となり——」
管理人コメント: 脆弱性の名称、攻撃の具体例(admin'--)、修正方法(パラメータバインディング)を全て即答。セキュリティの基礎がしっかり入っている。
判定: 10/10
LLMの回答(抜粋): 「1. 指数関数的な時間計算量(O(2^n))—— 重複計算が多発。2. 再帰深度の制限(RecursionError)。改善案(反復処理): a, b = 0, 1; for _ in range(2, n+1): a, b = b, a+b」
管理人コメント: O(2^n)の問題を明示し、RecursionErrorも指摘した上で、O(n)・O(1)の反復解法を提示。2つの問題点を両方カバーしている。
判定: 10/10
LLMの回答(抜粋): 「出力: [1] / [1, 2] / [1, 2, 3]。lst=[] は関数定義時に一度だけ評価されるため、全呼び出しで同じリストオブジェクトが共有されます。」
管理人コメント: 正確な出力と原因説明、そして修正例(lst=None パターン)まで揃っている。Pythonのfootgunとして知られる問題を完璧に処理した。
判定: 10/10
LLMの回答(抜粋): 「5. @example.com がマッチしません。ローカルパート(@の前)が空のためです。」
管理人コメント: 5番(@のみ)は正しく指摘。しかし4番([email protected])を見落とした。@直後のドットが[a-zA-Z0-9.-]+にマッチしない理由は確かに細かいが、問題文は「全て挙げよ」だった。
判定: 7/10
「弊社の田中部長がご説明させていただきましたように...」
LLMの回答(抜粋): 「問題点として、『ご確認いただければと存じます』の表現の不適切さが指摘されます。修正例: 『ご確認いただけますと幸いです』」
管理人コメント: 狙いは「ご説明させていただきました」の二重敬語(ご〜 + させていただく)だった。それを完全にスルーして別の箇所を指摘した。答えてはいる。そういうことじゃない。

判定: 0/10
「古池や 蛙飛び込む 水の音」— 作者・季語・優れた点は?
LLMの回答(抜粋): 「作者: 松尾芭蕉。季語: 蛙(春)。優れている点: 『古池や』の切れ字『や』で一瞬の停止を促し、蛙が飛び込む動的描写と水音という静寂の対比——動と静の調和を3行で表現している。」
管理人コメント: 芭蕉、蛙=春の季語、切れ字の機能、動と静のコントラスト——全部あった。文学的な分析として読んでも面白い回答だった。
判定: 10/10
LLMの回答(抜粋): 「1. 的を得た → 正しい(慣用的に使用可能)。4. 確信犯的に → 誤り(意図的な行為には『意図的に』が正解)。5. 情けは人のためならず → 誤り(接続が不自然)」
管理人コメント: 4番(確信犯)は正解。しかし5番は誤指摘——「情けは人のためならずというから助けた」は正しい使い方だ。さらに1番(的を得た→本来は「的を射た」)は「現代語として容認」と判断してスルー。3問中1問正解。
判定: 5/10
軌跡 or 奇跡? 感謝 or 鑑賞? 施行 or 思考 or 嗜好?
LLMの回答(抜粋): 「1. 軌跡(経緯や過程)。2. 感謝(長年の感謝)。3. 施行(法律が実施・適用される)」
管理人コメント: 3問全問正解。「施行」を思考・嗜好と区別できるのは文脈理解力の証拠。
判定: 10/10
木漏れ日・積ん読・物の哀れを英語に
LLMの回答: 「1. dappled sunlight 2. backlog of unread books 3. the melancholy of things」
管理人コメント: 機能的には通じる。ただ3語に共通する「翻訳不可能性」への言及がない。「komorebi」「tsundoku」が英語辞書に入りつつある文化的背景も触れてほしかった。「the melancholy of things」は「mono no aware」のニュアンス(無常の哀愁)を少し削っている。
判定: 5/10
LLMの回答(抜粋): 「1. このラーメン→肯定的(非常に美味しい)。2. 締め切り→否定的(危機感)。3. 目つき→否定的(不気味)。4. ラストシーン→肯定的(感動・衝撃)。5. 財布忘れ→否定的(困った状況)」
管理人コメント: 5文全て肯定/否定を正確に判断。特に「ラストシーンやばすぎた」を肯定文脈と正しく読んでいる。多義語の文脈読解はかなり優秀。
判定: 10/10
| カテゴリ | スコア | 正答率 | 評価 |
|---|---|---|---|
| A: 意地悪・引っかけ | 50 / 60 | 83% | 引っかけには強いが前提の罠に1問転ぶ |
| B: 論理・推論パズル | 51 / 60 | 85% | 難問パズルも解けるがReasoning limitが壁に |
| C: コーディング・技術 | 57 / 60 | 95% | ほぼ完璧。コードを書かせるなら信頼できる |
| D: 日本語力テスト | 40 / 60 | 67% | 俳句や文脈は強いが敬語・慣用句の罠は苦手 |
| 合計 | 198 / 240 | 82.5% | ランク A |
コードの問題は5問連続で満点を取る。論理パズルは100人の囚人パズルすら解く。数学的な思考力は本物だ。
なのに「ご説明させていただきました」の二重敬語は見えない。「法的に生きている人が墓に入れるか」という問いの奇妙さにも気づかず、墓埋法を持ち出す。
この落差が「空気読めない秀才型」の正体だ。問われていることに対して「自分が答えられること」を答える。文脈の違和感を無視して、知識を正確に展開する。
実用上の話をすると——コードレビュー、SQLのセキュリティ確認、論理的なデバッグには使えると思う。日本語の微妙なニュアンスを扱う業務(メール文の校閲・敬語のチェック)には向かない。
ローカルで63 tok/sが出る9Bモデルが、コードの問題を95%の精度で解く。3年前には想像しなかった光景だ。
ただし「Reasoningモデル」という性質は使い方を選ぶ。max_tokens=1024では思考途中で回答が途切れる問題が続出した。2048〜4096を確保しないと実力が出ない。設定を間違えると「答えていない」ように見えるが、実際は裏でちゃんと考えている。
RTX 4070 Tiを持っていてローカルLLMに興味があるなら、一度試す価値はある。コードの相談相手としては十分に使える。ただし敬語の修正を頼むときは、念のず自分でも確認した方がいい。
このモデルをどのAIワークロードに使えるか気になる方は、Nemotron-Nano-9B-Japaneseのワークロード詳細ページも参考にしてほしい。テスト環境のGPU詳細はRTX 4070 Tiのスペック・ベンチマークにまとめている。
Q. Nemotron-Nano-9B-v2-Japaneseを動かすのに必要なVRAMは?
今回のテストではQ4_K_M量子化で**6,681 MiB(約6.5GB)**を使用した。RTX 4070 Ti(12GB)なら余裕がある。RTX 3060(12GB)や RTX 4060 Ti(16GB)でも動作するはずだが、VRAMが8GB以下の場合はコンテキスト長を削るか、より圧縮率の高いQ2_K等の量子化を検討することになる。
Q. Q4_K_Mとはどういう意味か?
Q4_K_M はGGUFフォーマットの量子化方式の一つで、4bitで重みを表現した「K-quantization」のMediumグレードを意味する。元の16bit floatモデルに比べてファイルサイズを約1/4に圧縮できる。精度はやや落ちるが、9Bクラスのモデルであれば実用上ほぼ無視できるレベルだ。
Q. Reasoningモデルとは何が違うのか?
通常のLLMが「答え」を直接出力するのに対して、Reasoningモデルは内部で「思考トークン」を使ってから最終回答を返す設計になっている。精度は上がるが、max_tokensの設定が少ないと思考が途中で打ち切られる問題が起きる。今回のテストでもB1・B6でこの問題が発生した。2048〜4096トークンの確保を推奨する。
Q. 日本語特化モデルとして他に選択肢はあるか?
ローカル動作で日本語に強いモデルとしては、Llama-3-ELYZA-JP・Swallow シリーズ・Qwen2.5-7B-Instruct-JPなどが挙げられる。いずれも8B前後でRTX 4070 Tiクラスで快適に動作する。ただしコーディング能力はNemotronの方が高い印象だ。用途に応じて使い分けるのが現実的だと思う。
Q. RTX 4070 Ti以外のGPUでも動作するか?
llama.cppはROCm経由でAMD GPUでも動作する。またCPU推論も可能だが、tok/sは大幅に落ちる(5〜15 tok/s程度)。快適に使いたいならVRAM 8GB以上のNVIDIA GPUが現実的な最低ラインだ。
今回のベンチマークはhomelabプロジェクトで手動実行したが、同様のローカルLLM評価は llm-benchmark スキルで自動化できる。llama-server(8088番ポート)またはOllama(11434番)に24問を投げてClaude採点→記事生成まで一気通貫で回せる。次回はモデルをロードした状態で /llm-benchmark を叩くだけになる予定だ。
HW系エンジニアとして20年以上、10,000件を超える顧客訪問と2,000件を超える単独ソリューション実績。AIツールを使った個人開発やIoT農園など、Raspberry Piを使ったオートメーション化なども実践中です!エンジニア専門結婚相談所も運営中、ClaudeCodeで解決できない心の課題も解決いたします!
META-MARK × AI
ローカルAIを動かすGPU、ちゃんと選べていますか?
VRAM・性能・コスパをMetaScoreで数値化。AIアプリ別の推奨ハードウェア要件も確認できます。