【やってみた】Japanese InstructBLIP Alpha、Stability AIの日本語画像言語モデル

画像生成AIツール「Stable Diffusion」で有名なStability AIが新たに「Japanese InstructBLIP Alpha」を発表しました。
入力した画像を理解し言語化するモデルということで、今後注目が集まることでしょう。
そこで今回は、Stability AIのJapanese InstructBLIP Alphaの概要や導入方法、そして実際に触ってみた感想を紹介します。
Japanese InstructBLIP Alphaの概要
Japanese InstructBLIP Alphaは、Stability AIが公開した日本語向けの画像言語モデルです。
公式ホームページ

HuggingFace

画像を入力すると、画像内の情報を理解してテキストを出力することができます。
例えば、以下のようなことができます。

画面左にある画像をAIが読み込んで、
「富士山を見ながらベンチに座っている2人」
というテキストが出力されます。
これはすごいですね!!
ちなみに、商用利用はできず研究目的に限り、利用可能だそうです。
すでにHugging Faceでコードやデモが公開されています。実際に使いたい方も多くいるでしょう!
そこで、Japanese InstructBLIPの導入方法を解説します。
なお、その他の日本語LLMについて知りたい方はこちらをご覧ください。
→【やってみた】Japanese Stable LM Alpha、Stability AIの日本語言語モデルを実践解説
Japanese InstructBLIP Alphaの導入方法
今回は、Hugging Faceのデモを実行します。
利用方法は、かなり簡単で、こちらのページをクリックするだけ。

以下のような画面が表示されます。
赤枠の部分に画像をアップロードし、プロンプトを入れてみてください。

次に、実際に試してみた様子を紹介します!
Japanese InstructBLIP Alphaを実際に試してみた
Japanese InstructBLIPは、主に2つの機能があります。
「キャプション生成」と「プロンプトへの反応」です。
1つずつ試してみます!
キャプション生成
Hugging Faceのページ下部にあるサンプルを使って、キャプションを生成させてみます。

上の写真をクリックして、Submitを押すと……

画像の内容を理解して、「桜と東京スカイツリー」と出力されています!

プロンプトへの反応
次は、プロンプトにどのように反応するかをみていきます。
別のサンプルを使ってやってみましょう。
画像を挿入して、「道路に書かれた制限速度は?」と質問してみます。

画像から、制限速度を理解して、「30km/h」と出力してます!

すごいですねぇ!
楽しいのでもう少しやります!
推しがじゃんけんをしていたシーンを入力しました!

「じゃんけんの手は?」と聞くと「チョキ」と出力!
以上のように画像の理解と、言語の生成ができるモデルというのがわかりました!
皆さんも試してみてください!
ちなみに、以下のPythonプログラムを動かす方法も試してみましたが動かせず。
from transformers import InstructBlipProcessor, InstructBlipForConditionalGeneration
import torch
from PIL import Image
import requests
model = InstructBlipForConditionalGeneration.from_pretrained("Salesforce/instructblip-vicuna-7b")
processor = InstructBlipProcessor.from_pretrained("Salesforce/instructblip-vicuna-7b")
device = "cuda" if torch.cuda.is_available() else "cpu"
model.to(device)
url = "https://raw.githubusercontent.com/salesforce/LAVIS/main/docs/_static/Confusing-Pictures.jpg"
image = Image.open(requests.get(url, stream=True).raw).convert("RGB")
prompt = "What is unusual about this image?"
inputs = processor(images=image, text=prompt, return_tensors="pt").to(device)
outputs = model.generate(
**inputs,
do_sample=False,
num_beams=5,
max_length=256,
min_length=1,
top_p=0.9,
repetition_penalty=1.5,
length_penalty=1.0,
temperature=1,
)
generated_text = processor.batch_decode(outputs, skip_special_tokens=True)[0].strip()
print(generated_text)
筆者は、Google Colab のPro+を使っているのですが、メモリ不足になってしまいました。
別環境で実行しうまくいったら載せますので、記事更新をお待ち下さいっ!

生成系AIの業務活用なら!
・生成系AIを活用したPoC開発
・生成系AIのコンサルティング
・システム間API連携
最後に
いかがだったでしょうか?
弊社では
・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
・ハルシネーション対策AIツールの開発
・自社専用のAIチャットボットの開発
などの開発実績がございます。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、サービス紹介資料もご用意しておりますので、併せてご確認ください。