tosiyuki/LLaVA-JP

LLaVA-JP is a Japanese VLM trained by LLaVA method

64

stars

24

commits

Python

primary language

Jul 3, 2024

updated

llava
llm
python

README

LLaVA-JP

LLaVAの手法を使用してllm-jp/llm-jp-1.3b-v1.0のような軽量なLLMをベースに画像に対応したマルチモーダルなLVLMを学習させるためのコードです。

LLaVA-JPの学習はRTX4090(24GB)一台で行われています。

English document is here.

Release

  • [4/20] v1.1を公開: scaling_on_scalesを使用して768x768の高解像度画像を入力可能にしました。また、事前学習データをLLaVA-Pretrain-JA、ファインチューニングデータをLLaVA-v1.5-Instruct-620K-JAに変更しました。モデルはllava-jp-1.3b-v1.1で公開しています。
  • [2/13] llava-jp-1.3b-v1.0-siglip-so400m-patch14-384を公開: Image Encoderにgoogle/siglip-so400m-patch14-384を使用してLLaVA-1.5の手法で学習させています。

Models

Full Trained

Pretrained

Comparing VLMs

ModelJA-VG-VQA-500
(ROUGE-L)
JA-VLM-Bench-In-the-Wild
(ROUGE-L)
Heron-Bench(Detail)Heron-Bench(Conv)Heron-Bench(Complex)Heron-Bench(Average)
Japanese Stable VLM-40.5025.1551.2337.8438.07
EvoVLM-JP-v1-7B19.7051.2550.3144.4240.4745.07
Heron BLIP Japanese StableLM Base 7B llava-620k14.5133.2649.0941.5145.7245.44
Heron GIT Japanese StableLM Base 7B15.1837.8242.7754.2043.5346.83
llava-jp-1.3b-v1.0-620k12.6944.5851.2141.0545.9544.84
llava-jp-1.3b-v1.113.3344.4050.0051.8348.9850.39

評価結果

出力例

例1 猫の隣には何がありますか?

猫

モデル名出力
llava-jp-1.3b-v1.1猫の隣にはノートパソコンがあります。
llava-jp-1.3b-v1.0-620k猫の隣にはノートパソコンがあります。
turing-motors/heron-chat-blip-ja-stablelm-base-7b-v0猫はノートパソコンの上に座っている。
stabilityai/japanese-stable-vlmノートパソコン

例2 この画像の面白い点を教えてください?

黄色い人

モデル名出力
llava-jp-1.3b-v1.1この画像の面白い点は、黄色いタクシーの荷台に置かれた、服を脱いだままの洗濯機の上に立つ男性です。この男性は、おそらく洗濯物を乾燥させるために、この型破りな場所にいるようです。このシーンは、日常生活の中で型破りな場所に身を置くことの意外性と面白さを強調しています。
llava-jp-1.3b-v1.0-620kこの画像の興味深い点は、黄色い車の荷台に置かれた洗濯機の上に立つ男性です。この珍しい配置は、洗濯機の上に立つ男性の姿を見ることができるため、興味深く、型破りなものとなっています。この男性は、洗濯機の上に立つことで、洗濯機の機能を妨げることなく、洗濯機の上に立っているように見えるのです。
turing-motors/heron-chat-blip-ja-stablelm-base-7b-v0画像では、黄色いトラックの荷台で洗濯物を干している男性が描かれている。彼はトラックに寄りかかり、洗濯物を取り込んでいる。このシーンは、男性がトラックで仕事をしているか、トラックを運転していることを示唆している。トラックは、このシーンの中心的な焦点であり、男性の作業スペースを提供しているように見える。背景には、道路を走る複数の車が見え、おそらくこの地域で交通渋滞が発生している可能性がある。
stabilityai/japanese-stable-vlm男は車の上で洗濯をしている

学習手順

git clone https://github.com/tosiyuki/LLava-JP.git

Stage1(事前学習)

bash scripts/pretrain/pretrain_llm_jp_1.3b_v1.1.sh

Stage2(ファインチューニング)

bash scripts/finetune/finetune_llm-jp-1.3b-v1.1.sh

Stage2(LoRAチューニング)

bash scripts/finetune/finetune_lora_llm_jp.sh

Acknowledgement

  • LLaVA: LLaVA-JPを学習させるに当たりほとんどのコードがこの素晴らしいプロジェクトがベースとなっています。
  • llm-jp: llm-jpが大規模なモデルだけではなく1.3Bという小規模で高性能なベースモデルを開発しているおかげでLLaVA-JPの学習は成功しています
  • scaling_on_scales: 高解像度画像入力の対応はscaling_on_scalesの簡潔かつ分かりやすいコードのおかげで行えています。

Contributors

tosiyuki

24 commits

tosiyuki/LLaVA-JP

