首页 > 科技周边 > 人工智能 > 微调美洲驼3.2从图像中提取卡路里的视觉

微调美洲驼3.2从图像中提取卡路里的视觉

Joseph Gordon-Levitt
发布: 2025-03-04 09:44:16
原创
110 人浏览过

近年来,人工智能融入各个领域的一体化已经彻底改变了我们与技术的互动方式。最有希望的进步之一是开发能够理解和处理视觉和文本信息的多模式模型。其中,Llama 3.2视觉模型是需要对图像进行复杂分析的应用程序的强大工具。本文探讨了对Llama 3.2视觉模型进行微调的过程,专门用于使用Unsloth AI。

学习目标

    探索Llama 3.2视觉模型的体系结构和特征。
  • 被介绍给Unsploth AI及其主要功能。
  • >学习如何使用图像数据集微调ai。
  • >本文是

> > data Science Blogathon的一部分。 内容表 llama 3.2视觉模型

> llama 3.2视觉模型的应用

    >
  • >
  • 视觉
    • >微调Llama 3.2 11B视觉模型使用不舒服的AI
    • >步骤1。安装必要的库
    • >
    • 步骤2。定义模型
    • 步骤3。加载数据集
    • 步骤4。模型
    • >步骤6。启动微调
    • >步骤7。检查模型的结果微调
    • >>
    • 在样本数据
结论上测试 骆驼3.2视觉模型

微调美洲驼3.2从图像中提取卡路里的视觉 由Meta开发的 Llama 3.2视觉模型

是一种最先进的多模式大型语言模型,旨在高级视觉理解和推理任务。以下是有关该模型的关键细节:

  • 体系结构:Llama 3.2 Vision建立在Llama 3.1仅文本模型的基础上,利用优化的变压器体系结构。它结合了一个视觉适配器,该适配器由跨注意层组成,将图像编码器与语言模型集成在一起。
  • >
  • >可用的尺寸:该模型有两个参数尺寸:
    • 11b(110亿参数)用于在消费级GPU上有效部署。 大规模应用
    • >多模式输入: llama 3.2视觉可以同时处理文本和图像,允许其执行诸如视觉识别,图像推理,字幕和回答与图像有关的问题等任务。
    培训数据:
  • 该模型接受了大约60亿张图像文本对训练,增强了其基于视觉输入的理解和生成内容的能力。
  • 上下文长度:它支持上下文长度高达128K令牌
  • >
  • 也阅读:Llama 3.2 90B vs GPT 4O:图像分析比较
  • > Llama 3.2视觉模型的应用 Llama 3.2视觉是为各种应用而设计的,包括:
  • >
视觉询问答案(VQA):

基于图像的内容回答问题。

图像字幕:

生成图像的描述标题。

