SheepNav
新上线今天0 投票

多模态评估器:用 MLLM 作为裁判评估图像到文本任务

在构建视觉购物、图像或文档理解、图表分析等应用时,如何验证模型输出是否真正基于源图像是一大挑战。纯文本评估器无法判断描述是否忠实反映图像、提取的发票金额是否与文档一致,或屏幕摘要是否虚构了不存在的按钮。Gartner 预测,到 2030 年,80% 的企业软件将具备多模态能力,而 2024 年这一比例还不足 10%。缺乏自动化多模态评估,企业只能在昂贵的人工审核和不可靠的纯文本代理之间左右为难。

如今,AWS 在 Strands Evals SDK 中推出了四种新的多模态大语言模型(MLLM)作为裁判的评估器,专门用于图像到文本任务:Overall Quality(整体质量)、Correctness(正确性)、Faithfulness(忠实性)和 Instruction Following(指令遵循)。每个评估器都会根据源图像对模型输出进行评分。评估器将图像直接发送给多模态裁判模型,同时附上查询、响应以及可选的参考答案。裁判模型返回基于图像的分数以及推理过程字符串,便于调试。

这些评估器可以无缝替换现有 Strands Evals 工作流中的纯文本评估器,并集成到持续集成(CI)中,自动捕捉视觉幻觉、事实错误和指令违规。本文将介绍如何设置这四种多模态评估器并运行图像到文本任务;如何在有参考和无参考评估之间切换;如何为特定领域标准编写自定义多模态评估标准;如何在 Amazon Bedrock 上选择平衡准确性、成本和延迟的裁判模型;以及如何应用提示设计选择来提升评估器与人类判断的一致性。

设置与使用

首先,确保已安装 Python 3.10 或更高版本。通过 Strands Evals SDK 可以快速调用这些评估器。示例代码如下:

from strands_evals import MultimodalEvaluator

evaluator = MultimodalEvaluator(
    judge_model="anthropic.claude-3-sonnet-20240229-v1:0",
    evaluator_type="faithfulness"
)

result = evaluator.evaluate(
    image_path="invoice.jpg",
    query="提取发票总金额",
    response="总金额为 $123.45",
    reference="$123.45"  # 可选
)
print(result.score, result.reasoning)

自定义多模态评估标准

若需针对特定领域制定标准,可编写自定义评估标准。例如,在医疗影像报告中,可以定义“报告必须描述病变位置和大小”等规则,评估器将据此打分。

选择裁判模型

Amazon Bedrock 提供了多种多模态模型,如 Claude 3 Sonnet、Claude 3 Haiku 等。Claude 3 Sonnet 在准确性和延迟之间取得了良好平衡,适合大多数场景;而 Claude 3 Haiku 则更注重成本效益。用户可根据任务需求灵活选择。

提示设计技巧

实验表明,在提示中加入“逐步推理”指令(如“请先描述图像内容,再评估回答”)可以显著提升评估器与人类判断的一致性。此外,明确要求模型输出评分理由,有助于调试和审计。

通过引入多模态评估器,开发者可以更可靠地自动化评估图像到文本任务的输出质量,减少人工干预,加速 AI 应用的落地。

延伸阅读

  1. 掩码离散序列模型中成对互信息的神经估计:让AI学会“读懂”变量关系
  2. GraphDiffMed:融合药理图先验与差分注意力机制,实现更可靠的药物推荐
  3. TabPFN-MT:专为表格数据设计的原生多任务上下文学习器
查看原文