LLaVA-JP is a Japanese VLM trained by LLaVA method

64

stars

24

commits

Python

primary language

Jul 3, 2024

updated

llava
llm
python

README

LLaVA-JP

LLaVAの手法を使用してllm-jp/llm-jp-1.3b-v1.0のような軽量なLLMをベースに画像に対応したマルチモーダルなLVLMを学習させるためのコードです。

LLaVA-JPの学習はRTX4090(24GB)一台で行われています。

English document is here.

Release

  • [4/20] v1.1を公開: scaling_on_scalesを使用して768x768の高解像度画像を入力可能にしました。また、事前学習データをLLaVA-Pretrain-JA、ファインチューニングデータをLLaVA-v1.5-Instruct-620K-JAに変更しました。モデルはllava-jp-1.3b-v1.1で公開しています。
  • [2/13] llava-jp-1.3b-v1.0-siglip-so400m-patch14-384を公開: Image Encoderにgoogle/siglip-so400m-patch14-384を使用してLLaVA-1.5の手法で学習させています。

Models

Full Trained

Pretrained

Comparing VLMs

ModelJA-VG-VQA-500
(ROUGE-L)
JA-VLM-Bench-In-the-Wild
(ROUGE-L)
Heron-Bench(Detail)Heron-Bench(Conv)Heron-Bench(Complex)Heron-Bench(Average)
Japanese Stable VLM-40.5025.1551.2337.8438.07
EvoVLM-JP-v1-7B19.7051.2550.3144.4240.4745.07
Heron BLIP Japanese StableLM Base 7B llava-620k14.5133.2649.0941.5145.7245.44
Heron GIT Japanese StableLM Base 7B15.1837.8242.7754.2043.5346.83
llava-jp-1.3b-v1.0-620k12.6944.5851.2141.0545.9544.84
llava-jp-1.3b-v1.113.3344.4050.0051.8348.9850.39

評価結果

出力例

例1 猫の隣には何がありますか?

猫

モデル名出力
llava-jp-1.3b-v1.1猫の隣にはノートパソコンがあります。
llava-jp-1.3b-v1.0-620k猫の隣にはノートパソコンがあります。
turing-motors/heron-chat-blip-ja-stablelm-base-7b-v0猫はノートパソコンの上に座っている。
stabilityai/japanese-stable-vlmノートパソコン

例2 この画像の面白い点を教えてください?

黄色い人

モデル名出力
llava-jp-1.3b-v1.1この画像の面白い点は、黄色いタクシーの荷台に置かれた、服を脱いだままの洗濯機の上に立つ男性です。この男性は、おそらく洗濯物を乾燥させるために、この型破りな場所にいるようです。このシーンは、日常生活の中で型破りな場所に身を置くことの意外性と面白さを強調しています。
llava-jp-1.3b-v1.0-620kこの画像の興味深い点は、黄色い車の荷台に置かれた洗濯機の上に立つ男性です。この珍しい配置は、洗濯機の上に立つ男性の姿を見ることができるため、興味深く、型破りなものとなっています。この男性は、洗濯機の上に立つことで、洗濯機の機能を妨げることなく、洗濯機の上に立っているように見えるのです。
turing-motors/heron-chat-blip-ja-stablelm-base-7b-v0画像では、黄色いトラックの荷台で洗濯物を干している男性が描かれている。彼はトラックに寄りかかり、洗濯物を取り込んでいる。このシーンは、男性がトラックで仕事をしているか、トラックを運転していることを示唆している。トラックは、このシーンの中心的な焦点であり、男性の作業スペースを提供しているように見える。背景には、道路を走る複数の車が見え、おそらくこの地域で交通渋滞が発生している可能性がある。
stabilityai/japanese-stable-vlm男は車の上で洗濯をしている

学習手順

git clone https://github.com/tosiyuki/LLava-JP.git

Stage1(事前学習)

bash scripts/pretrain/pretrain_llm_jp_1.3b_v1.1.sh

Stage2(ファインチューニング)

bash scripts/finetune/finetune_llm-jp-1.3b-v1.1.sh

Stage2(LoRAチューニング)

bash scripts/finetune/finetune_lora_llm_jp.sh

Acknowledgement

  • LLaVA: LLaVA-JPを学習させるに当たりほとんどのコードがこの素晴らしいプロジェクトがベースとなっています。
  • llm-jp: llm-jpが大規模なモデルだけではなく1.3Bという小規模で高性能なベースモデルを開発しているおかげでLLaVA-JPの学習は成功しています
  • scaling_on_scales: 高解像度画像入力の対応はscaling_on_scalesの簡潔かつ分かりやすいコードのおかげで行えています。

Contributors

tosiyuki

24 commits

Languages

Python

90.3%

Shell

9.7%