You need to enable JavaScript to run this app.
导航
批量推理
最近更新时间:2024.09.20 17:34:40首次发布时间:2024.07.29 16:23:51
功能介绍

批量推理(Batch Inference)适用于无需实时响应的推理场景,可以一次性离线处理大量数据。
用户可以将多个推理请求合并成一个批次作为输入文件存储于 TOS,通过控制台或 API 提交和管理批量推理任务,并在任务结束后获得推理结果。
相比在线推理,批量推理提供更高额度的访问限制,用户无需关注单次请求的执行情况,适合于模型评测、批量回归等场景。
目前火山方舟平台支持以下基础模型的批量推理:

  • Doubao-pro-4k

  • Doubao-pro-32k

每个模型每日提供1.3B TPD(1,300,000,000 Token per Day)的限流额度。

使用流程

准备与上传文件

请参照 输入文件格式说明 准备包含您要进行推理的请求的输入文件,并确保账户已启用火山引擎对象存储 TOS 服务,之后将准备好的输入文件上传至您的 TOS 中。

创建批量推理任务

在「批量推理」页面,点击左上角 创建批量任务 按钮跳转至创建页。

填写批量推理任务表单,包括任务基本信息、推理配置、数据配置等,填写完成之后点击页面右侧 创建批量推理任务 按钮提交任务。

表单配置字段具体填写说明如下:

字段名描述及填写规范
任务名称必填;给本次批量推理任务命名,方便记录检索;支持1~200位可见字符,且仅包含大小写英文字母、汉字、数字、短划线(-)、下划线(_)
任务描述选填;给本次批量推理任务添加除名称以外的其他描述信息,方便多次迭代版本,重要信息记录;支持1~300位可见字符
模型选择必填;可选择模型广场与模型仓库中支持批量推理的模型版本,只允许选择单个模型版本
购买方式必填;仅支持「按 Token 计费」的后付费方式
最长等待时间选填;以天为单位,若填写此字段,将从任务提交时间开始计时,如果在设置的时间内未能完成,该任务将自动停止,批次中未处理的请求将被取消,用户可以获取已完成请求的结果文件;若不填写此字段,批量推理任务将默认持续运行;此参数无法在任务创建后修改
输入数据必填;要进行批量推理的输入文件,可填入或选择数据在 TOS 中的储存位置,仅支持选择单个文件
输出数据必填;输出文件在 TOS 中的存储位置(TOS 路径),可填入或选择数据在 TOS 中的储存位置

查看与管理批量推理任务

可在批量推理任务列表页、或点击批量推理任务名称进入任务详情页,查看批量推理任务的信息,包括任务基本信息、状态、进度(包含已处理请求数量/总请求数量,以及已处理请求中失败的数量)、配置信息等。
您可在列表页或详情页管理批量任务,如编辑任务信息、终止任务、查看结果、删除任务等。

批量推理任务状态与对应描述如下:

状态描述
排队中任务由于账号下并发任务数达到上限等原因需排队等候
运行中任务正在运行中
完成所有请求已经处理完毕,任务已完成
终止中由于到期等系统原因或手动终止,任务当前处于取消中状态
已终止任务已被取消
失败输入文件校验失败或其他原因导致任务失败

查看结果文件

在批量推理任务运行结束后,可点击 查看结果 按钮或在详情页的「文件信息」中点击跳转至 TOS 页面查看并下载结果文件。

批量推理数据文件格式说明

输入文件

输入文件为一个.jsonl文件,其中每行包含对 API 的单个请求的详细信息

  • 最大文件大小为 500 MB

  • 每个请求都必须包含一个唯一custom_id值,可以使用该值在结果数据中找到对应的请求

  • 每行body字段中的参数与底层模型调用 API 的 request body 中参数相同,为一个合法的JSON Object

以下是一个使用 Chat 模型进行批量推理的输入文件示例,包含 2 个请求:

{"custom_id": "request-1", "body": {"messages": [{"role": "user", "content": "天空为什么这么蓝?"}],"max_tokens": 1000,"top_p":1}}
{"custom_id": "request-2", "body": {"messages": [{"role": "system", "content": "You are an unhelpful assistant."},{"role": "user", "content": "天空为什么这么蓝?"}],"max_tokens": 1000}}

输出文件

  • 结果文件为一个.jsonl文件results.jsonl,输入文件中的每个成功请求行对应结果文件中的一个响应行,示例如下:
{"id": "batch-req-123", "custom_id": "request-1", "response": {"status_code": 200, "request_id": "req1", "body": {"id": "chatcmpl-9P3WtvGUhW5Ty91CdlcBJPgqh1rGG", "object": "chat.completion", "created": 1711111111, "model": "doubao-pro-32k-seed-stg-240515", "choices": [{"index": 0, "message": {"role": "assistant", "content": "天空呈现蓝色是因为“瑞利散射”现象。简单来说,就是当太阳光进入地球大气层时,波长较长的红光、橙光、黄光能穿透大气层,直接射到地面,而波长较短的蓝、紫、靛等色光,很容易被悬浮在空气中的微粒阻挡,从而使光线散射向四方,使天空呈现出蔚蓝色。"}, "logprobs": null, "finish_reason": "stop"}], "usage": {"prompt_tokens": 20, "completion_tokens": 9, "total_tokens": 29}}}, "error": null}
  • 任何失败的请求都会将其错误信息写入错误文件errors.jsonl,每个失败请求行对应错误文件中的一个响应行,示例如下:
{"id":"batch-req-456","custom_id":"request-2","response":null,"error":{"code":"AccessDenied","type":"Forbidden","message":"The request failed because you do not have access to the requested resource."}}

限流与配额

任务限流

批量推理任务的限流单位是 TPD(Tokens Per Day),指 24 小时内最多消耗的 token 总量(包含输入与输出)。
此限流是基于模型设定的,账户下使用同一模型的所有批量推理任务共享该限流额度。此外,批量推理任务限流与在线推理的限流分离,因此运行批量推理任务不会消耗模型的在线推理限流额度。
平台提供的默认限流额度为:

  • Doubao-pro-4k:1.3B TPD

  • Doubao-pro-32k:1.3B TPD

如希望提升批量推理限流额度,您可以提交工单

任务配额

  • 账户维度有如下配额:
    • 一个项目下 7 天内提交的批量推理任务数量最多为 500,超出时将暂时无法提交新的任务

    • 一个项目下同时处于「运行中」状态的批量推理任务数量最多为 3,超出时其余任务将处于「排队中」状态等待运行

      • 请注意,账号下实际同时运行的任务数量会受到平台总体资源的限制和任务调度策略的影响
计费

批量推理按 tokens 用量后付费,您仅需要为已处理的请求消耗的 token 量付费,具体用量可在批量推理任务详情页「Tokens 使用量」查看。