> image-Text检索:
    匹配图像与其文本说明。
  • 视觉接地:
  • >将语言引用链接到图像的特定部分。
  • 什么是不舒服的ai?
  • > Unsploth AI是一个创新的平台,旨在增强大型语言模型(LLMS)(如Llama-3,Mismtral,Phi-3和Gemma)的微调。它旨在简化针对特定任务的预训练模型的复杂过程,从而使其更快,更有效。

    > unsploth ai

    的关键特征
    • 加速训练: Unsploth具有将模型快速调整的能力快30倍,同时将记忆使用量减少60%。通过先进的技术,例如手动自动克,链式矩阵乘法和优化的GPU内核,可以实现这种显着的改进。
    • 用户友好型:该平台是开源且易于安装的,允许用户在本地设置它或使用诸如Google Colab之类的云资源。综合文档支持用户导航微调过程。>
    • 可伸缩性:
    • Unsploth支持一系列硬件配置,从单个GPU到多节点设置,使其适用于小型团队和企业级别的应用程序。 > 多功能性:该平台与各种流行的LLM兼容,可以应用于语言生成,摘要和对话ai。
    • > unsploth AI代表了AI模型培训的重大进步,这使得希望有效地创建高性能自定义模型的开发人员和研究人员可以使用。 >骆驼的性能基准3.2 Vision

    骆驼3.2视觉模型在解释图表和图表方面表现出色。

    在视觉基准中,110亿个模型在视觉基准中超过了Claude 3 Haiku,例如MMMU-PRO,Vision(23.7),ChartQA(83.4),AI2图(91.1),而90亿个模型超过了Claikuin 3 Haikuin所有视觉解释任务。

    结果,Llama 3.2是需要文档理解,视觉询问答案和从图表中提取数据的任务的理想选择。微调美洲驼3.2从图像中提取卡路里的视觉

    >微调骆驼3.2 11B视觉模型,使用Unsploth ai

    在本教程中,我们将仔细研究Llama 3.2 11B视觉模型的过程。通过利用其高级功能,我们旨在提高模型在识别食品和基于视觉输入的热量含量方面的准确性。

    >微调该模型涉及对其进行自定义,以更好地了解食品图像和营养数据的细微差别,从而改善其在现实世界应用中的性能。我们将深入研究这个微调过程中涉及的关键步骤,包括数据集准备以及配置培训环境。我们还将采用诸如LORA(低级适应)之类的技术来优化模型性能,同时最大程度地减少资源使用情况。 >我们将利用不完善的AI自定义模型的功能。我们将使用的数据集由食物图像组成,每个图像都伴随着有关各种食品的卡路里含量的信息。这将使我们能够提高模型有效分析与食物相关数据的能力。 >所以,让我们开始!

    >步骤1。安装必要的库

    !pip install unsloth
    登录后复制
    登录后复制
    登录后复制

    >步骤2。定义模型

    from unsloth import FastVisionModel
    import torch
    
    model, tokenizer = FastVisionModel.from_pretrained(
        "unsloth/Llama-3.2-11B-Vision-Instruct",
        load_in_4bit = True,
        use_gradient_checkpointing = "unsloth",
    )
    
    model = FastVisionModel.get_peft_model(
        model,
        finetune_vision_layers     = True,
        finetune_language_layers   = True,
        finetune_attention_modules = True,
        finetune_mlp_modules       = True,
        r = 16,
        lora_alpha = 16,
        lora_dropout = 0,
        bias = "none",
        random_state = 3443,
        use_rslora = False,
        loftq_config = None,
    )
    登录后复制
    • >从_pretrated:此方法加载了预训练的模型及其令牌。指定的模型是“不舒服/Llama-3.2-11b-vision-Instruct”。
    • >
    • load_in_4bit = true :此参数表明该模型应加载4位量化,该量化在保持性能的同时大大降低了内存使用。
    • >
    • > use_gradient_checkpointing =“ unsploth”:>启用渐变检查点,这可以通过保存中间激活来帮助在训练过程中管理内存。

    get_peft_model:此方法使用参数效率微调(PEFT)技术配置用于微调的模型。> >微调选项:

      finetune_language_layers = true:
    • 启用语言层的微调(可能负责理解文本的变压器层)> 在 finetune_mlp_modules = true:启用多层perceptron(MLP)模块的微调。
    • lora参数:
    • r = 16,lora_alpha = 16,lora_dropout = 0:这些参数配置低级适应性(lora),这是一种减少可训练参数的技术,同时保持性能。
    • bias =“无”:这表明该层的微调过程中不包含偏差术语。>
    • Random_State = 3443:这为可重复性设置了随机种子。通过使用此种子,模型微调过程将是确定性的,如果再次使用相同的设置运行,则会给出相同的结果。

    use_rslora = false:这表明未使用称为rslora的洛拉的变体。 rslora是参数有效调整的另一种方法。

      >
    • > loftq_config = none:>
    • >步骤3。加载数据集
    • 我们在文本中加载数据集以及其卡路里描述。
    • 数据集有3列 - “图像”,“查询”,“响应”
    • > >步骤4。将数据集转换为对话
    • 我们将数据集转换为与涉及两个角色的对话 - 用户和助手。 助手回复用户上的用户查询提供的图像。 >步骤5。在微调模型之前推断模型的推断
    • 输出:

    >项目1:炸饺子 - 400-600卡路里
    项目2:红色酱 - 200-300卡路里
    总卡路里 - 600-900卡路里

    > 基于份量和成分,这两个项目的估计卡路里计数分别为400-600和200-300,分别针对炸饺子和红酱,估计的卡路里计数为200-300。当一起食用时,整盘的总估计卡路里数量为600-900卡路里。

    >总营养信息:

    > 卡路里: 600-900卡路里

    • 服务尺寸: 1盘蒸Momos
    • >
    • >结论:>基于准备餐食的成分,可以估算营养信息。
    • 为下面的输入映像生成输出:

    从原始模型的输出中可以看出,文本中提到的项目是指“油炸饺子”,即使原始输入图像中有“蒸Momos”。同样,在原始模型的输出中未提及输入图像中存在的莴苣的卡路里。>原始模型的输出:

    项目1:炸饺子 - 400-600卡路里

    微调美洲驼3.2从图像中提取卡路里的视觉>

    项目2:红色酱 - 200-300卡路里

    >

      总卡路里 - 600-900卡路里
    • > 基于份量和成分,这两个项目的估计卡路里计数分别为400-600和200-300,分别针对炸饺子和红酱,估计的卡路里计数为200-300。当一起食用时,整盘的总估计卡路里数量为600-900卡路里。
    • >总营养信息:
    • 卡路里:600-900卡路里
    服务尺寸:1盘蒸Momos

    >

    >

    结论:根据准备餐食的成分,可以估算营养信息。

    >步骤6。启动微调

    !pip install unsloth
    登录后复制
    登录后复制
    登录后复制

    sfttrainer参数

    • > sfttrainer(…):这会初始化用于微调模型的教练。 SFTTRAINER专门设计用于监督模型的微调。
    • 模型=模型:将进行微调的预载或初始化模型。 tokenizer = tokenizer:用于将文本输入转换为令牌ID的令牌。这样可以确保为模型正确处理文本和图像数据。
    • > data_collat​​or = unslothvisiondataCollat​​or(模型,tokenizer):
    • 数据碰撞器负责准备数据批次(特别是视觉语言数据)。该碰撞器处理如何将图像文本对分组在一起,以确保它们适当对齐并为模型格式化。
    • train_dataset = converted_dataset:这是将用于培训的数据集。假定Converted_dataset是一个预处理的数据集,其中包括图像文本对或类似的结构化数据。
    • > sftConfig类参数

    >

    per_device_train_batch_size = 2:这将批处理大小设置为培训期间的每个设备(例如GPU)的批次大小。
    • > gradient_accumulation_steps = 4:此参数确定在更新模型权重之前执行的正向通行(或步骤)的数量。从本质上讲,它允许通过在多个较小的批次上累积梯度来模拟较大的批量大小。
    • 热身_STEPS = 5:>他的参数指定学习率逐渐从小价值提高到初始学习率的初始训练步骤的数量。学习率热身的步骤数量,学习率逐渐提高到目标价值。
    • max_steps = 30:在微调过程中执行的最大训练步骤数(迭代)。
    • Learning_rate = 2e-4:优化器的学习率,设置为0.0002。
    • 精确设置
    • > fp16 =不支持IS_BF16_SUPPORTED():如果不支持BFloat16(BF16)精度(由IS_BF16_SUPPORTED()检查,则使用16位浮点精度(FP16)。如果支持BF16,则代码将自动使用BF16。
    > bf16 = is_bf16_supported():

    >此检查硬件是否支持Bfloat16精度并在支持的情况下启用。

    >
    • >记录和优化
    • logging_steps = 5 :将记录培训进度的步骤数。>
    optim =“ adamw_8bit”:

    >这将以8位精度为ADAMW设置了优化器(可能用于更有效的计算和减少的内存使用情况)。

    >
    • > wigath_decay = 0.01:重量衰减(L2正则化),以防止过度拟合大量重量。
    • lr_scheduler_type =“线性”:这将学习率调度程序设置为线性衰减,其中学习率从初始值降低到零。
    • 种子= 3407:
    • 这设置了训练中可重复性的随机种子。
    • output_dir =“ outputs”:
    • 这指定了该目录,其中训练有素的模型和其他输出(例如,日志)将保存。>>>>> > report_to =“无”:
    • >该禁用向外部系统(例如权重和偏见)进行报告,因此培训日志不会发送到任何远程跟踪服务。
    • >特定于视觉的参数
    >

    > remove_unused_columns = false:保留数据集中的所有列,这对于视觉任务可能是必需的。

    >
    • > dataset_text_field =“”:指示数据集中的哪个字段包含文本数据;在这里,它是空的,可能表明可能不需要特定的文本字段。
    • dataset_kwargs = {true}
    • :假设它已经准备好了,请跳过数据集的任何其他准备步骤。> :加载或处理数据集时要使用的过程数量,可以加快数据加载时要使用的进程数。通过设置thedataset_num_procparameter,您可以启用数据集的并行处理。
    • > max_seq_length = 2048:输入数据的最大序列长度,可以处理更长的序列。 max_seq_length参数指定可以立即馈入模型的令牌数(或输入ID)的上限。>
    • >设置此参数太低可能会导致更长的输入截断,这可能会导致重要信息的丢失。
    • 也阅读:llama 3.2 3b for rag
    • >
    • >步骤7。检查模型的结果 >从微调模型输出:
    • 从固定模型的输出中可以看出,文本中的所有三个项目及其卡路里都以所需的格式正确提及。

    测试样本数据 我们还测试了微调模型在看不见的数据上的良好性。因此,我们选择了模型之前未看到的数据行。

    >

    我们将其选择为输入图像。
    !pip install unsloth
    登录后复制
    登录后复制
    登录后复制

    微调美洲驼3.2从图像中提取卡路里的视觉

    >从微调模型

    输出

    从微型模型的输出中可以看到

    >,披萨的所有组成部分都已准确鉴定出来,并且也提到了它们的卡路里。

    结论

    >像Llama 3.2视觉这样的AI模型的整合正在改变我们分析和与视觉数据相互作用的方式,尤其是在食品识别和营养分析等领域。通过使用不牢房的AI微调这种强大的模型,我们可以显着提高其理解食物图像并准确估计卡路里含量的能力。

    >

    微调过程,利用诸如洛拉(Lora)等先进技术和不舒服AI的有效功能,可确保最佳性能,同时最大程度地减少资源使用情况。这种方法不仅提高了模型的准确性,而且为食品分析,健康监测以及其他地区的现实应用程序打开了大门。通过本教程,我们演示了如何将尖端AI模型调整为专业任务,推动技术和营养的创新。

    钥匙要点

      的开发多模式模型,例如Llama 3.2 Vision,使AI能够处理和了解视觉和文本数据,为诸如食品图像分析等应用程序开辟了新的可能性。 Llama 3.2 Vision是涉及图像识别,推理和视觉接地的任务的强大工具,重点是从图像中提取详细信息,例如食物图像中的卡路里内容。
    • >
    • >微调Llama 3.2视觉模型可以根据特定任务进行定制,例如食品卡路里提取,提高其识别食品的能力并准确估算营养数据。
    • > unsploth AI显着加速了微调过程,在将内存使用量减少60%的同时,使其更快地加速了30倍,从而更有效地创建了自定义模型。
    • >本文所示的媒体不归Analytics Vidhya拥有,并由作者酌情使用。
    • 常见问题

    > Q1。 Llama 3.2视觉模型是什么,它如何工作? Llama 3.2视觉模型是由Meta开发的多模式AI模型,能够处理文本和图像。它使用变压器体系结构和跨注意层将图像数据与语言模型集成在一起,从而使其能够执行视觉识别,字幕和图像文本检索等任务。微调Llama 3.2视觉模型如何改善其性能?微调将模型定制为特定任务,例如从食物图像中提取卡路里信息。通过在专业数据集中训练该模型,它在识别食品和估算其营养含量方面变得更加准确,使其在现实世界中更有效。 Q3。不舒服的AI在微调过程中扮演什么角色? Unsploth AI通过使其更快,更有效地增强了微调过程。它允许对模型的微调快30倍,同时将内存使用量减少60%。该平台还提供了轻松设置和可扩展性的工具,支持小型团队和企业级应用程序。什么是Lora(低级适应),为什么在微调过程中使用它?洛拉(Lora)是一种用于优化模型性能的技术,同时降低资源使用情况。它有助于更​​有效地调整大型语言模型,从而使训练过程更快,计算较少,而不会损害准确性。 Lora仅通过将低级矩阵引入模型体系结构来修改一小部分参数。

    Q5。可以使用哪些实际应用3.2视觉模型?微型模型可用于各种应用中,包括从食物图像中提取卡路里,视觉询问,文档理解和图像字幕。它可以显着增强需要视觉和文本分析的任务,尤其是在健康和营养等领域。

以上是微调美洲驼3.2从图像中提取卡路里的视觉的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板