2024-07-22WEELメディア事業部LLMリサーチャーの中田です。画像とテキストを入力するだけで簡単に、AIに画像認識をさせることができるマルチモーダルモデル「imp-v1-3b」が公開されました。このマルチモーダルモデルAIは小規模でありながら、高性能なんです、、、!Xでのいいね数は、すでに650を超えており、かなり注目されています。この記事ではimp-v1-3bの使い方や、有効性の検証まで行います。本記事を熟読することで、imp-v1-3bの凄さを実感し、GPT-4Vよりもimp-v1-3bを使いたくなるかもしれません。最後までご覧ください。目次imp-v1-3bの概要imp-v1-3bは、テキストと画像の情報を一緒に扱える、小型のマルチモーダルモデルです。このモデルを用いることで、以下のように、「入力画像に対してチャット形式での質問」ができるのです。参考:https://huggingface.co/MILVLG/imp-v1-3bまた、imp-v1-3bの主な特徴として、「わずか3Bのパラメータでありながら、強力な性能を持つ」という点。Phi-2(2.7B)と、強力な画像エンコーダSigLIP(0.4B)をベースに構築され、LLaVA-v1.5学習セットで学習されています。下表に示すように、imp-v1-3bは性能面で、「類似のモデルサイズを持つ同等モデル」を大幅に上回っています。参考:https://huggingface.co/MILVLG/imp-v1-3bなお、Microsoftの最強小型テキスト生成モデルについて詳しく知りたい方は、下記の記事を合わせてご確認ください。今回は、公式のHuggingFaceのモデルカードにあるコードを実行していきます。以下のコードを実行して、ライブラリをインストールしましょう。einops次に、モデルやトークナイザーのロード。trust_remote_code=True)次に、カレントディレクトリに、入力したい画像を置いてください。以下のコードを実行して、プロンプトと入力画像の準備をしましょう。Image.open("image.jpg")そして、以下のコードを実行して、推論を実行。skip_special_tokens=True).strip())これで、チャットの返信がimp-v1-3bから返ってくるはずです。Chat」という公式のデモページでは、ブラウザ上で簡単にimp-v1-3bとのチャットが可能です。公式のドキュメントには、必要なメモリ容量等に関する情報は、記載されていませんでした。少なくとも10GBのストレージを、確保しておけば十分でしょう。最低でも10GBのVRAM、16GB以上のRAMを持つGPUも必要だと思われます。GPT-4Vに匹敵する性能を持つマルチモーダルモデルについて詳しく知りたい方は、下記の記事を合わせてご確認ください。ASSISTANT:」(好奇心旺盛なユーザーと人工知能アシスタントとのチャット。アシスタントはユーザーの質問に親切、詳しく、丁寧に答えてくれる。ユーザー:「画像に写っている人物を教えてください。」アシスタント:)というテキストプロンプトと、image.jpgファイルを入力しました。この時、image.jpgを以下の画像にした場合の、imp-v1-3bのふるまいを見ていきましょう。参考:https://www.irasutoya.com/2019/12/blog-post_14.html結果は以下の通りです。room.日本語訳:画像の人物は若い男性(おそらく少年)で、ドアの前に立っている。手には茶色の箱を持っており、部屋の中に入ろうと腰をかがめているように見える。出力された文章を見ると、「若い男性」という人物の特徴や、その男性の行動を細かくとらえられていると思います。「部屋の中に入ろうと腰をかがめているように見える」という記述に関しては、少しズレている気がします。いうのも、この男性の行動を正しく認識するなら「足でドアを開けている」というような記述が適切かもしれません。ちなみに、「この男は何をしていますか?」と日本語で質問したところ、「この男は何を財いません。