孔某人的低维认知 前天 15:01
2025.4 海外LLM 的一个实际案例benchmark
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文作者分享了一项针对大模型长文本理解能力的评测结果,主要考察了32k上下文处理、指令遵循和分析能力。测试基于作者自建数据集,涵盖语音转录文本分析场景,旨在识别说话人及其身份信息。测试结果显示,Claude-3.7-sonnet在工作流场景中表现最佳,Grok-3系列模型表现出色,而OpenAI的o3-mini/o4-mini模型表现不佳。作者还对各模型在过去半年的能力提升进行了评估,并提供了交流合作方式。

🗣️ **测试目标与场景:** 该评测主要针对大模型的32k上下文处理能力、指令遵循能力和分析能力进行考察,测试场景为识别长播客转录文本中的说话人及其身份信息,并对语音识别结果进行纠错。

📊 **测试方法与数据集:** 作者构建了自用数据集,并对数据集进行了难度筛选,以确保测试的有效性。测试过程中,作者使用GPT-4o的tokenizer计算token数量,并提供了详细的prompt设计,用于指导模型完成任务。

🥇 **测试结果与模型表现:** Claude-3.7-sonnet 在工作流场景中表现最佳,Grok-3系列模型表现出色,而o3-mini/o4-mini模型表现不佳。作者还观察到各模型在过去半年中能力有明显提升,并对Llama 4的表现进行了评价。

💡 **错误类型与评估标准:** 测试中,结果个数错误和JSON解析错误被认为是严重错误,同一说话人识别错误次之,说话人名称错误最轻。这些错误类型反映了模型在处理长文本和复杂指令时的不同问题。

原创 孔某人 2025-04-18 16:05 北京

该benchmark主要考察:32k context能力,指令遵从能力,分析能力。

由于一些机缘,我把个人场景简化了一下做一个评测集。测了一下海外各家,感觉还是有点意思的,把结果放出来供参考。

本次测试又花了我2400CNY的API调用费。

测试场景

测试任务是:输入一个长播客的转录文稿,然后根据播客简介和转录内容,识别每个说话人各是谁、以及哪些ASR结果的说话人实际上是同一个。平均输出长度25.8k token(以gpt-4o的tokenizer计算),长度的标准差12.4k token。

数据集经过了难度筛选,剔除掉OpenAI、Anthropic、Google三家最强模型的成功率都很低的case。真值经过人工标定,有些真值可能无法从输入中推断,所以理论准确率上限低于100%。数据集是直接从我自用的场景捞了一批,可能有少量标注错误。

任务prompt距离实际应用进行了一些简化,整体为推理模型而设计,只提供参考思路,不硬性规定CoT步骤。

    以下是一个对话录音的语音识别结果,其中包含多个说话人,不同的说话人由speaker id区分。你需要根据整个对话的语音识别结果,识别对话中是否有提到每个说话人是谁,以及他的身份信息和个人介绍。如果能够确认说话人的名字和个人信息,则进行输出,如果不能确认,则对应字段输出为空。不要添加没有发言的嘉宾信息,即没有speaker_id的说话人。有些时候一个说话人可能由于语音识别的问题被识别为多个不同的speaker id此时需要将这些speaker id合并为同一个speaker id,并输出为is_same_to字段。以下是语音识别结果:```text{asr_result_text}```该录音中有 {speaker_num} 个说话人。该视频的标题为:{video_title}以下是这个对话的相关信息,其中可能包含有说话人的名字和身份信息。```text{video_info_text}```speaker的名字或ID的拼写应该以以上信息中的文字为准。识别说话人的方式:pattern 1:* 对话中提到某个嘉宾的名字,此时直接使用嘉宾的名字作为speaker_name。pattern 2:* 如果对话内容和频道默认信息都不能识别出说话人,则从视频的标题中尝试分析主要的发言人。pattern 3:* 对于仍然无法识别出说话人的情况,分配以下默认的speaker_name:    * 对于不知道名字,主要发言是配合演示的助手或者AI助手,为他们分配 助手1 助手2 AI助手1 等speaker_name。    * 对于不知道名字,主要发言是向主要发言人提问的观众,为他们分配 观众1 观众2 等speaker_name。    * 对于不知道名字,只在开头部分介绍各个嘉宾的人,为他们分配 司仪 的speaker_name。    * 其他无法识别出名字的,则使用 嘉宾1 嘉宾2 等speaker_name。整个识别过程可以参考以下过程---Step 1:分析对话中哪些speaker id可能是同一个说话人。对于同一个说话人被识别为多个speaker id的情况,一般在这些speaker id对话的切换过程中没有提问和问答、回应等。可以根据这些信息进行推断。有些时候多个说话人之间会进行抢话,但只有有明确的其他证据表明这确实是不同的人时,才把某些不完整的句子的来回切换作为不同的说话人。当总说话人数量较多,且经常出现一句完整的话被拆分为多个说话人时,要优先怀疑这些说话人可能是同一个人被识别成了多个的情况。Step 2:对于Step 1去重后的每个说话人,逐个尝试匹配上面的规则pattern,如果匹配成功,则采用对应pattern的分析结果确定其speaker_name,跳过后续pattern的匹配。要对于每一个说话人都进行分析,不要遗漏。real speaker [index]:contain_speaker_id_list: speaker_xx, speaker_yy, ...  # 哪些speaker id是该说话人pattern 1: 分析是否符合该规则,如果符合则终止匹配后续pattern,否则继续匹配patternpattern 2: ......最终以json输出每个说话人的身份信息如果不确定一个speaker的名字或ID,则在speaker_name中填入他的描述,例如主持人、嘉宾1、某某人的XX 等等。{{    "speaker_info_list": [        {{            "speaker_id""speaker_1",            "speaker_name""speaker name",            "speaker_info""该说话人的身份,不要包括其他信息。"        }},        {{            "speaker_id""speaker_2",            "speaker_name""",            "speaker_info"""        }},        {{            "speaker_id""speaker_xx",            "is_same_to""speaker_xx"        }}    ]}}

    这个测试考察的是:32k context能力,指令遵从能力,分析能力。不过从测试结果来看,并不能发挥出推理模型的优势,需要的分析能力对于非推理模型也足够。

    测试结果

    测试结果如下表:

    其中:


    简评:


    截止发稿时,还没有精力搞测试集开源。考虑到之前开源的测试方案用的人也不多,这个也不一定会做。各家模型厂的人如果有需要请单独找我获取。


    交流与合作

    如果希望和我交流讨论,或参与相关的讨论群,或者建立合作,请加微信,联系方式请点击 -> 专栏简介 及 联系方式 2024

    本文于2025.4.18 首发于微信公众号和知乎,知乎链接:

    https://zhuanlan.zhihu.com/p/1896592220351595651

    阅读原文

    跳转微信打开

    Fish AI Reader

    Fish AI Reader

    AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

    FishAI

    FishAI

    鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

    联系邮箱 441953276@qq.com

    相关标签

    大模型 长文本理解 模型评测 Claude Grok
    相关文章