「LensVLM-9B」長文を画像として縮小して処理する視覚言語モデル:必要VRAM 4GB〜・GGUF版あり

基本情報
| 項目 | 内容 |
|---|---|
| リポジトリ | apple/LensVLM-9B |
| 公開元のまとめ | Apple のモデルとライセンスのまとめ |
| 公開日 | 2026-09-22 |
| ライセンス | apple-amlr |
| 配布形式 | safetensors |
| 論文 | arXiv:2605.07019 |
| 出典の種類 | 公開元の一次情報(Apple公式HFリポジトリとGitHubコードが一次情報として確認可能) |
収集・肉付けの時点で当サイトのコードが確定させた値です。日付はJST。
概要
Apple の研究チームが、長い文書を画像に縮めて読ませる視覚言語モデル(VLM)LensVLM-9B を Hugging Face で公開した。Qwen3.5-9B を土台に、Apple と Duke 大学の研究者が追加学習したモデルで、論文「LensVLM: Selective Context Expansion for Compressed Visual Representation of Text」(arXiv:2605.07019)の成果物にあたる。
狙いは、長い文脈を扱うときのトークン数とメモリの削減である。テキストをそのままトークンに分けると、長い文書はそのまま長いトークン列になる。一方、テキストを画像として描画して VLM に渡すと、画像1枚は決まった数の視覚トークンにしかならない。描画の解像度を下げるほど、同じ文章を少ないトークンに詰め込める。問題は、縮めすぎると文字が潰れて読めなくなることだった。
LensVLM は、この問題を「全体は縮めたまま流し読みし、答えがありそうなページだけを元の形に戻して読む」ことで解決する。モデルは縮小されたページ画像の一覧を見て関係のありそうなページを選び、学習で身につけたツールを呼んでそのページの元のテキスト(または高解像度の画像)を取り寄せ、それを読んで答える。名前の「Lens(レンズ)」は、縮んだ文脈の一部を拡大して読むこの動きに由来する。
ライセンスは Apple Machine Learning Research Model License で、非商用の研究目的に限って使える(詳細は後述)。
スペック
- パラメータ数: 約 9B(Qwen3.5-9B-Base からの追加学習)
- 入力: テキストを描画した画像(ページ画像)と質問。実際の文書画像(PDF 等)にも使える
- 圧縮の設定: 付属のコードでは
5x・10x・15xの 3 段階を選べる。論文によれば、Qwen3.5 の視覚エンコーダは1枚の画像を圧縮の段階に応じて 72・48・24 個の視覚トークンに変換する - ツール: ページの番号を指定して元の内容を取り寄せる
read_pageを使う。1回の呼び出しで1ページを開き、複数のページが要るときは順に開く - 思考: 行動の前に
<think>タグの中で推論してからツールを呼ぶ - 学習の手順(論文より): ① 元のモデルが縮小画像だけで答えられない「難しい」問題を選び出す、② Qwen3.5-397B に正解と根拠を与えて「どのページを開いて何を読むか」の手本を合成させ、教師あり学習(SFT)を行う、③ 自分自身の試行で強化学習(RL)を行う。報酬は答えの正しさと、正解したときだけ加点するツール利用のボーナスで作る。学習中は視覚エンコーダを固定し、言語モデルの部分だけを更新する
- 学習データ: NQ・HotpotQA・MuSiQue・HELMET の質問応答
性能
論文の主な結果を、公開元自身の数値のまま紹介する。
テキストの質問応答(7つのベンチマークの平均): 文書を全部テキストで渡したときの正答率(上限の目安)が 72.4% であるのに対し、5 倍に縮めた画像をそのまま読ませると 31.3% まで落ちる。LensVLM は同じ条件で 68.9% を保ち、実際にモデルが処理したトークン数で測った実効の圧縮率は 4.3 倍だった。論文は、実効の圧縮率 10.1 倍までの範囲で、検索(RAG)・テキストの圧縮・画像の圧縮のどの比較手法も上回ったとしている。
コードの理解(追加学習なしでの転用): コード専用の学習をしていないのに、縮小したコードの画像からの質問応答でも比較手法を上回った。
| 手法 | 5x | 10x | 15x |
|---|---|---|---|
| Text(全文をテキストで渡す) | 65.6 | 65.6 | 65.6 |
| Comp. Image(縮小画像をそのまま読む) | 26.7 | 6.1 | 3.2 |
| Glyph | 31.8 | 9.7 | 7.0 |
| LensVLM | 38.1 | 26.1 | 20.0 |
縮めるほど差が開き、15 倍では縮小画像をそのまま読むと 3.2% しか答えられないところ、LensVLM は 20.0% を保つ。ただし全文をテキストで渡した場合(65.6%)との差はまだ大きく、コードでは「縮めても精度を保てる」とまでは言えない。
実際の文書画像(MMLongBench-Doc): PDF のような元から画像の文書では、取り寄せる内容を高解像度の画像にする「Zoom」の方が、OCR でテキストを取り出すより強かった。15 倍の圧縮で、縮小画像をそのまま読むと 31.1% のところ、Zoom 版は 41.9% だった。一方、5 倍の圧縮ではまだ文字が読めるため、縮小画像をそのまま読む方(51.2%)が Zoom 版(50.5%)よりわずかに高い。
モデルの大きさによる差: 同じ方法で 2B・4B・9B を学習した比較では、正答率が 45.5%・56.3%・68.9% と大きく変わる。論文は、2B はツールの呼び方こそ覚えるものの、どのページを開くかの判断と、開いた内容の理解の両方が揃うのは 9B からだとしている。このやり方は小さいモデルほど効くわけではない、という点は手元で動かす人にとって重要である。
学習データへの混入の確認: Qwen3.5 の学習データの締め切り(2026年2月16日)より後に公開された PubMed Central の論文だけで評価し直しても、縮小画像をそのまま読む場合より平均 39.7 ポイント高く、主な結果と同じ傾向だったという。
得意なこと・想定用途
LensVLM が役に立つのは、長い文書の中の一部だけが答えに関係する質問である。論文の例では、15 ページ分の縮小画像から 10 ページ目だけを開いて読み、2 回のやりとりで答えにたどり着いている。
手元で動かすうえで効くのは、KV キャッシュ(文脈を保持するメモリ)の削減である。論文の計測では、15 倍の圧縮で 100 ページ分の入力を扱うと、全文をテキストで渡す場合は 51,273 トークン(KV キャッシュ 1,602 MiB)が要るのに対し、LensVLM は答えるまでに開いたページを含めても 8,090 トークン(253 MiB)で済み、84.2% 少ない。長い文書ほど、メモリの少ない機材で扱える範囲が広がる。
一方で、速さは犠牲になる。ページを開くたびに生成と読み込みを往復するため、ページを1回開く典型的な場合で、全文を渡す方式(8 秒)の約 2 倍の 17 秒かかったと論文は報告している。論文自身も、この方法の狙いは速度ではなく「縮めても精度を失わないこと」だと明言している。
類似モデルとの違い
- Glyph(GLM-4.1V-9B ベース)との違い: Glyph も文章を画像として読ませる同規模のモデルだが、描画の方法を工夫して「縮小画像をそのまま読む力」を上げる方向の研究である。LensVLM は読めない部分を無理に読ませず、必要なページを取り寄せる。論文によれば、元のモデルは描画の設定(フォント・画像の幅など)に敏感で、20 通りの設定で正答率が 32 ポイントもぶれる。圧縮率を揃えた 3 通りの画像の幅で比べると、学習前に 18.0 ポイントあった差が、学習後は 0.5 ポイントまで縮まった
- 検索(RAG)との違い: RAG は事前に索引を作り、質問に近い断片を選んでから読ませる。LensVLM は文書全体を縮めたまま一度に見せ、どこを読むかをモデル自身が決める。索引を作る工程が要らない
- 元の Qwen3.5-9B との違い: 同じ重みから出発しているが、元のモデルに同じツールを持たせただけでは 5 倍の圧縮で 39.2% にとどまる。ページを選んで開く振る舞いは、今回の追加学習で身についたものである
動作環境
動作環境の目安(Local Model Watch 算出) — パラメータ数 9.4B
| 手持ちのVRAM | 選べる量子化 | ファイルサイズ | 必要メモリの目安 |
|---|---|---|---|
| 4GB(ノートPCの内蔵GPU・スマートフォンなど) | IQ2_M | 3.3GB | 4.0GB |
| RTX 4060 / 3060 Ti など 8GB | Q5_K_M | 6.4GB | 7.7GB |
| RTX 4070 / 3060 12GB など 12GB | Q8_0 | 8.9GB | 10.7GB |
| RTX 4090 / 3090 など 24GB | BF16 | 16.7GB | 20.0GB |
推論エンジンの対応状況(各プロジェクトのソースにあるモデル登録表とアーキテクチャ名を当サイトが機械的に照合。2026-09-28 時点): llama.cpp: 登録あり、vLLM: 登録あり、MLX (mlx-lm): 登録あり。
必要メモリは配布ファイルの実サイズに実行時のオーバーヘッド(KVキャッシュ等)を20%見込んだ概算で、文脈長・バッチサイズ・推論エンジンによって増減します。公開元の公称値ではなく、当サイトがファイルサイズから機械的に算出した値です。 ファイルサイズは変換版 bartowski/LensVLM-9B-GGUF の配布ファイルの実測値です。 他のモデルとの比較はVRAM別の早見表を参照してください。 量子化の名前の読み方は用語集にあります。
手元で動かせるか
Ollama・LM Studio・llama.cpp で動かせます(変換版を利用)。
公開元の配布は safetensors ですが、bartowski/LensVLM-9B-GGUF が GGUF版を公開しているため、そちらを使えば手元で動きます。
ライセンス apple-amlr: 公開元の独自ライセンスです。商用利用の可否を含め、条件は公開元の原文を直接確認してください。
量子化の圧縮率: IQ2_M は実測 3.01 bit/weight で、元の16bitの重みの約19%のサイズです(配布ファイルの実サイズから当サイトが算出)。
配布形式・当サイトが見つけた変換版・各推論エンジンの登録表を突き合わせた判定です。「確認できていない」は当サイトが見つけていないという意味で、存在しないことの断定ではありません。ライセンスの要約は法的助言ではないため、実際の利用にあたっては公開元の原文を確認してください。
当サイトでの実測
当サイトのサーバー(GPUなし)で、このモデルのファイルを実際に読み込み・動かして確かめた値です。モデルカードの記載ではなく、当サイトが測った結果です。測り方と全モデルの一覧は観測データにまとめています。
日本語のトークン効率
| トークナイザ | 日本語1,000字あたりのトークン数 | 同じ内容の英文との比 |
|---|---|---|
| このモデル | 546 | 0.99倍 |
| Qwen3 | 688 | 1.26倍 |
| Llama 3.2 | 744 | 1.36倍 |
| Gemma 3 | 564 | 1.03倍 |
| gpt-oss | 795 | 1.45倍 |
| LLM-jp-3 | 497 | 0.85倍 |
Qwen3 のトークナイザより約21%少ないトークンで同じ日本語を表せます。同じ文脈長に入る日本語が約1.26倍になり、生成も1字あたりで速くなります。
apple/LensVLM-9B の tokenizer.json で、当サイトが書き下ろした固定の文章(876字。ニュース・会話・技術文書・敬語のメール・紀行文・料理の6種)と、同じ内容の英文を数えました。トークン数が少ないほど、同じ文脈長に長い日本語が入ります。
GGUFファイルの中身
対象: LensVLM-9B-Q4_K_M.gguf(5.44GB、Q4_K_M)。ファイルの先頭のメタデータだけを読んで確かめました(重みはダウンロードしていません)。
| 項目 | 値 |
|---|---|
| アーキテクチャ(GGUF上の名前) | qwen35 |
| 学習時の最大文脈長 | 262,144トークン |
| 層の数 | 32 |
| 語彙数 | 248,320 |
| チャットテンプレート | 同梱(ツール呼び出しの記述あり・思考の切り替えの記述あり) |
| imatrix | 使用(LensVLM-9B-calibration-v6.txt・550チャンク) |
| 重みの型の内訳(パラメータ数の割合) | Q4_K 72.4% / Q6_K 21.3% / Q8_0 6.2% / F32 0.1% |
| 平均のビット数 | 5.21ビット/重み |
| 埋め込み層 / 出力層の型 | Q4_K / Q6_K |
ファイル名の量子化名はファイル全体の呼び名で、実際には層ごとに型が混ざっています。平均のビット数は、ファイルのデータの大きさを重みの数で割った実測値です。
入手方法
- 配布形式: Hugging Face の
apple/LensVLM-9Bに Transformers 形式(safetensors)の重みがある - 入手コマンドの例:
huggingface-cli download apple/LensVLM-9B - 動かし方: モデルカードは、GitHub の
apple-aiml-research/ml-lensvlmを取得して付属のスクリプトで動かす方法を案内している。文章を圧縮した画像に描画し、ページを取り寄せるやりとりを回す部分はこのコードが担うため、一般的なチャットツールに重みを読み込ませただけでは LensVLM の仕組みは働かない。llama.cpp・Ollama・LM Studio について、モデルカードは触れていない - 付属スクリプトの例:
python demo.py --model apple/LensVLM-9B --text_file document.txt --question "..." --compression 10x - ライセンス: 重みは Apple Machine Learning Research Model License で、使えるのは「非商用の科学研究と学術的な開発」に限られ、商用の製品やサービスへの利用、製品開発は明示的に除外されている。追加学習した派生モデルにも同じ制限がかかる。付属のコードは別の Apple Sample Code License である。利用前にライセンスの原文を確認してほしい
派生版・量子化版
→ 横にスクロールできます
| 追記日 | 配布元 | 形式 | リポジトリ | 最小のVRAM階層(量子化・必要メモリの目安) |
|---|---|---|---|---|
| 2026-09-28 | bartowski | GGUF(imatrix) | bartowski/LensVLM-9B-GGUF | IQ2_M 4.0GB(4GB VRAMで動作) |
| 2026-09-28 | mradermacher | GGUF(imatrix) | mradermacher/LensVLM-9B-i1-GGUF | IQ2_M 4.0GB(4GB VRAMで動作) |
| 2026-09-28 | mlx-community | MLX | mlx-community/LensVLM-9B-OptiQ-4bit | MLX 4bit 7.9GB(8GB VRAMで動作) |
各リポジトリの量子化とファイルサイズ:
- bartowski/LensVLM-9B-GGUF の量子化: IQ2_M 3.3GB / Q2_K 3.4GB / IQ3_XXS 3.9GB / Q3_K_S 4.0GB / IQ3_XS 4.0GB / Q3_K_M 4.2GB / Q3_K_L 4.3GB / IQ3_M 4.5GB / IQ4_XS 4.9GB / Q4_0 5.1GB / Q4_K_S 5.1GB / IQ4_NL 5.4GB / Q4_K_M 5.4GB / Q4_1 5.5GB / Q4_K_L 5.8GB / Q5_K_S 6.0GB / Q5_K_M 6.4GB / Q6_K_S 7.0GB / Q6_K 7.3GB / Q6_K_L 7.5GB / Q8_0 8.9GB / BF16 16.7GB
- mradermacher/LensVLM-9B-i1-GGUF の量子化: IQ1_S 2.6GB / IQ1_M 2.7GB / IQ2_XXS 2.9GB / IQ2_XS 3.1GB / IQ2_S 3.2GB / IQ2_M 3.4GB / Q2_K_S 3.4GB / Q2_K 3.6GB / IQ3_XXS 3.7GB / IQ3_XS 4.0GB / Q3_K_S 4.0GB / IQ3_S 4.1GB / IQ3_M 4.1GB / Q3_K_M 4.3GB / Q3_K_L 4.6GB / IQ4_XS 4.8GB / Q4_0 5.0GB / Q4_K_S 5.0GB / IQ4_NL 5.0GB / Q4_K_M 5.2GB / Q4_1 5.4GB / Q5_K_S 5.9GB / Q5_K_M 6.0GB / Q6_K 6.9GB
- mlx-community/LensVLM-9B-OptiQ-4bit の量子化: MLX 4bit 6.6GB
このほか、上記以外の投稿者による変換版が 5 件あります(当サイトは公開元自身と、実績のある量子化担当の配布だけを表に載せています)。
この節は、記事公開後に見つかった変換版を当サイトが機械的に追記したものです。必要メモリは配布ファイルのサイズから算出した概算です。 量子化の名前の読み方は用語集にあります。
関連記事
次に読むなら
- GPUのVRAMから探す(このモデルは4GBの階層から動きます) → 8GBのGPUで動くほかのモデル
- このモデルを動かすエンジンを調べる → llama.cpp / Ollama / vLLM
- 入手できる形式と、表に出てくる IQ2_M・Q5_K_M・Q8_0 の意味を知る → GGUF形式の解説と対応モデル / MLX形式の解説と対応モデル / 量子化・モデル形式の用語集
- 公開元について調べる → Apple のモデル・ライセンス・記事のまとめ
- 同じ用途の他のモデルを探す → VLM・マルチモーダルのモデル一覧
出典
- https://huggingface.co/apple/LensVLM-9B
- https://arxiv.org/abs/2605.07019
- https://github.com/apple-aiml-research/ml-lensvlm
更新履歴
- 2026-09-28: 変換版を「派生版・量子化版」に追記しました: bartowski/LensVLM-9B-GGUF, mradermacher/LensVLM-9B-i1-GGUF, mlx-community/LensVLM-9B-OptiQ-4bit
- 2026-09-28: 動作環境の表を bartowski/LensVLM-9B-GGUF の実ファイルサイズで更新しました。
- 2026-09-28: タイトルを、記事で分かる内容(必要VRAM・配布ファイル等)を示す形に変更しました。
- 2026-09-28: 当サイトでの実測(日本語のトークン効率・GGUFファイルの中身)を追加しました。
- 2026-09-28: 当サイトでの実測(CPUでの速度と日本語の質問への回答)を追加しました。

