快捷方式

torchtune.datasets.InstructDataset

torchtune.datasets.InstructDataset = <function InstructDataset>[源代码]

注意

此类已弃用,将在未来版本中删除。请使用 SFTDatasetinstruct_dataset() 用于自定义指令数据。

支持任何具有基于指令的提示和可配置模板的自定义数据集的类。

从加载样本到标记化提示的一般流程是:加载样本 -> 应用转换 -> 格式化为模板 -> 标记化

如果列/键名称与 InstructTemplate 中的预期名称不同,则可以使用 column_map 参数提供此映射。

训练期间提示的掩码由 train_on_input 标志控制,默认设置为 False。 - 如果 train_on_input 为 True,则在训练期间使用提示并将其纳入损失计算。 - 如果 train_on_input 为 False,则提示会被屏蔽(令牌替换为 -100)

参数:
  • tokenizer (ModelTokenizer) – 模型使用的分词器,实现了 tokenize_messages 方法。

  • source (str) – Hugging Face 上数据集存储库的路径。对于本地数据集,将 source 定义为数据文件类型(例如“json”、“csv”、“text”),并在 data_files 中传入文件路径。有关更多详细信息,请参阅 Hugging Face 的 load_dataset (https://hugging-face.cn/docs/datasets/en/package_reference/loading_methods#datasets.load_dataset.path)。

  • template (InstructTemplate) – 用于格式化提示的模板。如果模板中的占位符变量名称与数据集中列/键名称不匹配,请使用 column_map 将其映射。

  • transform (可选[Callable]) – 在格式化为模板之前应用于样本的转换。默认为 None。

  • column_map (可选[Dict[str, str]]) – 从模板中预期的占位符名称到样本中列/键名称的映射。如果为 None,则假定两者相同。可以使用 output 键映射指示输出列。如果 column_map 中未提供 output 列的占位符,则假定为 output

  • train_on_input (bool) – 模型是否在提示上进行训练。默认为 False。

  • max_seq_len (可选[int]) – 返回的输入和标签令牌 ID 列表中的最大令牌数。默认为 None,禁用截断。我们建议将其设置为内存允许的最大值,并且模型支持。例如,llama2-7B 支持序列长度最多 4096。

  • **load_dataset_kwargs (Dict[str, Any]) – 传递给 load_dataset 的其他关键字参数,例如 data_filessplit

引发:

ValueError – 如果 template 不是 torchtune.data.InstructTemplate 的实例

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源