VARCO VISION 14B HF
VARCO-VISION-14B是一款强大的英韩视觉语言模型,支持图像和文本输入,生成文本输出,具备定位、指代和OCR功能。
下载量 449
发布时间 : 11/27/2024
模型简介
VARCO-VISION-14B是一款多模态视觉语言模型,支持英语和韩语,能够处理图像和文本输入,生成文本输出。该模型具备定位、指代和光学字符识别(OCR)功能,适用于多种视觉语言任务。
模型特点
多模态支持
支持图像和文本输入,生成文本输出,适用于多种视觉语言任务。
定位功能
能够识别图像中的特定位置,并通过边界框提供精确的定位信息。
指代功能
能够理解上下文并专注于指定位置的对象,通过边界框标记对象位置。
OCR功能
支持光学字符识别(OCR),能够识别图像中的文本内容。
模型能力
图像描述
定位
指代
光学字符识别(OCR)
多模态对话
使用案例
图像理解
图像描述
输入一张图像,模型生成详细的图像描述。
生成包含图像中对象和场景的详细描述。
定位
输入图像和问题,模型识别图像中的特定位置并提供边界框信息。
生成包含对象位置信息的详细描述。
文本识别
OCR
输入包含文本的图像,模型识别并提取图像中的文本内容。
生成图像中文本的识别结果及其位置信息。
🚀 VARCO-VISION-14B-HF
VARCO-VISION-14B-HF 是一款强大的英韩语视觉语言模型(VLM)。它能接受单张图像和文本作为输入,并生成文本输出,支持定位、指称以及OCR(光学字符识别)等功能。
🚀 快速开始
要使用此模型,需确保安装了 transformers >= 4.45.0
。
import torch
import requests
from PIL import Image
from transformers import LlavaOnevisionForConditionalGeneration, AutoProcessor
model_name = "NCSOFT/VARCO-VISION-14B-HF"
model = LlavaOnevisionForConditionalGeneration.from_pretrained(
model_name,
torch_dtype="float16",
device_map="auto",
attn_implementation="flash_attention_2"
)
processor = AutoProcessor.from_pretrained(model_name)
device = model.device
# Define a chat history and use `apply_chat_template` to get correctly formatted prompt
# Each value in "content" has to be a list of dicts with types ("text", "image")
conversation = [
{
"role": "user",
"content": [
{"type": "text", "text": "Describe this image."},
{"type": "image"},
],
},
]
prompt = processor.apply_chat_template(conversation, add_generation_prompt=True)
EOS_TOKEN = "<|im_end|>"
image_file = "http://images.cocodataset.org/val2017/000000039769.jpg"
raw_image = Image.open(requests.get(image_file, stream=True).raw)
inputs = processor(images=raw_image, text=prompt, return_tensors='pt').to(device, torch.float16)
output = model.generate(**inputs, max_new_tokens=1024, do_sample=False)
output = processor.decode(output[0][inputs.input_ids.shape[1]:])
if output.endswith(EOS_TOKEN):
output = output[: -len(EOS_TOKEN)]
output = output.strip()
print(output)
✨ 主要特性
- 强大性能:在多模态和纯文本基准测试中,VARCO-VISION-14B不仅在性能上超越了其他类似规模的模型,还取得了与专有模型相当的分数。
- 多阶段训练:VARCO-VISION的训练管道包括四个阶段:特征对齐预训练、基础监督微调、高级监督微调以及偏好优化。
- 支持多任务:支持定位、指称以及OCR(光学字符识别)等功能。
📚 详细文档
模型信息
- 开发者:NC Research,多模态生成团队
- 技术报告:VARCO-VISION: Expanding Frontiers in Korean Vision-Language Models
- 博客(韩语):VARCO-VISION Technical Report Summary
- 演示页面:演示页面已不可用。
- 支持语言:韩语、英语
- 许可证:CC BY-NC 4.0
- 架构:VARCO-VISION-14B遵循 LLaVA-OneVision 的架构。
- 基础模型:
- LLaVA-NeXT代码库模型:NCSOFT/VARCO-VISION-14B
- 韩语VLM基准测试:
- 可以在 LLMs-Eval toolkit 中使用以下基准数据集:
- 也可以在 VLMEval kit 中评估VARCO-VISION-14B。
特殊功能
如果问题基于边界框或需要以边界框作为输出,请在输入文本中包含特殊标记。以下特殊标记用于为模型定义特定任务、输入和输出:
<gro>
:表示模型的响应应包含边界框信息。<ocr>
:指定用于识别图像中文字的OCR任务。<char>
和</char>
:用于标记文本短语。<obj>
和</obj>
:用于表示对象。<bbox>
和</bbox>
:用于表示边界框。<delim>
:表示单个对象或文本的多个位置点。
定位(Grounding)
定位是指模型需要在图像中识别特定位置以提供合适答案的任务。要执行定位任务,请在问题前加上特殊标记 <gro>
。
conversation = [
{
"role": "user",
"content": [
{"type": "text", "text": "<gro>\nDescribe the image in detail."},
{"type": "image"},
],
},
]
预期输出示例:
The image shows <obj>two cats</obj><bbox>0.014, 0.106, 0.51, 0.996<delim>0.51, 0.054, 0.996, 0.787</bbox> lying on <obj>a pink blanket</obj><bbox>0.003, 0.231, 0.999, 0.999</bbox>. The cat on the left is lying on its side with its head resting on the blanket, while the cat on the right is lying on its stomach with its head also resting on the blanket. Both cats appear to be relaxed and comfortable. There are <obj>two remote controls</obj><bbox>0.037, 0.141, 0.283, 0.253<delim>0.506, 0.171, 0.581, 0.295</bbox> placed near the cats, one on the left side and one on the right side of the image.
指称(Referring)
VARCO-VISION-14B可以使用边界框处理特定位置的问题。要执行指称任务,请在对话中使用 <obj>
和 </obj>
标签包含感兴趣的对象,并使用 <bbox>
和 </bbox>
标签指定其位置。这使模型能够理解上下文并专注于指定位置的对象。边界框以 (x1, y1, x2, y2) 的形式表示。前两个值表示边界框的左上角位置,后两个值是右下角位置。
conversation = [
{
"role": "user",
"content": [
{
"type": "text",
"text": "<obj>이 물건</obj><bbox>0.039, 0.138, 0.283, 0.257</bbox>은 어떻게 쓰는거야?",
},
{"type": "image"},
],
},
]
预期输出示例:
**이 물건**은 리모컨으로, 주로 텔레비전이나 다른 전자 기기를 원격으로 조작하는 데 사용됩니다. 리모컨에는 다양한 버튼이 있으며, 각 버튼은 채널 변경, 볼륨 조절, 전원 켜기/끄기 등의 기능을 수행합니다. 사용자는 리모컨을 손에 들고 버튼을 누르면, 해당 기기에 신호를 보내 원하는 조작을 할 수 있습니다. 리모컨은 일반적으로 가정이나 사무실에서 편리하게 전자 기기를 조작할 수 있도록 사용됩니다.
OCR
要执行光学字符识别(OCR),请使用 <ocr>
标记。
image_file = "./assets/ocr_1.png"
raw_image = Image.open(image_file)
conversation = [
{
"role": "user",
"content": [
{"type": "text", "text": "<ocr>"},
{"type": "image"},
],
},
]
预期输出示例:
<char>백범로</char><bbox>0.172, 0.266, 0.328, 0.341</bbox>
<char>124번길</char><bbox>0.347, 0.266, 0.512, 0.341</bbox>
<char>Baekbeom-ro</char><bbox>0.171, 0.337, 0.433, 0.392</bbox>
<char>124</char><bbox>0.444, 0.341, 0.508, 0.392</bbox>
<char>만수주공아파트</char><bbox>0.109, 0.531, 0.335, 0.601</bbox>
<char>시흥</char><bbox>0.443, 0.518, 0.522, 0.581</bbox>
<char>시청</char><bbox>0.711, 0.521, 0.811, 0.594</bbox>
<char>Mansu</char><bbox>0.102, 0.601, 0.181, 0.648</bbox>
<char>Jugong</char><bbox>0.186, 0.601, 0.273, 0.658</bbox>
<char>Apt</char><bbox>0.28, 0.601, 0.327, 0.651</bbox>
<char>42</char><bbox>0.377, 0.601, 0.416, 0.648</bbox>
<char>Shieung</char><bbox>0.445, 0.578, 0.53, 0.625</bbox>
<char>인천대공원</char><bbox>0.43, 0.621, 0.609, 0.684</bbox>
<char>모래내시장역</char><bbox>0.651, 0.59, 0.873, 0.665</bbox>
<char>IncheonGrand</char><bbox>0.432, 0.681, 0.561, 0.723</bbox>
<char>Park</char><bbox>0.564, 0.681, 0.611, 0.723</bbox>
📄 许可证
本模型采用CC BY-NC 4.0许可证,仅用于研究目的,禁止商业使用。
🔧 技术细节
VARCO-VISION的训练管道包括四个阶段:特征对齐预训练、基础监督微调、高级监督微调以及偏好优化。
📚 引用模型
如果您在研究中使用了VARCO-VISION-14B,请引用以下内容:
@misc{ju2024varcovisionexpandingfrontierskorean,
title={VARCO-VISION: Expanding Frontiers in Korean Vision-Language Models},
author={Jeongho Ju and Daeyoung Kim and SunYoung Park and Youngjune Kim},
year={2024},
eprint={2411.19103},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2411.19103},
Clip Vit Large Patch14
CLIP是由OpenAI开发的视觉-语言模型,通过对比学习将图像和文本映射到共享的嵌入空间,支持零样本图像分类
图像生成文本
C
openai
44.7M
1,710
Clip Vit Base Patch32
CLIP是由OpenAI开发的多模态模型,能够理解图像和文本之间的关系,支持零样本图像分类任务。
图像生成文本
C
openai
14.0M
666
Siglip So400m Patch14 384
Apache-2.0
SigLIP是基于WebLi数据集预训练的视觉语言模型,采用改进的sigmoid损失函数,优化了图像-文本匹配任务。
图像生成文本
Transformers

