多模态与模型评测,如何拓展AI的边界?

摘要:多模态与模型评测:拓展 AI 的边界 AI 核心技能系列 · 第 11 篇 导语 大模型不只是"文字模型"了——它能看图、听声音、理解视频。同时,一个经常被忽略但
多模态与模型评测:拓展 AI 的边界 AI 核心技能系列 · 第 11 篇 导语 大模型不只是"文字模型"了——它能看图、听声音、理解视频。同时,一个经常被忽略但极其重要的问题是:怎么判断一个 AI 系统到底好不好用? "感觉还行"不是评测。没有量化的评测,就没有优化方向,就不知道上线后会不会翻车。 这篇文章一次覆盖两个进阶主题:多模态能力和模型评测体系。 Part I:多模态 一、多模态大模型:从文字到万物 1.1 什么是多模态 多模态(Multimodal)= 模型能处理多种类型的输入和输出:文本、图像、音频、视频。 模型 文本 图像理解 图像生成 语音 视频 GPT-4o ✅ ✅ ✅(DALL·E) ✅ ✅ Claude Opus 4.6 ✅ ✅ ❌ ❌ ❌ Gemini 2.5 Pro ✅ ✅ ✅(Imagen) ✅ ✅ Llama 4 ✅ ✅ ❌ ❌ ❌ 1.2 为什么多模态重要 真实世界的信息不只是文字——合同是 PDF 扫描件、Bug 是截图、会议是录音、产品是设计稿。一个只能处理文字的 AI,在很多场景下是"残缺"的。 二、视觉理解:图像与文档 2.1 主流视觉能力 能力 说明 实际应用 图片描述 理解图片内容并文字描述 无障碍、内容审核 OCR 识别图片中的文字 票据识别、文档数字化 图表解读 理解数据图表的含义 数据分析、报告解读 文档理解 解析 PDF/扫描件的结构和内容 合同审查、表格提取 设计稿解读 理解 UI 设计稿 设计稿转代码 2.2 代码示例 from openai import OpenAI import base64 client = OpenAI() # 方式一:传入图片 URL response = client.chat.completions.create( model="gpt-4o", messages=[ { "role": "user", "content": [ {"type": "text", "text": "这张图片中有什么?请详细描述。"}, { "type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"} } ] } ] ) # 方式二:传入本地图片(Base64) def encode_image(image_path): with open(image_path, "rb") as f: return base64.b64encode(f.read()).decode("utf-8") image_data = encode_image("receipt.jpg") response = client.chat.completions.create( model="gpt-4o", messages=[ { "role": "user", "content": [ {"type": "text", "text": "请提取这张发票中的以下信息:发票号码、金额、日期、开票方。以 JSON 格式输出。"}, { "type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image_data}"} } ] } ], response_format={"type": "json_object"} ) print(response.choices[0].message.content) 三、语音与音频处理 3.1 核心能力 能力 代表工具 用途 语音识别 (ASR) Whisper, Gemini 语音转文字 语音合成 (TTS) OpenAI TTS, ElevenLabs 文字转语音 实时对话 GPT-4o Realtime API 语音实时交互 3.2 语音处理流水线 from openai import OpenAI client = OpenAI() # 1. 语音转文字 (ASR) with open("meeting_recording.mp3", "rb") as audio_file: transcript = client.audio.transcriptions.create( model="whisper-1", file=audio_file, language="zh", response_format="text" ) print(f"会议记录: {transcript}") # 2. 用 LLM 处理文本(总结会议) summary = client.chat.completions.create( model="gpt-4o", messages=[ {"role": "system", "content": "你是一个会议助手,请总结会议要点。"}, {"role": "user", "content": f"以下是会议录音的文字稿,请提取关键决策和待办事项:\n\n{transcript}"} ] ) # 3. 文字转语音 (TTS) tts_response = client.audio.speech.create( model="tts-1", voice="alloy", input=summary.choices[0].message.content ) tts_response.stream_to_file("meeting_summary.mp3") Part II:模型评测 四、为什么评测很重要 "感觉还行"不等于"真的好用"。 没有评测的 AI 项目: "我觉得回答挺好的" → 上线 → 用户投诉 → "怎么回事?" → 无从排查 有评测的 AI 项目: "Faithfulness 0.85, Relevancy 0.78" → 针对性优化 → "优化后 0.92, 0.89" → 上线 评测的三个层次: 层次 评什么 方法 负责人 模型层 模型本身的基础能力 Benchmark(MMLU 等) 模型团队 应用层 模型在特定任务的表现 自定义评测集 AI 工程师 业务层 对业务指标的影响 A/B 测试、用户满意度 产品团队 五、评测体系设计 5.1 基准测试(Benchmark) Benchmark 评测内容 指标 MMLU 57 个学科知识 准确率 HumanEval 代码生成 Pass@K GSM8K 数学推理 准确率 MT-Bench 多轮对话质量 1-10 评分 LMSYS Chatbot Arena 综合用户偏好 Elo 评分 5.2 LLM-as-Judge(用 LLM 评 LLM) 用一个强模型(如 GPT-4o)来评判另一个模型的输出质量。 def llm_judge(question, answer, reference=None): """用 GPT-4o 作为裁判评估回答质量""" judge_prompt = f"""请评估以下回答的质量,按 1-5 分打分。 评分标准: 1 分:完全错误或无关 2 分:部分正确但有重大错误 3 分:基本正确但不完整 4 分:正确且完整 5 分:优秀,超出预期 问题:{question} {"参考答案:" + reference if reference else ""} 待评估回答:{answer} 请输出 JSON:{{"score": <1-5>, "reason": "<评分理由>"}}""" response = client.chat.completions.create( model="gpt-4o", messages=[{"role": "user", "content": judge_prompt}], response_format={"type": "json_object"} ) return json.loads(response.choices[0].message.content) 5.3 评测方法对比 方法 成本 可靠性 适用场景 Benchmark 低 高(标准化) 模型基础能力对比 LLM-as-Judge 中 中高 开放式生成任务 人工评估 高 最高 最终验收 自动指标 低 中(任务依赖) 分类、抽取等有标准答案的任务 六、构建自己的评测管线 import json from dataclasses import dataclass from typing import List @dataclass class EvalCase: question: str expected: str category: str @dataclass class EvalResult: question: str expected: str actual: str score: float reason: str def build_eval_pipeline(model_fn, eval_cases: List[EvalCase]) -> dict: """构建评测管线""" results = [] for case in eval_cases: # 1. 获取模型输出 actual = model_fn(case.question) # 2. 用 LLM-as-Judge 评分 judgment = llm_judge(case.question, actual, case.expected) results.append(EvalResult( question=case.question, expected=case.expected, actual=actual, score=judgment["score"], reason=judgment["reason"] )) # 3. 汇总统计 avg_score = sum(r.score for r in results) / len(results) by_category = {} for r in results: cat = next(c.category for c in eval_cases if c.question == r.question) by_category.setdefault(cat, []).append(r.score) category_scores = { cat: sum(scores)/len(scores) for cat, scores in by_category.items() } return { "overall_score": avg_score, "category_scores": category_scores, "total_cases": len(results), "details": results } # 使用示例 eval_cases = [ EvalCase("什么是 RAG?", "RAG 是检索增强生成...", "基础概念"), EvalCase("LoRA 的原理?", "LoRA 通过低秩矩阵分解...", "技术深度"), # ...更多测试用例 ] report = build_eval_pipeline(my_model_fn, eval_cases) print(f"总体得分: {report['overall_score']:.2f}") for cat, score in report['category_scores'].items(): print(f" {cat}: {score:.2f}") 七、RAG 评测专题 RAG 系统有特殊的评测维度——不仅要评生成质量,还要评检索质量: 指标 含义 好的范围 Context Precision 检索到的文档中,真正相关的比例 > 0.8 Context Recall 所有相关文档中,被检索到的比例 > 0.7 Faithfulness 回答是否忠实于检索到的文档(不编造) > 0.9 Answer Relevancy 回答是否回答了用户的问题 > 0.8 使用 RAGAS 评测 from ragas import evaluate from ragas.metrics import ( faithfulness, answer_relevancy, context_precision, context_recall ) from datasets import Dataset # 准备评测数据 eval_data = { "question": ["公司的年假政策是什么?", "如何申请报销?"], "answer": ["入职满一年后享有5天年假...", "填写报销单并提交..."], "contexts": [ ["员工入职满一年后享有5天年假,满3年10天..."], ["报销流程:1.填写报销单 2.主管审批..."] ], "ground_truth": ["入职满一年5天,满三年10天...", "填写报销单,主管审批后..."] } dataset = Dataset.from_dict(eval_data) # 执行评测 results = evaluate( dataset, metrics=[faithfulness, answer_relevancy, context_precision, context_recall] ) print(results) # {'faithfulness': 0.92, 'answer_relevancy': 0.88, # 'context_precision': 0.85, 'context_recall': 0.78} 八、职业视角 方向 价值 多模态 差异化竞争力——大部分人只会处理文本 评测能力 企业中极度稀缺——很多团队"凭感觉"做 AI,缺少评测体系 面试高频问题: 怎么评估一个 RAG 系统的效果?(Faithfulness + Relevancy + Context Precision/Recall) LLM-as-Judge 有什么问题?(位置偏差、自我偏好、长度偏差) 你会怎么为一个新的 AI 功能设计评测方案?(确定评测维度→构建测试集→选择评测方法→建立基线→持续回归) 总结 多模态: GPT-4o/Gemini 已原生支持视觉+语音,Claude 支持视觉 视觉理解的典型应用:OCR、文档解析、图表分析、设计稿转代码 语音流水线:ASR(Whisper) → LLM 处理 → TTS 模型评测: 三个层次:模型层(Benchmark)→ 应用层(自定义评测)→ 业务层(A/B 测试) LLM-as-Judge 是开放式任务的主流评测方法 RAG 评测四维度:Context Precision/Recall + Faithfulness + Answer Relevancy 评测不是一次性的——需要持续回归测试 本文是 AI 核心技能系列 第 11 篇,共 12 篇。上一篇:Skills 与知识系统 | 下一篇:AI 岗位全景与转行指南 关注公众号「coft」,获取完整系列更新、配套代码和学习路线图。一起交流 AI 转行经验,助力职业跃升,迈向高薪岗位。