5.4 KiB
BLIP-2
Overview
BLIP-2 モデルは、BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models で提案されました。 Junnan Li, Dongxu Li, Silvio Savarese, Steven Hoi.・サバレーゼ、スティーブン・ホイ。 BLIP-2 は、軽量の 12 層 Transformer をトレーニングすることで、フリーズされた事前トレーニング済み画像エンコーダーと大規模言語モデル (LLM) を活用します。 それらの間にエンコーダーを配置し、さまざまな視覚言語タスクで最先端のパフォーマンスを実現します。最も注目すべき点は、BLIP-2 が 800 億パラメータ モデルである Flamingo を 8.7% 改善していることです。 ゼロショット VQAv2 ではトレーニング可能なパラメーターが 54 分の 1 に減少します。
論文の要約は次のとおりです。
大規模モデルのエンドツーエンドのトレーニングにより、視覚と言語の事前トレーニングのコストはますます法外なものになってきています。この論文では、市販の凍結済み事前トレーニング画像エンコーダと凍結された大規模言語モデルから視覚言語の事前トレーニングをブートストラップする、汎用的で効率的な事前トレーニング戦略である BLIP-2 を提案します。 BLIP-2 は、2 段階で事前トレーニングされた軽量の Querying Transformer でモダリティのギャップを橋渡しします。最初のステージでは、フリーズされた画像エンコーダーから学習する視覚言語表現をブートストラップします。第 2 段階では、凍結された言語モデルから視覚から言語への生成学習をブートストラップします。 BLIP-2 は、既存の方法よりもトレーニング可能なパラメーターが大幅に少ないにもかかわらず、さまざまな視覚言語タスクで最先端のパフォーマンスを実現します。たとえば、私たちのモデルは、トレーニング可能なパラメーターが 54 分の 1 少ないゼロショット VQAv2 で、Flamingo80B を 8.7% 上回っています。また、自然言語の命令に従うことができる、ゼロショット画像からテキストへの生成というモデルの新しい機能も実証します
BLIP-2 アーキテクチャ。 元の論文から抜粋。
このモデルは、nielsr によって提供されました。 元のコードは ここ にあります。
Usage tips
- BLIP-2 は、画像とオプションのテキスト プロンプトを指定して条件付きテキストを生成するために使用できます。推論時には、 [
generate
] メソッドを使用することをお勧めします。 - [
Blip2Processor
] を使用してモデル用の画像を準備し、予測されたトークン ID をデコードしてテキストに戻すことができます。
Resources
BLIP-2 の使用を開始するのに役立つ公式 Hugging Face およびコミュニティ (🌎 で示されている) リソースのリスト。
- 画像キャプション、ビジュアル質問応答 (VQA)、およびチャットのような会話のための BLIP-2 のデモ ノートブックは、こちら にあります。
ここに含めるリソースの送信に興味がある場合は、お気軽にプル リクエストを開いてください。審査させていただきます。リソースは、既存のリソースを複製するのではなく、何か新しいものを示すことが理想的です。
Blip2Config
autodoc Blip2Config - from_vision_qformer_text_configs
Blip2VisionConfig
autodoc Blip2VisionConfig
Blip2QFormerConfig
autodoc Blip2QFormerConfig
Blip2Processor
autodoc Blip2Processor
Blip2VisionModel
autodoc Blip2VisionModel - forward
Blip2QFormerModel
autodoc Blip2QFormerModel - forward
Blip2Model
autodoc Blip2Model - forward - get_text_features - get_image_features - get_qformer_features
Blip2ForConditionalGeneration
autodoc Blip2ForConditionalGeneration - forward - generate