llmcompressor.datasets.utils
LLM压缩工作流的数据集工具函数。
提供用于在模型压缩管道中加载、处理和格式化数据集的辅助函数。处理数据集拆分、分词、校准数据准备以及用于训练和一次性校准工作流的数据加载器创建。
类
-
LengthAwareSampler–按序列长度降序采样数据。依赖于数据集中存在的
input_ids或
函数
-
get_calibration_dataloader–获取用于一次性校准的数据加载器。
-
get_processed_dataset–根据 dataset_args 加载每个流程的数据集,并将每个流程的数据集存储在 datasets 中
-
make_dataset_splits–根据将要运行的任务重构 datasets 字典
LengthAwareSampler
基类: Sampler[int]
按序列长度降序采样数据。依赖于数据集中存在 input_ids 或 decoder_input_ids 列
参数
-
(data_sourceDataset) –包含
input_ids或decoder_input_ids列的数据集 -
(num_samplesOptional[int], 默认值:None) –要采样的最大样本数。首先截断较短的序列长度
Source code in llmcompressor/datasets/utils.py
get_calibration_dataloader
get_calibration_dataloader(
dataset_args: DatasetArguments, processor: Processor
) -> torch.utils.data.DataLoader
获取用于一次性校准的数据加载器。
参数
-
(dataset_argsDatasetArguments) –包含数据集参数的 DatasetArguments。
-
(processorProcessor) –模型处理器或分词器。
返回
-
DataLoader–包含校准数据集的 PyTorch 数据加载器对象。
Source code in llmcompressor/datasets/utils.py
get_processed_dataset
get_processed_dataset(
dataset_args: DatasetArguments,
processor: Processor | None = None,
do_oneshot: bool = False,
do_train: bool = True,
) -> dict[str, Dataset] | None
根据 dataset_args 加载每个流程的数据集,并将每个启用的流程的数据集存储在 datasets 中
参数
-
(dataset_argsDatasetArguments) –包含数据集加载和处理参数的 DatasetArguments
-
(processorProcessor | None, default:None) –用于数据集分词的处理器或分词器
-
(do_oneshotbool, 默认值:False) –一次性流程为 True
-
(do_trainbool, 默认值:True) –训练流程为 True
返回
-
dict[str, Dataset] | None–对应于训练或校准(一次性)的数据集
Source code in llmcompressor/datasets/utils.py
make_dataset_splits
make_dataset_splits(
tokenized_datasets: dict[str, Any],
do_oneshot: bool = True,
do_train: bool = False,
) -> dict[str, Dataset]
根据将要运行的任务重构 datasets 字典 训练
参数
-
(tokenized_datasetsdict[str, Any]) –已处理数据集的字典
-
(do_oneshotbool, 默认值:True) –是否存储校准数据集
返回
-
dict[str, Dataset]–对应于训练或校准(一次性)的数据集