首页 > 其他分享 >小而强大!H2O.ai 发布新AI视觉模型 文档分析领域超越科技巨头

小而强大!H2O.ai 发布新AI视觉模型 文档分析领域超越科技巨头

时间:2024-10-20 12:21:42浏览次数:9  
标签:小而 ai True image question AI model config history

近日,H2O.ai 宣布推出两款新型视觉语言模型,旨在提升文档分析和光学字符识别(OCR)任务的效率。这两款模型分别是 H2OVL Mississippi-2B 和 H2OVL-Mississippi-0.8B,它们在性能上与大型科技公司的模型相比,展现出令人瞩目的竞争力,可能为处理文档繁重工作流的企业提供更为高效的解决方案。

H2OVL Mississippi-0.8B 模型虽然只有8亿参数,却在 OCRBench 文本识别任务中超越了所有其他模型,包括那些拥有数十亿参数的竞争对手。而20亿个参数的 H2OVL Mississippi-2B 模型则在多项视觉语言基准测试中表现不俗。

在这里插入图片描述
H2O.ai 的创始人兼首席执行官 Sri Ambati 在接受 采访时表示:“我们设计的 H2OVL Mississippi 模型旨在成为高性能且具成本效益的解决方案,为各行各业提供 AI 驱动的 OCR、视觉理解和文档 AI。”

在这里插入图片描述
他强调,这些模型可在各种环境中高效运行,同时能够根据特定领域的需求进行微调,从而帮助企业在降低成本的同时提升效率。

H2O.ai 将这两款新模型免费发布在 Hugging Face 平台上,允许开发者和企业根据自身需求对模型进行修改和适应。这一举措不仅扩大了 H2O.ai 的用户基础,也为希望采用文档 AI 解决方案的企业提供了更多选择。

同时,Ambati 也提到,小型、专用模型的经济优势不容忽视。“我们的生成预训练变换器模型基于与客户的深入合作,旨在从企业文档中提取出有意义的信息。” 他指出,H2O.ai 的模型能在资源占用更少的情况下,提供高效的文档处理能力,尤其是在面对质量较差的扫描件、难以辨认的手写体或大幅修改的文档时,表现更为出色。

模型入口:

H2OVL-Mississippi-0.8B:https://huggingface.co/h2oai/h2ovl-mississippi-800m

H2OVL Mississippi-2B:https://huggingface.co/h2oai/h2ovl-mississippi-2b

Code

2B

pip install transformers torch torchvision einops timm peft sentencepiece

如果您有安培图形处理器,请安装flash-attention,以加快推理速度:

pip install flash_attn
import torch
from transformers import AutoModel, AutoTokenizer


# Set up the model and tokenizer
model_path = 'h2oai/h2ovl-mississippi-2b'
model = AutoModel.from_pretrained(
    model_path,
    torch_dtype=torch.bfloat16,
    low_cpu_mem_usage=True,
    trust_remote_code=True).eval().cuda()
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True, use_fast=False)
generation_config = dict(max_new_tokens=1024, do_sample=True)


# pure-text conversation
question = 'Hello, who are you?'
response, history = model.chat(tokenizer, None, question, generation_config, history=None, return_history=True)
print(f'User: {question}\nAssistant: {response}')


# Example for single image
image_file = './examples/image1.jpg'
question = '<image>\nPlease describe the image in detail.'
response, history = model.chat(tokenizer, image_file, question, generation_config, history=None, return_history=True)
print(f'User: {question}\nAssistant: {response}')


# Example for multiple images - multiround conversation
image_files = ['./examples/image1.jpg', './examples/image2.jpg']
question = 'Image-1: <image>\nImage-2: <image>\nDescribe the Image-1 and Image-2 in detail.'
response, history = model.chat(tokenizer, image_files, question, generation_config, history=None, return_history=True)
print(f'User: {question}\nAssistant: {response}')

question = 'What are the similarities and differences between these two images.'
response, history = model.chat(tokenizer, image_files, question, generation_config=generation_config, history=history, return_history=True)
print(f'User: {question}\nAssistant: {response}')

0.8B

import torch
from transformers import AutoConfig, AutoModel, AutoTokenizer


# Set up the model and tokenizer
model_path = 'h2oai/h2ovl-mississippi-800m'
config = AutoConfig.from_pretrained(model_path, trust_remote_code=True)
# config.llm_config._attn_implementation = 'flash_attention_2' # 安倍架构以上显卡才可用
config.llm_config._attn_implementation = 'eager' # 通用
model = AutoModel.from_pretrained(
    model_path,
    torch_dtype=torch.bfloat16,
    config=config,
    low_cpu_mem_usage=True,
    trust_remote_code=True).eval().cuda()
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True, use_fast=False)
generation_config = dict(max_new_tokens=2048, do_sample=True)

