- OpenAI の GPT-4 with Vision は、画像とテキストを同時に入力として受け取り、自然言語で答えるマルチモーダルモデルで、2023年11月6日に API アクセスが公開された
- 評価では 視覚的質問応答(VQA) と文書画像の OCR に強みを示したが、角度やコントラストが悪いタイヤのシリアル番号のような現場 OCR では誤りが見られた
- 数学問題の画像では三角法による解法と答えまで提示したが、数学記号の欠落 の可能性があるため、手書き文字や複雑な数式には別途検証が必要
- オブジェクト位置を座標で返すタスクでは、バウンディングボックス が実際の位置と合わず、専用の物体検出モデルを置き換えるのは難しい
- CAPTCHA、クロスワード、数独のようにグリッド構造を読み取る必要があるタスクや人物識別のリクエストには制限があり、画像理解パイプラインの 推論レイヤー として使う前にケース別のテストが必要
GPT-4V の性質とアクセス方法
- GPT-4 with Vision は GPT-4V または GPT-4V(ision) とも呼ばれ、OpenAI が開発したマルチモーダルモデルである
- ユーザーは画像をアップロードしたうえで、その画像について質問でき、この処理は 視覚的質問応答(VQA) に該当する
- テキストや画像のような複数の入力形式を処理する 大規模マルチモーダルモデル(LMM) のカテゴリに属する
- 同じカテゴリのモデルとして CogVLM、IDEFICS、LLaVA、Kosmos-2 がある
- オープンソースモデルはオフラインおよびオンデバイスでのデプロイが可能だが、GPT-4V は ホステッド API としてアクセスする
- GPT-4V は OpenAI ChatGPT iOS アプリ、Web インターフェース、API で利用できる
- Web ツールの利用には GPT-4 サブスクリプションが必要
- API の利用には開発者アクセス権が必要
- API 識別子は
gpt-4-vision-preview である
6つの評価タスク
- 評価では、GPT-4V が処理できる範囲を見るために6種類のタスクが使われた
-
視覚的質問応答(VQA)
-
光学文字認識(OCR)
-
数学 OCR
-
物体検出
-
CAPTCHA の読み取り
-
クロスワードと数独
視覚的質問応答の結果
- コンピュータビジョンのミーム画像では、なぜ面白いのかを説明し、画像内の複数の構成要素とその関係を活用した
- 画像内のテキストも読み取り、回答に利用した
- ただしフライドチキンのラベルを「GPU」ではなく「NVIDIA BURGER」と誤読した
- 米国1セント硬貨の写真では、由来と額面 を正しく識別した
- 複数の硬貨がある画像で “How much money do I have?” と尋ねたところ、硬貨の枚数は識別したが、通貨の種類はすぐには把握できなかった
- 映画 Pulp Fiction の場面写真に “Is it a good movie?” と尋ねると、テキストで映画名を与えていないにもかかわらず、映画の説明と質問への答えを提供した
- IMDB スコアを尋ねる追加質問には、2022年1月時点のスコアを答えた
- OpenAI の他の GPT モデルと同様、特定時点以降の知識がないことを示している
- San Francisco の写真に “Where is this?” と尋ねると、場所を San Francisco と識別し、画像内の Transamerica Pyramid を都市の主要ランドマークとして言及した
- peace lily の写真に植物名と管理方法を尋ねると、植物を peace lily と識別し、管理上の助言を提供した
- 別の分類モデルで植物を識別してから GPT-4 に管理方法を尋ねる 2段階プロセス なしに、自然言語の回答を得られた
OCR と数学 OCR
- 一般的な OCR 評価は、タイヤに書かれたテキストとデジタル文書の段落画像で行われた
- タイヤ画像ではシリアル番号を正確に識別できなかった
- 一部の数字は合っていたが、結果には複数の誤りがあった
- コントラストが低い、または角度が付いた実環境の OCR で限界が露呈した
- Web ページのテキストを含む文書画像では、画像内のテキストを正しく読み取った
- 文書からテキストを抽出する作業には有用な結果を示した
- 数学 OCR テストでは、文書スクリーンショットの数学問題を入力し、“Solve it.” と依頼した
- モデルは三角法で解ける問題であることを識別した
- 使用する関数を選び、段階的な解法を提供した
- 答えも提示した
- OpenAI の GPT-4V システムカードは、モデルが 数学記号を見落とす可能性がある ことを制限事項として記している
- 紙に手書きされた数式や他の形式の方程式テストでは、数学問題への回答能力の欠陥が現れる可能性がある
物体検出と空間理解の限界
- 物体検出はコンピュータビジョン分野の基本タスクであり、評価では画像内の複数オブジェクトの位置識別能力を確認した
- 犬が写っている画像で犬を検出し、
x_min、y_min、x_max、y_max の値を求めたところ、GPT-4V が返した 座標 は実際の犬の位置と合わなかった
- 画像に関する質問応答能力は強力だが、画像内でオブジェクトがどこにあるかを知る必要がある状況では、微調整された 物体検出モデル を置き換えることはできない
CAPTCHA、クロスワード、数独
- CAPTCHA テストは、OpenAI が研究し、システムカードで扱ったタスクを対象に行われた
- GPT-4V は画像に CAPTCHA が含まれていることは識別したが、テスト自体にはたびたび失敗した
- 信号機 CAPTCHA の例では、信号機を含む一部のマスを見落とした
- 横断歩道 CAPTCHA の例では、一部のマスは正しく分類したが、1つのマスを横断歩道として誤分類した
- クロスワードの写真に “Solve it.” と依頼すると、画像をクロスワードと推論し、解こうとした
- 手がかりは正しく読んだように見えたが、盤面構造を誤って解釈し、答えは間違っていた
- 数独テストでもゲーム自体は識別したが、盤面構造を誤解し、不正確な結果を返した
- グリッド構造と空間配置が重要なタスクでは、GPT-4V の 構造解釈の限界 が実際の回答精度に影響する
Python で GPT-4V API を使う
- GPT-4V API はどのプログラミング言語からでも呼び出せ、OpenAI は公式 Python パッケージを提供している
- Python パッケージは次のコマンドでインストールする
pip install openai
- OpenAI Web サイトで API キーを取得し、
OPENAI_API_KEY 環境変数としてエクスポートする
export OPENAI_API_KEY=""
- サンプルコードは、
gpt-4-vision-preview モデルにテキストと画像 URL を一緒に渡し、画像内のテキスト読み取りを依頼する
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4-vision-preview",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "Read the text in this image."},
{
"type": "image_url",
"image_url": {
"url": "https://media.roboflow.com/swift.png",
},
},
],
}
],
max_tokens=300,
)
print(response.choices[0].message.content)
安全性、制限事項、実務での利用
- OpenAI は少数のユーザーに提供されたアルファ版ビジョンモデルを対象に研究を行い、外部専門家がモデルとシステムの制限およびリスクを定性的に評価する レッドチーム も実施した
- GPT-4V システムカードの制限事項は次のとおり
- 画像内のテキストや文字を見落とす可能性がある
- 数学記号を見落とす可能性がある
- 空間的位置や色を認識できない場合がある
- OpenAI はモデルに関する複数のリスクを特定、研究、緩和しようとした
- GPT-4V は画像内の特定の人物を識別しない
- ヘイトシンボルに関連するプロンプトには応答しない
- システムカードには、追加の保護対策が必要な事例も含まれている
- プロンプトが与えられると、GPT-4 があまり知られていない特定のヘイト集団のシンボルについて、その集団を称賛するコンテンツを生成する可能性がある
- GPT-4V は一般的な画像質問とフォローアップ質問に流暢に答えられるが、幻覚 によって不正確な情報を返す可能性がある
- 人物写真で Taylor Swift が誰かを尋ねるリクエストには回答を拒否しており、OpenAI システムカード基準ではこれは想定された動作である
- 画像について質問し推論する用途には有用だが、オブジェクト位置の算出のように正確なコンピュータビジョン出力が必要な作業には、現時点では適していない
1件のコメント
Hacker News の意見
いくつかのエッジケースでの失敗やミスはあるものの、それでも驚異的としか言いようがない
今のような改善ペースが続くなら、これらの AI モデルは携帯電話、タブレット、デスクトップ、車、食器洗い機、家、オフィスなど、ほぼあらゆるものに対するより良いユーザーインターフェースになりそうだ
多くのアプリ、サービス、デバイスのインターフェースやアプリ自体が、望むときに望むことをしてくれる AI に置き換えられる可能性が高そうに見える
怖いと嫌がる人も多いだろうが、避けられそうになく、最終的にはロボットの身体も付いて「コンピューター、私の好きな朝食を作って」みたいな形になると思う
重要なのは、アフォーダンスがまったくなく、速度も遅いという点だ。ユーザー体験は、可能な機能を一目で直感的に理解させ、1回のタップで実行し、その新しい状態を即座に見せるべきだ
AI が輝くのは、既存のインターフェースを学んで使うのを助けるアシスタントとしての役割だ。たとえば「Microsoft Word で Works Cited ページにぶら下げインデントを設定するには?」と Google に聞いていたことを、よりうまくやってくれる可能性がある
たまに行う作業には非常に役立つだろうが、インターフェースを置き換えるというより補助するものになる。反復的な習慣として行う 99% の作業では従来の UI の方がはるかに効率的だし、音声インターフェースを使いにくい、またはマナーに反する環境も多い
自分では何もできない Futurama の瓶詰めの頭のように感じる
「家電」と呼ぶべきものは、地元の修理業者が直せるべきで、そうでなければ単にお金を捨てているようなものだ
LLM ベースのチャットボットは、先進国のリテラシー上位 30% のユーザーには非常に魅力的かもしれないが、普遍的な UI としては良くない
ユーザーが要件を必ずしも言葉で明確に表現しなくても、必要な作業を完了できる経路は引き続き提供しなければならない
だから多くの人が ChatGPT のようなサービスの前に座って「これは何に使えばいいの?」と尋ね、その後二度と使わなくなる
従業員も一種の汎用 UIだが、人間であれコンピューターであれ、代理人より自分の方が自分の望むことをよく分かっている場合は多い。プリンシパル=エージェント問題まで考える以前からそうだ
グラフ分析が印象的だ: https://imgur.com/a/iOYTmt0
UI をフロントエンドに変えることもできそうだ。テキストだけでなく、UI のグラフィック要素や配置も理解しているように見える
https://twitter.com/skirano/status/1706823089487491469
漫画画像をパネルごとに正確に説明することもできる: https://twitter.com/ComicSociety/status/1698694653845848544?...
例はここにも多い: https://www.reddit.com/r/ChatGPT/comments/16sdac1/i_just_got...
基本的には強化されたコンピュータービジョンのように見える。マルチモーダルは比較的低いところにある果実なので、これから始まるのは喜ばしい
GPT-4 がテキストを扱う能力の半分ほどでも音や画像を操作できるならどうなるか、想像してしまう。まだ最初から大規模に学習したマルチモーダルモデルはないので、あり得る相乗効果もあまり知られていない
「この画像はなぜ面白いのか?」テストは https://karpathy.github.io/2012/10/22/state-of-computer-visi... を思い出させる
10年で「最先端でもこれを達成するにはどこから始めればいいのか分からない」から「1トークンあたり 0.0004 ドルです。良い一日を」になった
ところが今、彼の上司がまさにその道を歩んでこれを持ってきたという点が面白い
「構造を誤解した」という表現は小さなミスのように聞こえるが、数独盤はほぼ完全に幻覚だ
似た領域がいくつかあるにはあるが、偶然である可能性が高そうだ。クロスワードも、グリッドなしでヒントだけ与えても似た結果を出したと思う
OCR と基本認識の後に続く他の例も同じように間違っている感じだ。「GPT-4V が信号機のあるマスをいくつか見落とした」のではなく、存在しないマスをクリックしろと言ったのだ
ChatGPT はかなり頻繁に使っているが、少しでも主観的な質問になると回答を過度にためらうので、よくいらいらする
Pulp Fiction への回答でも「しかし個人的に Pulp Fiction を良い映画と見なすかどうかは映画の好みによります」のような文が付く
こういうノイズを避けるために「x が主観的だという前置きや注意書きは省いて」のような文言をクエリに入れると、結果がずっと良くなる
「常に直接答えて。追加説明、免責、専門性の限界、人間とのやり取りに関する指針は入れないで。簡潔にして。聞いていない助言や説明はしないで。すべてのトピックで中立を保って。絶対に謝らないで。」
NVIDIAバーガーのジョークは、うまく説明できていなかったように思う。
あの画像は、NVIDIAが消費者向けGPUに必要なだけのVRAMを載せずに価格差別を行い、完全なデータセンター向けGPUを法外な価格で売りながら、ゲーマーを刺激しないようにしているやり方を揶揄したもの。
GPT-4Vの説明は、その核心にはまったく近づいていなかった。
Facebookの元投稿らしき場所をざっと見ても、ゲーマーたちが価格差別について語っていたり、それに近い解釈をしていたりする例は見当たらない。
VRAMをケチる理由としてはそうかもしれないが、ミームの作者や受け手が注目したり理解したりしている文脈より、はるかに多くの解説を付け加えている。
小さなパンが「GPU and VRAM」で、巨大なフライドチキンが「NVIDIA BURGER」だと言っていたが、実際には小さなパンが「VRAM」、巨大なフライドチキンが「GPU」と読むべき。
アクセス権のある人が、GPT-4Vがこの画像について何と言うのか教えてくれないだろうか?
http://karpathy.github.io/assets/obamafunny.jpg
Andrej Karpathyが2012年に、モデルが解釈するには非常に難しい例として使った画像。11年後にはどうなるのか気になる。
応答1は、廊下や通路のように見える場所での偶然の一瞬であり、左の男性が部屋の中をのぞき込み、隣の男性は体重計の上に立ってメモを取っていて、背景の人物たちは会話中だと説明した。
雰囲気は軽く楽しそうに見え、建築や内装はオフィスや政府施設のような制度的な空間らしいとも言った。
応答2は「申し訳ありませんが、お手伝いできません」だった。
新しいチャットで「この画像はなぜ面白いのか?」と聞くと、公的な人物たちが非公式な瞬間に捉えられている点、身長差、表情、学校や体育館のような背景とスーツ姿の対比を理由に挙げた。
新しいチャットで「中央の人物は足で何をしていて、なぜそうしているのか?」と尋ねると、中央の人物は背の高い人が体重を量っている間に、いたずらっぽく体重計を踏んで数値を一瞬上げようとしているようだと答えた。
全体として、足が体重計の上にあるという事実に自分で気づいたり、それが核心だと結びつけたりはできておらず、その情報を与えられて初めて当てたように見える。それ以前は、画像についての一般論で迷走していた。
コインセットに関する2つの回答の不一致がかなり気になる。
最初の回答だけを見ると通貨を区別できていないように見えるが、2つ目の回答は実際には区別できることを示している。
LLMがこのように一貫した内部モデルを反映しないため、ユーザーがAIの対話相手をどう推論すればよいか判断しにくくなる点が、現在の深刻なユーザビリティ問題だ。
ある細部が重要なら、その部分をそのまま聞けばいい。必ずしも一貫した内部モデルの問題と関係しているようには思えない。
すると本当に多くの場合、自分で正しく訂正したり、どの項目がハルシネーションだったかを認めたりする。見るたびに笑ってしまう。
実際に振り返っているのではなく、一種の言語的な思考の流れをそのまま画面に流しているようなもの。
だから、たった今言ったことをもう一度考えてみてと言うと、その時点で初めて実際に見つめ直して反省するように見える。
GPT-4Vはフライドチキンに「NVIDIA BURGER」と付けたと言っていたが、米国中西部の人なら、それは明らかにテンダーロインだと言うはず。
https://www.seriouseats.com/best-breaded-pork-tenderloin-san...
テキスト版と同じく、なぜか三目並べには相変わらず非常に弱い。
終わったゲームの写真を渡して「誰が勝った?」と聞いたら、「Xが中央列の縦一列で勝った」と言ったが、実際にはOが勝っており、中央列にはXが1つしかなかった。
それでも、それ以外に与えたほぼすべてのものについては非常に印象的だった。
丁寧な指示を与えれば、最適な三目並べを引き出せる。