你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure AI Studio 中的模型基准
重要
本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款。
在 Azure AI Studio 中,你可以比较行业中可用的模型和数据集的基准,以决定哪一个基准适合你的业务方案。 可以直接访问模型目录中的详细基准测试结果。 无论你已经有了模型,还是正在了解模型,Azure AI 中的基准测试数据都可以帮助你快速高效地做出明智的决策。
Azure AI 支持对流行且最常用的精选模型进行模型基准检验。 受支持的模型有一个看起来像直方图的“基准检验”图标。 可以使用“集锦”筛选器并选择“基准检验结果”,在模型目录中找到这些模型。 然后,可以使用搜索功能查找特定模型。
模型基准有助于在启动任何作业之前就模型和数据集的可持续性做出明智的决策。 基准是根据对基准指标做出的全面比较,针对任务专门列出表现最好的模型。 Azure AI Studio 基于模型目录集锦为模型提供以下基准校验:
- 大型语言模型 (LLM) 和小型语言模型 (SLM) 的基准测试
- 跨嵌入模型的基准校验
LLM 和 SLM 的基准测试
模型基准通过以下类别评估 LLM 和 SLM:质量、性能和成本。 随着新指标和数据集添加到现有模型以及新模型添加到模型目录,基准会定期更新。
质量
Azure AI 通过各种指标评估 LLM 和 SLA 的质量,这些指标分为两个主要类别:准确度和提示辅助指标:
对于准确度指标:
跃点数 | 说明 |
---|---|
准确性 | 准确度评分在数据集和模型级别提供。 在数据集级别,评分是对数据集中所有示例计算的准确度指标的平均值。 除了使用 pass@1 指标的 HumanEval 数据集之外,准确度指标在所有情况下都是 exact-match 。 完全匹配会根据数据集将模型生成的文本与正确答案进行比较,如果生成的文本与答案完全匹配,则报告 1,否则报告 0。 pass@1 指标用于度量在代码生成任务中通过了一组单元测试的模型解决方案的比例。 在模型级别,准确度评分是每个模型的数据集级准确度的平均值。 |
对于提示辅助指标:
跃点数 | 说明 |
---|---|
一致性 | 连贯性可评估语言模型可以在多大程度上生成流畅、可自然读取且类似于人类语言的输出。 |
流畅度 | 流利度可评估生成式 AI 预测答案的语言熟练程度。 它评估生成的文本在多大程度上符合语法规则、句法结构和用词适当,从而产生语言正确和自然的响应。 |
GPTSimilarity | GPTSimilarity 可量化基本事实句子(或文档)与 AI 模型生成的预测句子之间的相似性。 在计算该指标时,将首先对基本事实和模型预测使用嵌入 API 来计算句子级嵌入。 这些嵌入可捕获句子的语义和上下文,用于表示句子的高维矢量表示形式。 |
真实性 | 真实性可衡量语言模型生成的答案与来自输入源的信息的一致程度。 |
相关性 | 相关性可衡量语言模型生成的响应与给定问题相关和直接相关的程度。 |
Azure AI 还按如下所示显示质量指数:
索引 | 说明 |
---|---|
质量指数 | 质量指数是通过将 GPTSimilarity 缩减为 0 到 1 之间,然后与准确度指标进行平均来计算的。 质量指数值越高越好。 |
质量指数表示适用的主要指标(准确度、重新缩放后的 GPTSimilarity)在 15 个标准数据集上的平均得分,分数为 0 到 1。
质量指数包含两类指标:
- 准确度(例如完全匹配或
pass@k
)。 范围为 0 到 1。 - 基于提示的指标(例如 GPTSimilarity、有据性、一致性、流畅性和相关性)。 范围为 1 到 5。
质量指标值的稳定性为模型的整体质量提供了一个指标。
性能
性能指标根据每天发送的 24 条跟踪(每条跟踪两个请求,每条跟踪间隔 1 小时)在 14 天内进行汇总计算得出的。 以下默认参数用于向模型终结点发出的每个请求:
参数 | 值 | 适用于 |
---|---|---|
区域 | 美国东部/美国东部 2 | 无服务器 API 和 Azure OpenAI |
每分钟令牌数 (TPM) 速率限制 | 30k(180 RPM,基于 Azure OpenAI) N/A(无服务器 API) |
对于 Azure OpenAI 模型,用户可以根据部署类型(标准、全局、全局标准等)选择速率限制范围。 对于无服务器 API,此设置是抽象的。 |
请求数量 | 每小时 1 个追踪(每天 24 个追踪),每个追踪包含 2 个请求 | 无服务器 API、Azure OpenAI |
跟踪/运行数 | 14 天,每天 24 个追踪,336 次运行 | 无服务器 API、Azure OpenAI |
提示/上下文长度 | 中等长度 | 无服务器 API、Azure OpenAI |
处理的令牌数(中等) | 输入与输出令牌的比例为 80:20,即 800 个输入令牌对应 200 个输出令牌。 | 无服务器 API、Azure OpenAI |
并发请求数 | 1 个(请求依次逐个发送) | 无服务器 API、Azure OpenAI |
Data | 合成(基于静态文本准备的输入提示) | 无服务器 API、Azure OpenAI |
区域 | 美国东部/美国东部 2 | 无服务器 API 和 Azure OpenAI |
部署类型 | Standard | 仅适用于 Azure OpenAI |
流式处理 | True | 适用于无服务器 API 和 Azure OpenAI。 对于通过托管计算部署的模型,请设置 max_token = 1 以复制流式处理应用场景,这允许计算托管计算的指标,如生成首个令牌的总时间 (TTFT)。 |
分词器 | Tiktoken 包 (Azure OpenAI) Hugging Face 模型 ID(无服务器 API) |
Hugging Face 模型 ID(Azure 无服务器 API) |
LLM 和 SLM 的性能通过以下指标进行评估:
跃点数 | 说明 |
---|---|
延迟平均值 | 通过多个请求计算得出的处理请求所用的平均时间(以秒为单位)。 为了计算此指标,我们将在两周内每小时向终结点发送一个请求,并计算平均值。 |
延迟 P50 | 延迟的第 50 百分位值(中值)(从发出请求到收到带有成功代码的完整响应所用的时间)。 例如,当我们向终结点发送请求时,50% 的请求在“x”秒内完成,“x”是延迟度量。 |
延迟 P90 | 延迟的第 90 百分位值(从发出请求到收到带有成功代码的完整响应所用的时间)。 例如,当我们向终结点发送请求时,90% 的请求在“x”秒内完成,“x”是延迟度量。 |
延迟 P95 | 延迟的第 95 百分位值(从发出请求到收到带有成功代码的完整响应所用的时间)。 例如,当我们向终结点发送请求时,95% 的请求在“x”秒内完成,“x”是延迟度量。 |
延迟 P99 | 延迟的第 99 百分位值(从发出请求到收到带有成功代码的完整响应所用的时间)。 例如,当我们向终结点发送请求时,99% 的请求在“x”秒内完成,“x”是延迟度量。 |
吞吐量 GTPS | 每秒生成的令牌数 (GTPS) 是从请求发送到终结点开始每秒生成的输出令牌数。 |
吞吐量 TTPS | 每秒令牌总数 (TTPS) 是每秒处理的令牌总数,包括来自输入提示和生成的输出令牌。 |
延迟 TTFT | 生成首个令牌的总时间 (TTFT) 是启用流式处理时生成从终结点返回的响应中的第一个令牌所花费的时间。 |
令牌间时间 | 此指标是接收令牌的间隔时间。 |
Azure AI 还显示延迟和吞吐量的性能指数,如下所示:
索引 | 说明 |
---|---|
延迟指数 | 生成首个令牌的平均时间。 值越小越好。 |
吞吐量指标 | 每秒生成的平均令牌数。 值越大越好。 |
对于延迟或吞吐量等性能指标,生成首个令牌的时间和每秒生成的令牌数可以更全面地反映模型的典型性能和行为。 我们会定期刷新性能数字。
成本
成本计算是使用托管在 Azure AI 平台上的 LLM 或 SLM 模型终结点的估计成本。 Azure AI 支持显示无服务器 API 和 Azure OpenAI 模型的成本。 由于这些成本可能会更改,因此我们会定期刷新成本计算。
LLM 和 SLM 的成本通过以下指标进行评估:
跃点数 | 说明 |
---|---|
每个输入令牌的成本 | 100 万个输入令牌的无服务器 API 部署成本 |
每个输出令牌的成本 | 100 万个输出令牌的无服务器 API 部署成本 |
估计成本 | 每个输入令牌的成本和每个输出令牌的成本的总和,比率为 3:1。 |
Azure AI 还按如下所示显示成本指数:
索引 | 说明 |
---|---|
成本指数 | 估计成本。 值越小越好。 |
嵌入模型的基准测试
模型基准基于质量评估嵌入模型。
质量
嵌入模型的质量通过以下指标进行评估:
跃点数 | 说明 |
---|---|
准确性 | 准确性是所处理的预测总数中正确预测的比例。 |
F1 分数 | F1 分数是精准率和召回率的加权平均值,其中最佳值为 1(完美的精准率和召回率),最差值为 0。 |
平均精准率均值 (MAP) | MAP 评估排名和推荐器系统的质量。 它衡量建议项的相关性以及系统在顶部放置更相关项时的相关性。 值的范围可以是 0 到 1,MAP 越高,系统就越能将相关项目放在列表的高位。 |
归一化折损累计增益 (NDCG) | NDCG 评估机器学习算法根据相关性对项进行排序的能力。 它将排名与所有相关项位于列表顶部的理想顺序进行比较(其中 k 是列表长度),同时评估排名质量。 在我们的基准中,k=10(由 ndcg_at_10 指标表示),意味着我们会查看前 10 项。 |
Precision | 精准率衡量模型正确标识特定类的实例的能力。 精度会显示机器学习模型在预测目标类时的正确频率。 |
Spearman 相关性 | 基于余弦相似性的斯皮尔曼相关性的计算方式是,首先计算变量之间的余弦相似性,然后对这些分数进行排名,再使用排名来计算斯皮尔曼相关性。 |
V 度量值 | V 度量值是用于评估群集质量的指标。 V 度量值是同质性和完整性的调和平均值,确保两者之间的平衡,以获得有意义的分数。 可能的分数介于 0 和 1 之间,1 表示完全完整的标记。 |
分数的计算
各项分数
基准检验结果源自常用于语言模型评估的公共数据集。 在大多数情况下,数据托管在由数据创建者或管护者维护的 GitHub 存储库中。 Azure AI 评估管道从原始源下载数据,从每个示例行中提取提示,生成模型响应,然后计算相关的准确度指标。
提示构造遵循每个数据集的最佳做法,这些做法由介绍数据集和行业标准的论文定义。 在大多数情况下,每个提示都包含几个样本,即完整问题和答案的示例,以便为任务模型打好基础。 评估管道通过从评估中保留的部分数据对问题和答案进行采样来创建样本。