# pure-text conversation
question = 'Hello, how are you?'
response, history = model.chat(tokenizer, None, question, generation_config, history=None, return_history=True)
print(f'User: {question}\nAssistant: {response}')


# Example for single image
image_file = './examples/image.jpg'
question = '<image>\nRead the text in the image.'
response, history = model.chat(tokenizer, image_file, question, generation_config, history=None, return_history=True)
print(f'User: {question}\nAssistant: {response}')

标签:小而,ai,True,image,question,AI,model,config,history
From: https://blog.csdn.net/weixin_41446370/article/details/143080004

相关文章

  • 适用于 .NET 稳定的官方OpenAI库
    前言今天给大家分享一个由OpenAI官方提供,旨在为.NET开发者提供方便的接口来访问OpenAI的RESTAPI。这个项目通过NuGet包的形式发布,使得.NET应用程序能够轻松地集成和使用OpenAI的各种AI模型和功能,如文本生成、图像生成、音频转写等。类库主要特性命名空间组织......
  • python脚本+kaili检测笑脸漏洞
    一、笑脸漏洞简介:        笑脸漏洞(Smile vulnerability)是指在计算机系统或网络中,由于某些设计或实现缺陷而导致的安全漏洞。该漏洞的名称源于其影响的用户界面或体验往往看起来友好和无害,但实际上可能会导致严重的安全问题。笑脸漏洞可以在多种应用和系统中存在,尤其......
  • jasypt的版本问题:从2.0升级为3.0版本会发生报错:Failed to bind properties under ‘sp
    目录1.详细的报错信息2.解决方案3.那为什么这样解决呢?4.补充BindException异常4.1什么是属性绑定?4.2 为什么会出现BindException?4.3BindException的常见场景4.4如何解决BindException?    由于昨晚写完一篇关于SpringBoot集成jasypt对敏感信息进行加......
  • 用C++实现自己的智能指针:深入探讨内存管理与RAII模式
    解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界C++中的内存管理一直以来是程序员的一个难点,尤其是在处理动态内存分配时。智能指针(如std::unique_ptr和std::shared_ptr)通过RAII(资源获取即初始化)的设计理念,极大地简化了动态内存的管理,减少了内存泄漏的风险。然......
  • Artistic Oil Paint 艺术油画着色器插件
    只需轻轻一点,即可将您的视频游戏转化为艺术品!(也许更多…)。✓整个商店中最可配置的选项。✓六种先进算法。✓细节增强算法。✓完整的源代码(脚本和着色器)。✓包含在“艺术包”中。......
  • C++的RAII原则
    C++的RAII原则内容ResourceAcquisitionIsInitialization(RAII)isacoreprogrammingconceptinC++(andotherresource-managedlanguages).Itensuresthatresources,suchasmemory,filehandles,ornetworkconnections,areacquiredandreleasedproperlyb......
  • GPTs及Assistant API快速开发AI应用实战
    前言随着人工智能技术的飞速发展,GPTs(如GPT-3、GPT-4等)和OpenAI的AssistantAPI已经成为构建智能应用的重要工具。这些技术不仅提供了强大的自然语言处理能力,还大大简化了AI应用的开发流程。本文将通过几个实战项目,展示如何利用GPTs和AssistantAPI快速开发AI应用。第二......
  • 低功耗4G模组Air780E快速入门:使用文件系统存储温湿度数据
    ​伙伴们,今天我们来学习合宙低功耗4G模组Air780E快速入门之使用文件系统存储温湿度数据。一、编写脚本1.1准备资料780E开发板购买链接780E开发板设计资料LuatOS-Air780E-文件系统的使用-程序源码demo合宙的TCP/UDP测试服务器API使用介绍780E开发板和DHT11 ​1.2 ......
  • 2024年诺贝尔物理学奖揭晓:AI背后的“造梦者”是谁?
    想象一下,你早上醒来,智能音箱为你播放天气和新闻,中午你用手机刷视频,精准的推荐内容简直和你心有灵犀,晚上回家,自动驾驶汽车安全地把你送回家。这一切看似理所当然,背后却有一双无形的手推动着——人工智能。今年,诺贝尔物理学奖并没有颁给那些高深莫测的物理学家研究黑洞、宇宙......
  • 数据不裸奔:如何确保AI分析顾客数据时的隐私保护
    在这个信息爆炸的时代,数据已成为最宝贵的资源之一。人工智能(AI)技术的发展,使得我们能够从海量数据中提取有价值的信息,为商业决策提供支持。然而,随着AI在数据分析领域的广泛应用,顾客隐私保护问题也日益凸显。如何在利用AI分析顾客数据的同时,确保他们的隐私不被侵犯,成为了一个亟待......