Janusを試してみた: マルチモーダルAIモデルのローカル環境構築と実行方法
はじめに
近年、テキストと画像を同時に理解し生成できるマルチモーダルモデルが注目されています。この記事では、DeepSeek AI が公開したオープンソースのマルチモーダルモデルである (Janusシリーズ)[https://github.com/deepseek-ai/Janus] を実際に動かしてみましたので、その環境構築と実行手順をまとめます。
Janusシリーズとは?
Janusシリーズは、DeepSeek AIが開発した統合型マルチモーダルモデルです。テキストと画像を組み合わせて高度な理解と生成を可能にし、以下のようなことが実現できます。
- 画像をもとにした質問応答
- テキスト指示からの画像生成
- マルチモーダルなコミュニケーション
主なモデルとして以下があります。
- Janus
- Janus-Pro (より高度な性能を持つ最新モデル)
- JanusFlow (画像生成に特化したモデル)
今回は特に、 Janus をローカルで動かしてみました。
環境構築手順
リポジトリのクローン
まず、Janus のGitHubリポジトリをクローンします。
Python 環境のセットアップ
仮想環境を作成し、必要な依存パッケージをインストールします。
ここで、 pip install -e .[gradio]
はローカルのGradioデモを含めて必要なパッケージをまとめてインストールします。
JanusFlowモデルの実行
セットアップ後、以下のコマンドでローカルのデモアプリを実行します。
python demo/app_janus
正常に起動すると、ターミナルにGradioが立ち上がったことを示すURLが表示されます。ブラウザでそのURLにアクセスすると、Janusのデモインターフェースが確認できます。
実行結果
Multimodal Understanding
入力画像として下記を利用しました。
こちらはディルク・ボウツによる「最後の晩餐」です。
質問には下記を入力しました。
「What is the content of the image」 (訳: 画像の内容を教えてください)
出力は下記の通りでした。
「The image depicts a painting of a group of people gathered around a table, seemingly engaged in a discussion or a meal. The setting appears to be a room with arched windows and a tiled floor.」 (訳: この絵は、テーブルを囲んで議論や食事をしているように見える人々を描いている。舞台はアーチ型の窓とタイル張りの床のある部屋のようだ。)
出力された内容に矛盾はないようです。。。!
Text-to-Image Generation
続けて文章から画像を作ってみます。
Prompt には先ほど得られた出力である「The image depicts a painting of a group of people gathered around a table, seemingly engaged in a discussion or a meal. The setting appears to be a room with arched windows and a tiled floor.」を利用します。
得られた画像は下記のとおりです。
画質が悪いので一見それっぽく見えますが、細部がガタガタ、、、そんな感じの結果となています。
まとめ
Janusシリーズは非常に簡単にローカルで動作させることができ、マルチモーダルAIモデルの先端的な機能を手軽に試すことができます。
「Multimodal Understanding」では画像の内容を読み取れていそうですが、「Text-to-Image Generation」の結果を見ると画像生成はまだまだなのかもしれません。ローカル環境で手軽に動かせますが、Janusでは画像生成は難しそうでした。
Discussion