多模态本地部署和ollama部署Llama-Vision实现视觉问答

文章目录

  • 一、模型介绍
  • 二、预期用途
    • [1. 视觉问答(VQA)与视觉推理](#1. 视觉问答(VQA)与视觉推理)
    • [2. 文档视觉问答(DocVQA)](#2. 文档视觉问答(DocVQA))
    • [3. 图像字幕](#3. 图像字幕)
    • [4. 图像-文本检索](#4. 图像-文本检索)
    • [5. 视觉接地](#5. 视觉接地)
  • 三、本地部署
    • [1. 下载模型](#1. 下载模型)
    • [2. 模型大小](#2. 模型大小)
    • [3. 运行代码](#3. 运行代码)
  • 四、ollama部署
    • [1. 安装ollama](#1. 安装ollama)
    • [2. 安装 Llama 3.2 Vision 模型](#2. 安装 Llama 3.2 Vision 模型)
    • [3. 运行 Llama 3.2-Vision](#3. 运行 Llama 3.2-Vision)
  • 五、效果展示

一、模型介绍

Llama 3.2-Vision 是一系列多模态大语言模型(LLM),包括预训练和指令调优的图像推理生成模型大小分别为11B和90B(输入为文本+图像/输出为文本)。Lama 3.2-Vision 指令调优模型针对视觉识别、图像推理、字幕生成以及回答关于图像的一般问题进行了优化。这些模型在常见的行业基准测试中表现优于许多可用的开源和闭源多模态模型,
模型开发者 : Meta
模型架构 : Llama 3.2-Vision 基于 Lama 3.1 文本模型构建,后者是一个使用优化的Transformer架构的自回归语言模型。调优版本使用有监督的微调(SFT)和基于人类反馈的强化学习(RLHF)来与人类对有用性和安全性的偏好保持一致。为了支持图像识别任务,Llama 3.2-Vision 模型使用了单独训练的视觉适配器,该适配器与预训练的 Llama 3.1 语言模型集成。适配器由一系列交叉注意力层组成,将图像编码器表示传递给核心LLM。
支持的语言 :对于纯文本任务,官方支持英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语。Llama3.2的训练数据集包含了比这八种语言更广泛的语言。注意,对于图像+文本应用,仅支持英语。

开发者可以在遵守 Llama 3.2 社区许可证和可接受使用政策的前提下,对 Lama 3.2 模型进行其他语言的微调。开发者始终应确保其部署,包括涉及额外语言的部署,是安全且负责任的。
模型发布日期 :2024年9月25日

二、预期用途

预期用途案例: Llama 3.2-Vision旨在用于商业和研究用途。经过指令调优的模型适用于视觉识别、图像推理、字幕添加以及带有图像的助手式聊天,而预训练模型可以适应多种图像推理任务。此外,由于Llama 3.2-Vision能够接受图像和文本作为输入,因此还可能包括以下用途:

1. 视觉问答(VQA)与视觉推理

想象一台机器能够査看图片并理解您对其提出的问题。

2. 文档视觉问答(DocVQA)

想象计算机能够理解文档(如地图或合同)中的文本和布局,并直接从图像中回答问题。

3. 图像字幕

图像字幕架起了视觉与语言之间的桥梁,提取细节,理解场景,然后构造一两句讲述故事的话。

4. 图像-文本检索

图像-文本检索就像是为图像及其描述做媒人。类似于搜索引擎,但这种引擎既理解图片也理解文字。

5. 视觉接地

视觉接地就像将我们所见与所说连接起来。它关乎于理解语言如何引用图像中的特定部分,允许AI模型基于自然语言描述来精确定位对象或区域。

三、本地部署

1. 下载模型

python 复制代码
#模型下载 
from modelscope import snapshot_download model_dir = snapshot_download('AI-ModelScope/Llama-3.2-11B-Vision-Instruct-GGUF')

2. 模型大小

3. 运行代码

在运行代码前先确保安装了transformers包

pip install --upgrade transformers

python 复制代码
import requests
import torch
from PIL import Image
from transformers import MllamaForConditionalGeneration, AutoProcessor
from modelscope import snapshot_download
model_id = "LLM-Research/Llama-3.2-11B-Vision-Instruct"
model_dir = snapshot_download(model_id, ignore_file_pattern=['*.pth'])

model = MllamaForConditionalGeneration.from_pretrained(
    model_dir,
    torch_dtype=torch.bfloat16,
    device_map="auto",
)
processor = AutoProcessor.from_pretrained(model_dir)

url = "https://www.modelscope.cn/models/LLM-Research/Llama-3.2-11B-Vision/resolve/master/rabbit.jpg"
image = Image.open(requests.get(url, stream=True).raw)

messages = [
    {"role": "user", "content": [
        {"type": "image"},
        {"type": "text", "text": "If I had to write a haiku for this one, it would be: "}
    ]}
]
input_text = processor.apply_chat_template(messages, add_generation_prompt=True)
inputs = processor(image, input_text, return_tensors="pt").to(model.device)

output = model.generate(**inputs, max_new_tokens=30)
print(processor.decode(output[0]))

四、ollama部署

ollama部署模型最为方便,不需要写运行代码,也不需要安装各种库,ollama安装好后,run相应模型,它会自动下载,然后直接可以进行提问,不需要运行什么代码。

1. 安装ollama

python 复制代码
#o11ama版本需大于等于0.4.0
curl -fsSL https://ollama.com/install.sh | sh
#查看o1lama版本
ollama --version

2. 安装 Llama 3.2 Vision 模型

python 复制代码
o1lama run 1lama3.2-vision:1lb

3. 运行 Llama 3.2-Vision

将 images.png替换为自己的图像路径。模型将分析图像并根据其理解提供响应。

python 复制代码
ollama run x/llama3.2-vision:latest "which era does this piece belong to? Give details about the era: images.png

五、效果展示

给大模型一张图片,然后附带问题是:这件作品属于哪个时代?详细介绍那个时代。下面是模型输出

python 复制代码
The piece is a painting of a woman in a red dress, surrounded by gold and white ornate details.The woman is depicted in mid-air, with her arms outstretched and her legs bent at the knees. Sheis holding a bouquet of flowers in her right hand and a fruit in her left hand.
The background of the painting is a light blue sky with pink clouds, and there are also some pinkflowers and green leaves surrounding the woman. The overall atmosphere of the painting is oneof joy and celebration, as if the woman is dancing or celebrating something.
This piece belongs to the Rococo era, which was a style of art and architecture that emerged inEurope in the 18th century. The Rococo style is characterized by its use of pastel colors, curvedlines, and ornate details. lt was popularized during the reign of King Louis XV of France, who ruledfrom 1715 to 1774.

为更直观翻译下,可以看到基本把图片细节都描述很清楚,同事也给出了大致时代。

相关推荐
九年义务漏网鲨鱼27 分钟前
【大模型学习 | MINIGPT-4原理】
人工智能·深度学习·学习·语言模型·多模态
元宇宙时间43 分钟前
Playfun即将开启大型Web3线上活动,打造沉浸式GameFi体验生态
人工智能·去中心化·区块链
开发者工具分享1 小时前
文本音频违规识别工具排行榜(12选)
人工智能·音视频
产品经理独孤虾1 小时前
人工智能大模型如何助力电商产品经理打造高效的商品工业属性画像
人工智能·机器学习·ai·大模型·产品经理·商品画像·商品工业属性
老任与码1 小时前
Spring AI Alibaba(1)——基本使用
java·人工智能·后端·springaialibaba
蹦蹦跳跳真可爱5891 小时前
Python----OpenCV(图像増强——高通滤波(索贝尔算子、沙尔算子、拉普拉斯算子),图像浮雕与特效处理)
人工智能·python·opencv·计算机视觉
雷羿 LexChien2 小时前
从 Prompt 管理到人格稳定:探索 Cursor AI 编辑器如何赋能 Prompt 工程与人格风格设计(上)
人工智能·python·llm·编辑器·prompt
两棵雪松2 小时前
如何通过向量化技术比较两段文本是否相似?
人工智能
heart000_12 小时前
128K 长文本处理实战:腾讯混元 + 云函数 SCF 构建 PDF 摘要生成器
人工智能·自然语言处理·pdf
敲键盘的小夜猫2 小时前
LLM复杂记忆存储-多会话隔离案例实战
人工智能·python·langchain