Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【Pycon mini 東海 2024】Google Colaboratoryで試すVLM

【Pycon mini 東海 2024】Google Colaboratoryで試すVLM

動画やパワポアニメーションがあるため、YouTubeでの視聴をお勧めします。

YouTube   :https://youtu.be/VfKx6M0pG_s
関連リポジトリ:https://github.com/Kazuhito00/Pycon-mini-Tokai-2024-VLM-Colaboratory-Sample

高橋かずひと

November 16, 2024
Tweet

More Decks by 高橋かずひと

Other Decks in Technology

Transcript

  1. AGENDA Who am I ? 【済】自己紹介 Prerequisites 前提、実行環境や 取り扱うモデルについて What

    is VLM? VLMとは? Introducing some VLM models いくつかのVLMモデルの 紹介と動作例 Summary まとめ 01 02 04 05 03
  2. Prerequisites 前提、実行環境や取り扱うモデルについて トーク対象者:初級者~ 実行環境 :Google Colaboratory ランタイム :CPU or T4

    GPU 注意点 :この分野も日進月歩なので…… ・サンプルは基本的(と思ってる)な構文のみを使用 ・上から順に実行すれば動かせるノートブックを公開 ・VLMの詳しい動作原理などは説明対象外 ・VLMを試してみたいけど、あまりお金かけずにとりあえず触ってみたい方 https://github.com/Kazuhito00/Pycon-mini-Tokai-2024-VLM-Colaboratory-Sample
  3. Prerequisites 前提、実行環境や取り扱うモデルについて トーク対象者:初級者~ 実行環境 :Google Colaboratory ランタイム :CPU or T4

    GPU 注意点 :この分野も日進月歩なので…… ・Googleが提供するクラウドベースのJupyter Notebook環境 ※要Googleアカウント ・無料でも、ある程度のGPU実行が可能
  4. Prerequisites 前提、実行環境や取り扱うモデルについて トーク対象者:初級者~ 実行環境 :Google Colaboratory ランタイム :CPU or T4

    GPU 注意点 :この分野も日進月歩なので…… ・無償(Pay As You Go)プランで使用できるランタイム ※もしサンプルがミスってて、無償プランで動作しなかったらコッソリ教えてください ・上記ランタイムで動作可能なVLMをご紹介
  5. Prerequisites 前提、実行環境や取り扱うモデルについて トーク対象者:初級者~ 実行環境 :Google Colaboratory ランタイム :CPU or T4

    GPU 注意点(言い訳など) :この分野も日進月歩なので…… ・Colaboratoryで動作するモデルを網羅した資料ではないです ・昨日動いていたものが色々な理由で動かなくなってるかも ※もし動かなかったらコッソリ教えてください…… ・「もっと良いモデルあるよ!」知っている方は皆に教えてください
  6. What is VLM? VLMとは? VLM(Vision Language Model)は、 ・テキスト情報(言語) ・視覚情報(画像や映像) を複合的に処理できるモデル

    もの凄くざっくり言うと LLM(Large Language Model)に 画像を入力できるようにしたり、 出力できるようにしたもの
  7. What is VLM? VLMとは? VLMをイメージした 画像を生成して VLMの概念がカバーする範囲は幅広く… ・テキスト → 画像(画像生成)

    ※今回は扱いません 追記(口頭補足等):資料作成時に失念していました。画像生成も広義の意味でのVLMですが、 本トークでは、意向に説明するキャプションやVQAをメインに取り扱います。
  8. What is VLM? VLMとは? 画像では、筋肉が非常に発達した男性 が登場しており、特に腹筋が際立って います。彼のポージングと豪華な椅子、 王冠とマントの組み合わせが、力強さ と威厳を同時に演出しています。しか し、その一方で手に持っているシェイ

    カーや背景のアートが全体に少しユー モラスな雰囲気を加えており、シリア スさと軽妙さが絶妙に融合したシーン になっています。 画像:マッチョのフリー写真素材(マッスルプラス)傲慢な王様マッチョ https://freephotomuscle.com/archives/photo/6527 VLMの概念がカバーする範囲は幅広く… ・テキスト → 画像(画像生成) ※今回は扱いません ・画像キャプション生成
  9. What is VLM? VLMとは? 画像のナースが持ってい るボードには「手術室」 と書かれています。 そのため、彼女は手術室 へ向かいたいと考えてい るようです。

    ナースの行きたい場所は? 画像:看護師のフリー写真素材(スキマナース)ヒッチハイクする看護師 https://nurse-web.jp/photo/archives/338 VLMの概念がカバーする範囲は幅広く… ・テキスト → 画像(画像生成) ※今回は扱いません ・画像キャプション生成 ・視覚質問応答(VQA) ・etc
  10. 軽量で高速なVLM (MobileVLM-V2) ・モバイルデバイス向けVLM ・非常に高速に動作 ・モデルによってはT4 GPU でも1秒未満の処理速度 1.7B(v2):約0.7s 3B(v2) :約1s

    7B(v2) :約17s ※プロンプトや画像サイズ、出力文字数によって変わるため、ご参考程度に 参考:https://github.com/Meituan-AutoML/MobileVLM
  11. 動画の認識も可能なVLM (MiniCPM-V2.6) ・単一画像、複数画像、ビデオ などの画像理解が可能 ・単一画像理解では GPT-4o mini Gemini 1.5 Pro、Claude

    3.5 Sonnet よりも優れる(自称) ・iPad などのエンドサイドデバイス 上での動作も想定 参考:https://github.com/OpenBMB/MiniCPM-V
  12. 動画の認識も可能なVLM (MiniCPM-V2.6) ・単一画像、複数画像、ビデオ などの画像理解が可能 ・単一画像理解では GPT-4o mini Gemini 1.5 Pro、Claude

    3.5 Sonnet よりも優れる(自称) ・iPad などのエンドサイドデバイス 上での動作も想定 参考:https://github.com/OpenBMB/MiniCPM-V 画像:ぱくたそ テレビゲームで遊ぶ子どもたち https://www.pakutaso.com/20190310081post-20065.html 追記(口頭補足等):コントローラが上下逆なのは、わざとそのような画像を選んでいます 「もしかしたら、上下逆なことまで解説できるかも?」と思いましたが、そこまでの精度は 出ませんでした。後述しますが「細かいディティールの認識が苦手」かもしれません。
  13. ・様々な解像度と比率の画像理解 ・ビデオ理解 ・携帯電話やロボットでの動作も想定 ・多言語サポート - 英語 - 中国語 - ヨーロッパ系の言語

    - 日本語 - 韓国語 - アラビア語 - ベトナム語 など 参考:https://github.com/QwenLM/Qwen2-VL 日本語も使用可能なVLM (Qwen2-VL) 画像:ぱくたそ 成子天神下交差点前 https://www.pakutaso.com/20240848233post-52002.html
  14. マルチタスクを扱えるVLM (Florence-2) ・様々な視覚タスクを同一モデルで 実行 - キャプション - 物体検出 - セグメンテーション

    - OCR など(以降のページではいくつか抜粋して紹介) ・タスクによって処理速度は異なるが T4 GPUで動作可能 ・プロンプトは特定のフォーマット のため、汎用性が少し低い 参考:https://github.com/QwenLM/Qwen2-VL
  15. Tips 位置苦手問題については、Visual promptingなどの改善案も研究 されている ▪画像に対して、セマンティックセグメンテーションを行い 番号を割り当てて描画したものを入力画像にする Set-of-Mark Prompting Unleashes Extraordinary

    Visual Grounding in GPT-4V ▪画像に対して、等間隔のグリッドとグリッド座標を 描画したものを入力画像にする Scaffolding Coordinates to Promote Vision-Language Coordination in Large Multi-Modal Models ▪注視して欲しい箇所がある場合、その箇所を丸や四角で 囲んだり、矢印を描画したものを入力画像にする 追記(口頭補足等):ちなみに上記を試してもマリオを救うことは出来ませんでした
  16. 追記:当日のQ&A Q.そのスライドは何で作ったのですか? A.パワーポイントです。 Q.Colabの無償プランで動くとのことですが、ローカルのPCでも動きますか? A.今回使用しているのはT4 GPUのため、ある程度のGPUを積んだマシンであれば動くと思います。 T4 GPUのGPU RAMが16GBのため、それくらいが目安のライン? ※今回公開しているノートブックは、Colaboratoryにプリインストールされているパッケージを前提にしているため、

    ノートブックはそのまま動かすことは出来ず、追加の環境構築が必要です Q.マリオの一番の死因は? A.統計を取ったわけじゃないので個人的な印象ですが、VLMの苦手内容で説明した原因が多いと思います。 相対的な位置関係が上手く把握できていないことによるクリボーへの接触や、落とし穴への落下など。 ステージの構成的にクリボーへの接触が一番かも? Q.どうやって技術を追いかけていますか? A.自分はXなどのSNSで有名な人が紹介しているものを片っ端から試している感じ。 (うまく動かなかったりしたものは即諦めて次へ) 一番イイね付いているの試すのも良いかも? 高橋が味見した後の結果でも良ければ、高橋が試した感想(良かったかも、イマイチだったかも)添えて載せてるXの投稿とか、 その試した結果は基本的にはGitHubに公開しているので、そちらを見ていただくのも良いかも。 → https://github.com/Kazuhito00/Kazuhito00/blob/master/WORKS.md#VLM Q.色々調べた結果をどこかに使うと思うのですが、調べる動機と利用先を教えてもらえますか? A.動機は趣味? 動かして凄い性能だと単純に楽しい。 本業は監視カメラとかを利用しているので、うまくハマリそうな調査結果があれば、そちらへフィードバックすることも。