本日は、DeepSeek社のJanusシリーズの最新版である、強力なオープンソースのマルチモーダルモデル、Janus-Proをご紹介します。Janus-Proは、絵を読んで質問に答えるだけでなく、テキストの説明に基づいて絵を生成することもできます。つまり、GPT-4Vのような絵を見る機能と、Stable Diffusionのような絵を描く機能が統合されているのです。
この記事では、Janusの長所と短所、使い方、デプロイメント関連、統合パッケージについて紹介する。
ヤヌスとは何か?
DeepSeekオープンソースマルチモーダルラージモデルは、簡単に言うと、写真の内容を理解し、画像を生成することができるモデルです。現在、Janus、JanusFlow、Janus-Proの3つのバージョンがあります。
続きを読むディープシーク、統合マルチモーダル理解と生成モデルをリリース:JanusFlowからJanus-Proへ
ヤヌス・テスト
カラー認識
ここでは、異なる色のヘルメットの写真をアップロードし、ヤヌスの解釈に委ねた。
ヤヌスの返事
写真は赤、白、黄、青の4つのヘルメット。それぞれのヘルメットには、換気と放熱のための通気口がついている。これらのヘルメットは通常、建設現場や工場など、安全装備が必要な作業環境で使用される。画像の背景は白で、安全ヘルメットの色をより鮮明に見せている。
ヤヌスはヘルメットの色と数を正確に見分けることができる。
オブジェクト認識
ここで私はCNCマシンの写真を見つけ、ヤヌスに投げつけて理解できるかどうか確かめた。
ヤヌスの返事
これは工業用機械、特に数値制御工作機械(CNCマシン)である。機械の前面には操作パネルがあり、機械の操作や監視を行うためのいくつかのボタンやディスプレイがある。機械の左側には、ワークや材料を保持するための調節可能なトレイがある。機械の上部には、作業エリアを涼しく保つための冷却ファンがある。機械の側面と前面には、機械の状態や操作情報を表示するためのディスプレイやインジケータが多数ある。機械の前面と側面には「VNT-600L」のロゴがあり、これがVNTブランドの600Lモデルであることを示している。全体的にモダンで機能的なデザインで、精密加工や製造に適している。
ここにはいくつかの問題があり、JanusがこのCNCマシンを、マシン全体の一般的な構造を含めて認識できることは正しい。しかし、"VNT-600L "のロゴが誤って認識されています。
テキスト認識
ヤヌスが数式も認識していることがわかるだろう。
ヤヌスの返事
この式は、集合(S)における数(n)の位置を記述する関数(A_n)の定義である。具体的には、この式は、集合(S)における数(n)の位置に依存する関数(A_n)の値を定義している。
具体的には、以下のように定義される:
[A_n = a_0 左[ 1 + frac{3}{4} sum_{k=1}^{n} frac{4}{9} 右]^{k}.
]
この式は次のように解釈できる:
- 関数(a_0)は、関数(A_n)の初期値を定義する定数である。
- 関数(A_n)の値は、集合(S)における(n)の位置に依存する。
- (S)における(n)の位置は、集合(S)における(n)の位置に依存する数値(k)で表される。
この式は、集合(S)における(A_n)の値を計算するのに使うことができ、(S)は(n)を含む集合である。
次の図のように、テキストの認識が理想的でない場合もある。
ヴァンセンヌ図
ヤヌスのもうひとつの大きな魅力はテキスト生成グラフィックだが、実際に使ってみると、素晴らしいとは感じない。高速ではないし、多くのビデオメモリを必要とする。
でも何もないよりは何かがあったほうがいい 👍🏻
ヤヌス・シリーズの各バージョンの違い
- ビジュアル・デカップリング」のコンセプトを初めて導入した第一世代バージョンのヤヌス。モデルサイズ:1.3Bパラメータ。
- 第2世代となるJanusFlowは、前世代よりも画像生成方法を改善し、画像生成のスピードと品質を向上させた。
- 最新版のJanus-Proは完全にアップグレードされ、モデルの理解度が大幅に向上しています。モデルサイズ:1Bと7Bの2つのバージョンがあります。
3つのバージョンは、同じ製品の絶え間ないアップグレードのようなもので、各世代で大幅な改良が加えられており、ヤヌス・プロは圧倒的にパワフルなバージョンである。
ローカル展開
Pythonバージョン3.10
git clone https://github.com/deepseek-ai/Janus.git
pip install -e .
python demo/app_januspro.py
モデルを修正する
ヤヌス・プロには1Bと7Bの2つのバージョンがあり、モデルによって必要なビデオメモリが異なる。
私が提供した統合パックのMACバージョンでは、デフォルトで1Bモデルが使用されている。
十分なメモリーがあり、7Bモデルを使いたい場合は、以下のように設定してください。demo/app_januspro.py
スクリプトロードモデル
メソッドの
model_path = "deepseek-ai/Janus-Pro-1B"
に変更する。
model_path = "deepseek-ai/Janus-Pro-7B"
もちろん、ウィンドウズユーザーには1Bと7Bのブートオプションがあるので心配はいらない。
実行中の設定
勝利
Windows NVIDIAグラフィックス1Bには8Gのビデオメモリが必要です。
統合パッケージの実行にはCUDAサポートが必要です。cuda12.4が必要です。
https://developer.nvidia.com/cuda-12-4-0-download-archive
MAC
MACは、ほとんどのユーザーの構成を考慮し、私はモデルの1Bバージョンを置くだけで、7Bが必要な場合は、モデルを変更するには、上記の展開セクションの手順を参照することができます。
MAC版では、メモリの冗長性を避けるために、メモリを解放するのに間に合うようにメモリの最適化を行った。MAC Apple Silicon M1/M2/M3/M4チップ 16Gメモリ。
最後に書く
ここを参照してください、そこに小さなパートナーは、このプロジェクトのアプリケーションは、比較的限られたシーンであることを感じるかもしれません。しかし、私の理解によると、そこにヤヌスの強力なグラフィック理解能力、工学図面、技術文書、インテリジェントな知識ベースに他のPDF情報を使用するパートナーがされている。
これが彼が送ってくれたスクリーンショットだ:
さらに良いことに、WeChat BOTに関する私の前回の投稿を読んでいただければ、Janusをプラグインしてボットに写真を見たり生成したりする機能を持たせることも完全に可能だ!