はじめに
今回は画像認識用に「Qwen3」の2bのVLMを使います。検証環境のスペック的に、これ以外の選択肢は見当たらず。
検証環境
例によってPCの構成は以下の通りです。Ivy Bridgeおじさん代表として頑張ります。
- グラフィックボード: NVIDIA GeForce GT 1030 GDDR5 2GB
- メモリ: 16GB DDR3
- CPU: Core i7-3770
- OS: Windows 11 Pro 24H2
- Ollama: 0.32.13
- NVIDIAドライバ: 582.66
検証手順
まずollama pullコマンドでVLMを入手します。
C:\>ollama pull qwen3-vl:2b
C:\>ollama list
NAME ID SIZE MODIFIED
qwen3-vl:2b 0635d9d857d4 1.9 GB About a minute ago
必要に応じてこちらの手順を参照しながら、pullしてきたVLMをベースとして、CPUを併用しないモデルも作成します。
画像認識処理の対象となる、画像ファイルを用意します。今回は縦横各600px程度、サイズは13.7KB、Suicaのペンギン画像(suica.png)を使用します。
※ 以下はイメージ画像です(実際に使用した画像はもっと鮮明です)。

パフォーマンス情報も計測するため、コマンドプロンプトからverboseオプション付きで、以下のようにollama runコマンドを複数回実行します。
C:\>ollama run qwen3-vl:2b --verbose "これは何?" C:\suica.png
Added image 'C:\suica.png'
Thinking...
検証結果
ご覧の通り、微妙な結果にはなりますが、画像の内容(主にSuicaのロゴ)が認識されていることはわかります。またペンギンの絵もキャラクターとして認識されているようです。

CPUとGPU併用時
C:\>ollama ps
NAME ID SIZE PROCESSOR CONTEXT UNTIL
qwen3-vl:2b 0635d9d857d4 2.0 GB 96%/4% CPU/GPU 4096 4 minutes from now
| 項目 | 1回目 | 2回目 | 3回目 |
|---|---|---|---|
| total duration | 1m9.5607671s | 2m6.1077804s | 2m3.9270487s |
| load duration | 363.7772ms | 352.4102ms | 352.7429ms |
| prompt eval count | 1070 token(s) | 1070 token(s) | 1070 token(s) |
| prompt eval duration | 79.294ms | 101.043ms | 91.194ms |
| prompt eval rate | 13494.09 tokens/s | 10589.55 tokens/s | 11733.23 tokens/s |
| eval count | 778 token(s) | 1303 token(s) | 1278 token(s) |
| eval duration | 1m8.97937s | 2m5.606876s | 2m3.313485s |
| eval rate | 11.28 tokens/s | 10.37 tokens/s | 10.36 tokens/s |
理由はわかりませんが、「prompt eval duration」や「prompt eval rate」は、GPUだけにお願いするよりもパフォーマンスが良いようです。また、なぜか「eval rate」も優れています。
GPUのみの場合
C:\>ollama ps
NAME ID SIZE PROCESSOR CONTEXT UNTIL
my-qwen3-vl:latest 76d82fb5d2a7 1.6 GB 100% GPU 4096 4 minutes from now
| 項目 | 1回目 | 2回目 | 3回目 |
|---|---|---|---|
| total duration | 1m11.988533s | 1m19.4224078s | 1m36.3634393s |
| load duration | 372.907ms | 354.7469ms | 358.5997ms |
| prompt eval count | 1070 token(s) | 1070 token(s) | 1070 token(s) |
| prompt eval duration | 248.962ms | 285.747ms | 210.716ms |
| prompt eval rate | 4297.84 tokens/s | 3744.57 tokens/s | 5077.92 tokens/s |
| eval count | 551 token(s) | 607 token(s) | 736 token(s) |
| eval duration | 1m11.324709s | 1m18.734326s | 1m35.75531s |
| eval rate | 7.73 tokens/s | 7.71 tokens/s | 7.69 tokens/s |
全体の処理時間(total duration)は、GPUのみにお願いする方が速いようですが、「eval count」に差があるので公平に判断できているかわかりません。
おわりに
画像認識の精度は低いですが、VRAM 2GBでも練習位はできそうです。