サイトのデザインが新しくなりました。

【LLaVA 1.5】オープンソース版GPT4-Vの使い方~比較レビューまで

LLaVA-1.5 ChatGPT 使い方

皆さんは、LLaVA-1.5という大規模マルチモーダルモデル(LMM)をご存じですか?

このLLMは、既存のLLMをベースに、画像入力を理解する能力を持たせて、より強力にしたLMMなんです。

公開されたGithubのスター数は5,000を超えているところを見ると、かなりの注目度の高さが伺えますね!

今回は、LLaVA-1.5の概要や使い方、実際に使ってみた感想をお伝えします。

ぜひ最後までご覧ください!

なお弊社では、生成AIツール開発についての無料相談を承っています。こちらからお気軽にご相談ください。
→無料相談で話を聞いてみる

目次

LLaVA-1.5の概要

LLaVAは、GPT-4レベルの能力を持つ大規模な言語とビジョンモデルを構築するために開発が進められている大規模マルチモーダルモデル(LMM)です。

最新モデルのLLaVA-1.5では、Llama2をベースにしており、画像エンコーダのCLIP ViT-L/14を組み合わせて画像入力の理解能力を付与し、それに基づいて適切な文章を生成できます。

このようにLlama2をベースにすることで、より強力な言語能力とより長いコンテキストウィンドウを獲得し、より幅広い範囲で活用できるようになっています。

ここからは、公開されている情報をもとに、最新版のLLaVA-1.5の性能について見ていきましょう。

LLaVA-1.5の性能

まずは、他の画像言語モデルとのベンチマークスコアの比較結果を表したグラフをご覧ください。

参照:https://arxiv.org/pdf/2310.03744

これを見ると、LLaVA-1.5(赤)はどのベンチマークでも一貫して高いスコアを出しており、他のモデルと比較しても高い性能を有していることが分かります。

次に、トリッキーな質問に対する返答の比較をした結果です。

参照:https://arxiv.org/pdf/2310.03744

ここでは、GPT-4VとLLaVAとLLaVA-1.5が比較されており、ユーザーが画像とともに以下のプロンプトを入力しています。

If there are factual errors in the questions, point it out;
if not, proceed answering the question. What’s happening in the desert?


和訳:
質問に事実誤認があれば指摘して;
そうでなければ、質問に答えなさい。砂漠で何が起きていますか?

GPT-4Vは、「どの砂漠を指しているのか文脈から分からないので、質問には答えられません」と回答しており、事実誤認を指摘してはいないので、意図した回答ではない気がします。

LLaVAは、この画像の詳細と、砂漠の中にビーチがあると答えており、全く意図しない誤った回答をしています。
LLaVA-1.5は、「画像内に砂漠はない」と前置きしたうえで、画像の詳細を回答しており、一番ユーザーが意図していたものに近い回答になっています。

GPT-4Vより正確に質問を捉えて、答えられているのですごいですよね!

この結果から、LLaVA-1.5はトリッキーな質問にも柔軟に対応して答えることができることが分かります。

ここまでは、公開されている情報をもとに性能を紹介してきましたが、ここからは実際に使ってみて、その性能を確かめていこうと思います!

まずは導入方法から説明します。

なお、LLaVAと同じLMMである、NExT-GPTについて詳しく知りたい方は、下記の記事を合わせてご確認ください。
【NExT-GPT】テキスト、画像、ビデオ、音声、全部対応できるLLM(大規模言語モデル)が登場

LLaVA-1.5のライセンス

LLaVA-1.5はApache-2.0でライセンスされているため、商用利用や配布などが許可されています。

利用用途可否
商用利用
改変
配布
特許使用
私的利用
参照:https://github.com/haotian-liu/LLaVA?tab=Apache-2.0-1-ov-file#readme

LLaVA-1.5の導入方法

ここではGoogle Colabでの導入方法を解説します。
ローカルにインストールする際も同じ手順で導入可能なので参考にしてください。

LLaVA-1.5を動かすために必要なスペック

今回はGoogle ColabにてLLaVA-1.5の動作を確認しました。

■Python:Python 3.10
■GPU:T4

Google Colab無料プランで利用できるT4でも動作しましたが、よりスムーズに使うためには有料プランのV100をおすすめします。

LLaVA-1.5の使い方

まず、LLaVA-1.5の使い方を説明します。

以下のコードを実行してGithubのリポジトリをクローンし、LLaVAのフォルダに移動してください。

!git clone https://github.com/haotian-liu/LLaVA.git
%cd LLaVA

次に、必要なパッケージのインストールを行います。

!pip install -e .

最後に、トレーニングケース用追加パッケージのインストールを行います。

!pip install ninja
!pip install flash-attn --no-build-isolation

これでLLaVAに必要なパッケージのインストールが完了したので、CLIを使って動かします。

以下のコードを入力してください。

!python -m llava.serve.cli \
    --model-path liuhaotian/LLaVA-Lightning-MPT-7B-preview \
    --image-file "https://llava-vl.github.io/static/images/view.jpg" \
    --load-4bit

これを実行すると、モデルとチェックポイントのダウンロードが自動で行われます。

「user:」のあとにプロンプトが入力できるようになるので、任意のものを入力すると、image-fileで入力した画像の説明が出力されます。

これで導入は完了ですが、公式からweb上で動くものが提供されているので、独自にチューニングしたりする予定のない方は、そちらを使った方が簡単に試すことができます。

以下のリンクからアクセスできますので、気になった方はアクセスして試してみてください。
LLaVA: Large Language and Vision Assistant

今回は、こちらのサイトで実際に使ってみようと思います。

LLaVA-1.5を実際に使ってみた