S
google
6.1M
526
Clip Vit Base Patch16
CLIP是由OpenAI开发的多模态模型,通过对比学习将图像和文本映射到共享的嵌入空间,实现零样本图像分类能力。
图像生成文本
C
openai
4.6M
119
Blip Image Captioning Base
Bsd-3-clause
BLIP是一个先进的视觉-语言预训练模型,擅长图像描述生成任务,支持条件式和非条件式文本生成。
图像生成文本
Transformers

B
Salesforce
2.8M
688
Blip Image Captioning Large
Bsd-3-clause
BLIP是一个统一的视觉-语言预训练框架,擅长图像描述生成任务,支持条件式和无条件式图像描述生成。
图像生成文本
Transformers

B
Salesforce
2.5M
1,312
Openvla 7b
MIT
OpenVLA 7B是一个基于Open X-Embodiment数据集训练的开源视觉-语言-动作模型,能够根据语言指令和摄像头图像生成机器人动作。
图像生成文本
Transformers 英语

O
openvla
1.7M
108
Llava V1.5 7b
LLaVA 是一款开源多模态聊天机器人,基于 LLaMA/Vicuna 微调,支持图文交互。
图像生成文本
Transformers

L
liuhaotian
1.4M
448
Vit Gpt2 Image Captioning
Apache-2.0
这是一个基于ViT和GPT2架构的图像描述生成模型,能够为输入图像生成自然语言描述。
图像生成文本
Transformers

V
nlpconnect
939.88k
887
Blip2 Opt 2.7b
MIT
BLIP-2是一个视觉语言模型,结合了图像编码器和大型语言模型,用于图像到文本的生成任务。
图像生成文本
Transformers 英语

B
Salesforce
867.78k
359
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98