Model
写真を1枚入れると、
日本語の観測記録が返る。
OddEye(オッドアイ)0.1 27B は、みちよみの街路を読むために作った言語化モデルです(実験版)。見えたもの(観測)と、推し量ったこと(解釈)を、別々の欄に書きます。4bit に縮めてあり、GPU 1枚で動きます。
- Apache-2.0
- RTX 5090 1枚で動く
- 2026-10-03 公開・実験版
このサイトの公開データは、OddEye で作ったものではありません。API・MCP・データセットの言語化は、本番の手順(いまの指示文は v3.5a 系)で作ったものです。OddEye は、より豊かな観測(v5.2・13項目)を書く次の手順のための、別のモデルです。公開データの作り方はまだ変えていません。
2つの眼: 観測と解釈
名前の2つの「d」の丸は、色の違う2つの眼です。青が観測、琥珀が解釈を表します。
観測
写真に見えたもの。物、看板の文字、物どうしの関係、表面の状態などを書きます。
解釈
写真から推し量ったこと。1つずつに確度が付きます。観測とは別の欄に書きます。
記録のいちばん上の欄は13あります。物、看板の文字、物どうしの関係、表面の状態、道路の標準項目(車線・歩道・街路灯など)、解釈、場面の要約などです。
比べた結果
街路写真100枚で、元のモデル(BF16)・配布されている一般的な4bit版・OddEye の出力を、どれがどれか伏せて比べました。推奨の指示文(v5.2c)を使っています。
| 項目 | 元のモデル(BF16) | 一般的な4bit版 | OddEye |
|---|---|---|---|
| 参照factを捉えた度合い(0〜1)↑ 高いほど良い | 0.54 | 0.53 | 0.53 |
| 参照factと矛盾した割合↓ 低いほど良い | 9.3% | 12.4% | 11.3% |
| 断定のしすぎ(1枚あたり)↓ | 0.70 | 0.97 | 0.69 |
| 明らかな誤り(1枚あたり)↓ | 0.35 | 0.43 | 0.26 |
| 参照にない有用な観測(1枚あたり)↑ | 1.67 | 1.58 | 1.72 |
読み方
- 一般的な4bit版と比べると、断定のしすぎは1枚あたり 0.28 件少なく [−0.44, −0.12]、明らかな誤りは 0.17 件少なくなりました [−0.31, −0.03]。
- 元のモデルと比べると、断定のしすぎと明らかな誤りに、有意な差はありませんでした。一方、参照factとの矛盾は 2.0 ポイント多く [0.2, 3.6]、開発中に一度も見ていない40枚に限ると 3.4 ポイント多くなりました。一般的な4bit版でも同じように多いので、主に4bitに縮めた影響です。
- 事実の種類ごとに見ると、物どうしの関係は3つの中でいちばん良く(一般的な4bit版より得点 +0.053、矛盾 −4.8 ポイント)、文字は一般的な4bit版より良いものの(+0.054)元のモデルには届きません。車線数・歩道などの基本的な配置は、元のモデルより矛盾が 5.4 ポイント多くなりました。
弱いところ
- 一般的で情報の少ない解釈が、元のモデルより多く出ます(1枚あたり +0.27 件)。
- 車線数・歩道などの基本的な配置と、小さな文字は、元のモデルより弱いです。大事なときは、これらの欄を確かめてください。
- ナンバープレートの数字を書き写した画像が、140枚中1枚ありました(元のモデルも同じ)。
評価のしかた
- 日本の街路写真100枚。うち40枚は、指示文やモデルを作るあいだに一度も見ていない写真です。どの写真も、学習に使った写真と撮影の系列が重なりません。
- 各写真に、AIが写真から書いた参照factが約15件あります(人は確かめていません)。Claude(Anthropic)が、どのモデルの出力かを伏せたまま、すべての出力を並べて採点しました。
- 開発に使った60枚は、どのモデルも点が高めに出ます(見ていない40枚では得点 0.47〜0.49、60枚では 0.56〜0.58)。数字は絶対的な正しさではなく、モデルどうしの比較として読んでください。
速さと、動く機材
| 項目 | 元のモデル(BF16) | 一般的な4bit版 | OddEye |
|---|---|---|---|
| 重みの大きさ | 55.6 GB | 20.6 GB | 20.6 GB |
| 1時間あたりの画像数(RTX PRO 6000・同時32件) | 1,020 | 1,749 | 1,833 |
| RTX 5090(32 GB) | 載らない | 試していない | 1枚あたり中央値 27.5 秒、同時8件で毎時約900枚 |
- RTX PRO 6000 では、元のモデルの約1.8倍の速さです。
- RTX 5090 では、試した29件すべてで13項目がそろいました。140枚の評価では、13項目がそろった出力は 98.6% です。
- 出力が 8,192 トークンの上限で途切れることが、約70回に1回あります。
- 速さは、自前の評価画像で測った値です。別の画像や設定では変わります。
作り方
- 元のモデルは Qwen3.8-27B(Apache-2.0)です。
- 元のモデル自身(BF16)の回答400件を正解にして、4bit の誤差をまねながら学習しました(4bit を意識した自己蒸留)。そのうえで、みちよみの指示文に合わせて調整しています。
- 外部のAIサービスの出力は、学習に使っていません。
- 学習に使った写真は Mapillary の街路写真です(モデルのリポジトリには含めていません)。
使い方
vLLM で起動し、同梱の example_request.py(Python の標準ライブラリだけで動きます)で写真を送ります。指示文は同梱の prompt_v5.2c.md を使ってください。モデルはこの指示文に合わせて作ってあります。
vllm serve finalvent/OddEye-0.1-27B-NVFP4 --served-model-name oddeye \
--max-model-len 16384 --kv-cache-dtype fp8 --mamba-ssm-cache-dtype bfloat16 \
--limit-mm-per-prompt '{"image":1}' \
--speculative-config '{"method":"mtp","num_speculative_tokens":2}' --enable-prefix-caching
# RTX 5090(32 GB)では --max-num-seqs 8 --gpu-memory-utilization 0.92 を足す
python3 example_request.py photo.jpg > observation.json
動作は、Blackwell 世代の GPU と vLLM 0.27〜0.28 で確かめました。
出力を使う前に
- 出力は、その写真に写っているものを、撮った時点で書いたものです。その場所のいまの状態ではありません。
- 幅や車線数は、写真1枚からの推定で、測った値ではありません。「見えない」も意味のある答えです。記録にないことを補わないでください。
- 出力を公開するときは、ナンバーや個人名を伏せてください。
- 安全やバリアフリーの判断の、唯一の根拠にはしないでください。
版とライセンス
- 版
- 0.1(実験版)。都知事杯2026の Final Stage に向けて公開しました。次の版は別のリポジトリで公開し、本格版の 1.0 は次の世代の Qwen で作る予定です。
- ライセンス
- Apache-2.0(元のモデルと同じ)。出力には条件を付けていません。
- 大きさ
- NVFP4(4bit の浮動小数点)で 20.6 GB。