前述したリンクにアクセスすると、以下のような画面になります。

非常に分かりやすいUIでいいですね!

Examplesがあったので、試しに選択してみました。

画像とテキストの両方の入力を正確に理解して回答しているのが分かりますね!

LLaVA-1.5が使用できることが分かったので、ここからはGPT-4Vと比較してどの程度の出力をしてくれるのか実際に使って検証していきます。

なお、今回比較対象にする、GPT-4Vについて詳しく知りたい方は、下記の記事を合わせてご確認ください。
【GPT-4V】ChatGPTがマルチモーダル対応!何がすごいかを徹底解説

LLaVA-1.5の押しポイントである正確な理解と出力は本当なのか?

まずは、筆者がNExT-GPTというLMMで生成した以下の画像を入力し、「この画像について説明してください」と指示してみた結果です。

GPT-4V

この画像は、道路の上に立っているロボットのようなキャラクターを示しています。
このキャラクターは大きな目と笑顔を持ち、頭部はヘルメットのようなデザインです。
ロボットの胴体は赤い箱の形をしており、顔のようなデザインが描かれています。
背景には道路と、道の脇に並ぶ黄色い物体が見えます。
全体的に明るく楽しい雰囲気の画像です。

自然な日本語で、正確で詳細な画像の説明が出力され、特に間違った情報は見当たりません。さすがGPT-4Vですね!

LLaVA-1.5

The image features a robot holding a square with a smiley face on it.
The robot is standing on a sidewalk, and the square appears to be a sign or a symbol. 
The robot is positioned in the center of the scene, with the square held in front of it.

In the background, there are several potted plants placed at various locations, adding a touch of greenery to the scene. 
The potted plants are of different sizes and are scattered around the area, creating a pleasant atmosphere.

日本語には対応していないかと思いましたが、どうやら入力には対応しているようです。日本語で指示を出したところ、ちゃんとした出力をしてくれました。

内容はほとんど正確ですが、背景の説明が少し微妙で、GPT-4Vの方がより正確に説明していると感じました。

次は、人間でも説明するのが難しいような以下の複雑な画像を入力し、「この画像について説明してください」と指示してみます。

GPT-4V

この画像は、抽象的で未来的なデザインのビジュアルを示しています。
黒い背景の上に、グレーの幾何学的な構造が複雑に絡み合っており、中心には白い輝く球体が配置されています。
構造の一部やその周辺には、ピンク色の光線やハイライトが点在していて、動きやエネルギーを感じさせるデザインになっています。
このビジュアルは、デジタルな空間やサイバースペース、バーチャルリアルティを連想させるようなデザインとなっています。

とても具体的で、正確に画像を理解して説明してくれています。ピンクの光線のようなものまで把握できており、動きやエネルギーを感じるとまで言っており、本当に人間のような回答です。

LLaVA-1.5

この画像は、破損したガラスのような構造を持つ、抽象的な構成の作品です。
中心には、明るい光が透過しており、その周りには、様々な形状と色の破片が散らばっています。
これらの破片は、破損したガラスのように見えるため、視覚的には破損したガラスのように感じられます。

この作品は、破損したガラスのような構造を持つことで、視覚的な衝撃を与えることを目的としています。
また、様々な形状と色の破片が散らばっていることで、視覚的な複雑さを表現しています

驚くことに、こちらは自然な日本語で出力されています。先ほどはなぜ日本語出力がなかったのか、その理由は不明です。

写真に映っている物体は、破損したガラスのような形状をもつ抽象的な構成の一部として説明されています。それは見え方によってはそう見えますから、誤った説明ではないと言えます。

部分的には、同じことを二重に説明している箇所もあり、GPT-4Vほど詳細で正確な説明はできていません。

とはいえ比較結果としては、GPT-4Vには多少劣る結果となりましたが、十分正確な説明をしてくれています。

モデルサイズなどが全然違うのに、LLaVA-1.5がこれほどの好勝負をみせるとは驚きました。
今後さらに開発が進み、GPT-4Vを超える性能を持つ日もそう遠くないかもしれません!

LLaVAのこれからに期待!

LLaVAは、LMMという大規模言語とビジョンモデルを構築するための開発が進められているプロジェクトで、GPT-4レベルの能力を秘めています。最新モデルのLLaVA-1.5は、Llama2をベースに視覚エンコーダを組み合わせて作られ、画像の理解力が集約されています。これにより、画像に基づく適切なレスポンスや行動を生成することができます。

LLaVA-1.5はweb上で簡単に実行することができるほか、ローカルにインストールして自分好みにチューニングすることもできます。

GPT-4Vとの比較では、正確性でわずかに劣るものの、十分正確な説明をしてくれて、モデルサイズの違いを考えれば、ここまでGPT-4Vと張り合えるのはすごいことだと思います。

現在もLLaVAはまだ研究段階であり、これからより高度なモデルが公開されるそうなので、その進化に期待しましょう!

最後に

いかがだったでしょうか?

弊社では

・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
ハルシネーション対策AIツールの開発
自社専用のAIチャットボットの開発

などの開発実績がございます。

まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。

➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。

生成AIを社内で活用していきたい方へ

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。

セミナー内容や料金については、ご相談ください。

また、弊社紹介資料もご用意しておりますので、併せてご確認ください。

投稿者

  • Hiromi Sai

    ChatGPTメディア運営 / テクニカルライター リベラルアーツ専攻。大学休学中は、Webマーケティング会社のマネージャーとしてライター、ディレクター100名のマネジメントをする。南米のチリとタイでの長期居住歴を持つ。

  • URLをコピーしました!
  • URLをコピーしました!
目次