Schema-Guided Dialogue (SGD)
收藏资源简介:
基于Schema-Guided Dialogue (SGD)数据集,目标任务是餐厅搜索和预订服务的多轮工具调用,包括三个工具:`respond_to_user`(向用户发送文本消息)、`FindRestaurants`(按菜系、城市、价格范围、现场音乐、酒精搜索餐厅)和`ReserveRestaurant`(预订餐桌,包括餐厅名称、城市、时间、日期、聚会规模)。测试集包含34个多轮Restaurants_1对话,训练痕迹包含327个Restaurants_1痕迹。
Based on the Schema-Guided Dialogue (SGD) dataset, the target task is multi-turn tool calling for restaurant search and booking services, which involves three tools: `respond_to_user` (sends text messages to users), `FindRestaurants` (searches restaurants based on cuisine, city, price range, live music and alcohol), and `ReserveRestaurant` (reserves dining tables with parameters including restaurant name, city, time, date and party size). The test set includes 34 multi-turn Restaurants_1 dialogues, while the training traces contain 327 Restaurants_1 traces.
TFT (Training from Traces) Benchmark 数据集概述
数据集来源
基于 Schema-Guided Dialogue (SGD) 数据集构建,原始地址为:https://github.com/google-research-datasets/dstc8-schema-guided-dialogue。
目标任务
多轮工具调用,用于餐厅搜索和预订服务,涉及三个工具:
respond_to_user:向用户发送文本消息。FindRestaurants:按菜系、城市、价格范围、现场音乐、酒精饮料等条件搜索餐厅。ReserveRestaurant:预订餐桌(餐厅名称、城市、时间、日期、用餐人数)。
数据划分
测试集
- 包含 34 个多轮 Restaurants_1 对话(从 367 个可用轨迹中保留)。
- 评估时,通过设置
expand_tool_calling_turns=true将其扩展为 约 359 个每轮评估对,每个对是一个以助手工具调用结束的对话前缀。
训练轨迹
- 剩余的 327 个 Restaurants_1 轨迹(排除测试对话)构成标准来源。
- 每个场景在训练前对这些轨迹应用不同的破坏或约束。
评估场景
场景 1:基线
- 训练数据:327 个干净的 Restaurants_1 轨迹(无破坏)。
- 测试质量上限,即各流程在完美数据下的表现。
场景 2:噪声标签
- 训练数据:327 个 Restaurants_1 轨迹,其中 50% 的助手工具调用被破坏(为 TFT 种子保留 10% 的干净轨迹)。
- 破坏类型针对工具时机,包括工具交换、参数交换、替换为
respond_to_user或服务工具等。
场景 3:模式漂移
- 训练数据:Restaurants_2(146 个轨迹)和 Restaurants_1(146 个轨迹)的 50/50 混合,共 292 个轨迹。0% 的训练数据使用正确的 R1 函数名。
- 测试对 API 版本变化的适应性,轨迹使用混乱、不一致的工具命名。
场景 4:低数据量
- 训练数据:5 个干净的 Restaurants_1 轨迹(从 327 个中通过固定种子子采样)。
- 测试极端数据稀缺情况。
场景 5:轨迹混合
- 训练数据:80% Hotels_1(142 个轨迹) + 20% Restaurants_1(36 个轨迹),共 178 个轨迹。
- 酒店轨迹被破坏以最大化混淆,模型看到 R1 函数名与酒店内容一起以随机顺序出现。
结果
所有结果均使用 llm-as-a-judge 作为主要指标(0-1 尺度),在共享测试集(约 359 个扩展轮次对)上评估。
| 场景 | TFT | 直接训练 | 差异 |
|---|---|---|---|
| S1 基线 | 0.866 | 0.864 | +0.2pp |
| S2 噪声标签 | 0.844 | 0.721 | +12.3pp |
| S3 模式漂移 | 0.844 | 0.585 | +25.9pp |
| S4 低数据量 | 0.852 | 0.649 | +20.3pp |
| S5 轨迹混合 | 0.858 | 0.694 | +16.4pp |
TFT 在干净数据上(S1)与直接训练表现相当,并在每个被破坏的场景上优于直接训练 12-26 个百分点。
教师模型评估
教师模型在同一测试集上的评估结果(各 5 个种子):
| 教师模型 | 均值(法官) | 标准差 |
|---|---|---|
| GLM-5 | 0.835 | 0.006 |
| Qwen3-235B | 0.768 | 0.018 |
| MiniMax-M2 | 0.762 | 0.010 |
| DeepSeek-3.2 | 0.744 | 0.014 |
已训练模型
所有训练模型均发布于 HuggingFace。每个模型均为使用 LoRA(合并权重)微调的 Qwen3-1.7B 模型。
配置
模型
- 学生模型:Qwen3-1.7B
- 教师模型 / 合成生成:zai.glm-5
- 法官模型:openai.gpt-oss-120b
- 委员会(TFT 重新标记):openai.gpt-oss-120b + zai.glm-5
关键设置
- 任务:
multi-turn-tool-calling-closed-book - 合成数据生成目标:2000 个示例
- 生成:每次 LLM 调用生成 1 个示例(防止长度截断)
- 突变主题:4 个桶,匹配测试集轮次长度分布(9-13、13-17、15-19、21-29 轮)
- 最大总长度:20,000 个令牌
- 相关性/连贯性过滤:可按场景配置
目录结构
数据集文件按场景组织,每个场景包含 tft/、tft-raw-data/ 和 direct/ 子目录,分别存放 TFT 流程输入、原始训练数据和直接训练输入。具体文件包括配置文件、任务描述、轨迹文件(JSONL 格式)和测试集。




