LLaVA (Large Language and Vision Assistant) は、画像翻訳における OpenAI GPT-4 の機能の一部を再現する、有望なオープンソース生成 AI モデルです。ユーザーは LLaVA チャット会話に画像を追加して、その画像の内容について話し合ったり、アイデア、コンテキスト、状況を視覚的に説明する手段として使用したりできます。 LLaVA の最も魅力的な機能は、よりシンプルなモデル アーキテクチャと桁違いに少ないトレーニング データを使用しながら、他のオープン ソース ソリューションを改善できることです。これらの機能により、LLaVA はトレーニングがより高速かつ安価になるだけでなく、コンシューマー ハードウェアでの推論にもより適したものになります。 この投稿では、LLaVA の主な機能について具体的に説明します。
LLaVAオンラインの使用まだ試したことがない場合は、LLaVA を使用する最も簡単な方法は、作成者が提供する Web インターフェイス (https://llava.hliu.cc/) にアクセスすることです。以下のスクリーンショットは、ユーザーが冷蔵庫の中身の写真を見ながら食べ物の食べ方を尋ねるインターフェースの動作を示しています。インターフェースの左側にあるウィジェットを使用して画像を読み込むことができ、チャット インターフェースでは質問してテキスト形式で回答を得ることができます。 LLaVA ウェブインターフェース この例では、LLaVA は、ブルーベリー、イチゴ、ニンジン、ヨーグルト、牛乳など、冷蔵庫にある材料を正しく識別し、フルーツサラダ、ミルクセーキ、ケーキなどの関連するアイデアを提案しました。 LLaVA との会話の他の例は、プロジェクトの Web サイト (https://llava-vl.github.io/) で公開されています。これらの例では、LLaVA が画像を記述できるだけでなく、画像内の要素に基づいて推論および推論できることが示されています (写真の手がかりを使用して映画や人物を識別したり、絵に基づいて Web サイトをエンコードしたり、ユーモラスな状況を解釈したりするなど)。 LLaVA をローカルで実行するLLaVA は、Ollama (https://ollama.ai/) または Mozilla の「llamafile」(https://github.com/Mozilla-Ocho/llamafile) を使用してローカル マシンにインストールすることもできます。ツールは CPU のみを使用してほとんどのコンシューマー グレードのマシンで実行できます。また、モデルに必要なのは 8 GB の RAM と 4 GB の空きディスク領域のみなので、Raspberry Pi でも正常に実行できます。 Ollama プロジェクトを中心に開発されたツールとインターフェースの中で、注目すべきアプローチの 1 つが Ollama WebUI (https://github.com/ollama-webui/ollama-webui、以下を参照) です。これは、OpenAI ChatGPT ユーザー インターフェースのルック アンド フィールを再現します。 Ollama Web UI — OpenAI ChatGPT にインスパイアされた LLaVAの主な機能の概要LLaVA はウィスコンシン大学マディソン校、マイクロソフト リサーチ、コロンビア大学の研究者によって設計され、最近 NeurIPS 2023 で発表されました。プロジェクトのコードと技術仕様は、Github リポジトリ (https://github.com/haotian-liu/LLaVA) からアクセスできます。このリポジトリには、アシスタントと対話するためのさまざまなインターフェースも用意されています。 著者らは論文の要約で次のようにまとめている。 「LLaVA は 11 のベンチマークで最先端の結果を達成しました。最終的な 13B チェックポイントでは、公開されている 120 万データのみを使用し、8-A100 クラス ノード 1 台で約 1 日で完全にトレーニングされます。これにより、最先端の LMM 研究がより利用しやすくなることを期待しています。コードとモデルは両方ともオープン ソースとしてリリースされます。」 論文でレーダープロットとして報告されたベンチマーク結果は、他の最先端モデルに対する改善を示しています。 LLaVA ベンチマーク結果のレーダーチャート (論文からの画像 https://arxiv.org/pdf/2304.08485.pdf) 内部の仕組みLLaVA のデータ処理ワークフローは概念的には単純です。このモデルは本質的には、言語指示 (ユーザーのテキスト プロンプト) を入力として受け取り、言語応答を返す標準的な因果言語モデルです。言語モデルの画像処理能力は、画像を言語トークンに変換し、ユーザーのテキストプロンプトに「静かに」追加される(一種のソフトヒントとして機能)別のビジュアルエンコーダーモデルによってサポートされています。 LLaVA の全体的な実装プロセスを次の図に示します。 LLaVA ネットワーク アーキテクチャ (論文からの画像 https://arxiv.org/pdf/2304.08485.pdf) LLaVA の言語モデルとビジュアル エンコーダーは、それぞれ Vicuna と CLIP という 2 つの参照モデルに依存しています。その中で、Vicuna(https://lmsys.org/blog/2023-03-30-vicuna/)は、中規模LLMと競合するパフォーマンスを備えたLLaMA-2(Meta設計)に基づく事前トレーニング済みの大規模言語モデルです(HuggingFaceの7Bおよび13Bバージョンのモデルカードを参照)。 CLIP (https://openai.com/research/clip) は、OpenAI が設計した画像エンコーダーで、Contrastive Language Image Pre-training (「CLIP」という名前の由来) 技術を使用して事前トレーニングされており、同様の埋め込み空間で画像とテキストをエンコードできます。 LLaVA で使用されるモデルは、Vision Transformer バリアント CLIP-ViT-L/14 です (HuggingFace のモデル カードを参照: https://huggingface.co/openai/clip-vit-large-patch14)。 ビジュアルエンコーダーのサイズを言語モデルのサイズと一致させるために、投影モジュール(上図のW)が適用されます。これは実際には、オリジナルの LLaVA では単純な線形投影であり、LLaVA 1.5 では 2 層のパーセプトロンです。 トレーニングプロセスLLaVA のトレーニング プロセスは、比較的単純な 2 つの段階で構成されます。 最初のステージは投影モジュール W を微調整するためだけのものであり、このステージではビジュアル エンコーダと LLM の重みは固定されたままになります。このステージは、HuggingFace のリポジトリ (https://huggingface.co/datasets/liuhaotian/LLaVA-Instruct-150K) で無料で入手できる CC3M 概念キャプション データセット (https://ai.google.com/research/ConceptualCaptions/) の約 60 万個の画像/キャプション ペアのサブセットを使用してトレーニングされます。 第 2 段階では、158K の言語画像命令のデータセットを使用して、投影モジュールの重み W が LLM の重みとともに微調整されます (ビジュアル エンコーダの重みは固定されたまま)。このデータは GPT4 を使用して生成され、会話の例、詳細な説明、複雑な推論を特徴としており、HuggingFace のリポジトリで無料で入手できます。 トレーニング全体には、8 つの A100 GPU を使用して約 1 日かかります。 LLaVA 基本プログラミングこのセクションの関連コードは、関連する Colab ノートブック ファイル (https://colab.research.google.com/drive/1L28bJX14-Y5lJvswYwydsletYFMIxVH5) から取得できます。 LLaVA モデルは Transformers ライブラリに統合されており、標準のパイプライン オブジェクトを使用して読み込むことができます。モデルの 7B バリアントと 13B バリアントは両方とも LLaVA リポジトリ スペースで無料で入手でき、GPU メモリを節約するために 4 ビットと 8 ビットでロードできます。次に、T4 TPU (15GB RAM GPU) を搭載した Colab で実行できるコードを使用してモデルをロードして実行する方法を説明します。 以下は、LLaVA 1.5 の 7B バリアントを 4 ビット モードでロードするコード スニペットです。 次に、この画像を読み込みます。 画像を読み込むには標準の PIL ライブラリを使用します。 最後に、画像と画像の説明を求めるプロンプトを使用して LLaVA モデルをクエリしてみましょう。 プロンプトの形式 (https://huggingface.co/docs/transformers/model_doc/llava) は次のようになります。 関連するコードは次のとおりです。 次のような回答が返されました。 LLaVA チャットボットの作成最後に、LLaVA モデルに依存するシンプルなチャットボットを作成しましょう。機械学習 Web インターフェースをすばやく簡単に作成できる Gradio ライブラリ (https://www.gradio.app/) を使用します。 インターフェースのコアは、画像アップロード コンポーネント (Gradio 画像オブジェクト) とチャット インターフェース (Gradio ChatInterface オブジェクト: https://www.gradio.app/docs/chatinterface) を含む 1 行のコードで構成されています。 チャット インターフェイスは、会話履歴を保存し、ユーザーがメッセージを送信したときに応答するために LLaVA モデルを呼び出す関数 update_conversation に接続されています。 次のコードは、launch メソッドを呼び出してインターフェイスを起動します。 数秒後、チャットボットの Web インターフェイスが表示されます。 おめでとうございます。LLaVA チャットボットが正常に起動しました。 注: 特に記載のない限り、記事内のすべての画像は著者から提供されています。 参考文献
翻訳者紹介Zhu Xianzhong 氏は、51CTO のコミュニティ エディターであり、51CTO の専門ブロガー兼講師であり、濰坊の大学のコンピューター教師であり、フリーランス プログラミング コミュニティのベテランです。 原題: LLaVA: GPT-4V(ision) のオープンソース代替、著者: Yann-Aël Le Borgne リンク: https://towardsdatascience.com/llava-an-open-source-alternative-to-gpt-4v-ision-b06f88ce8efa. |
<<: BEV の可能性の限界を探ろう! DA-BEV: 新しい教師なし BEV SOTA ソリューション!
>>: AIエンジニアリングのためのJavaScriptツールトップ5
[[422829]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...
[[438491]]情報データ伝送のセキュリティは、常に非常に重要なテーマです。プログラマーとして働...
中国の現在の経済社会発展の最大の原動力は科学技術の進歩である。特に米国によるファーウェイとZTEの規...
今日、ますます多くの企業が、事業運営に人工知能技術を活用しています。このテクノロジーは非常に建設的で...
概要: 顔認識を実現するための 1 行のコード、1. まず、システムに認識させたいすべての人の写真が...
2023年6月、Ant Groupはデータベース分野の大規模モデルフレームワークであるDB-GPT...
[51CTO.com クイック翻訳] AI技術は、ソフトウェアテスト作業を5つの方法で変えています。...
マイクロソフトは、人工知能はテクノロジー大手が反体制派を排除するための武器として利用されるべきではな...
編集・執筆:Yifeng制作:51CTO テクノロジースタック(WeChat ID:blog) 3月...
第四次産業革命が急速に起こりつつあります。人工知能はこの産業革命の中核となる内容の一つです。産業革命...
最近、「被験者 3」について多かれ少なかれ耳にしたことがあるかもしれません。握手、軽く捻挫した足、リ...