speculators.data_generation.preprocessing
函数
-
build_eagle3_dataset–通过标记对话和创建损失掩码来构建 EAGLE3 数据集。
-
load_and_preprocess_dataset–加载、标记和预处理 EAGLE3 训练的数据集。
-
load_raw_dataset–从本地文件或 HuggingFace 加载原始数据集。
build_eagle3_dataset
build_eagle3_dataset(
dataset: Dataset,
tokenizer: PreTrainedTokenizer,
max_length: int = 2048,
num_proc: int = 8,
assistant_pattern: str | Pattern[str] | None = None,
turn_dropout: bool = False,
) -> HFDataset
通过标记对话和创建损失掩码来构建 EAGLE3 数据集。
使用 tokenizer 通过 apply_chat_template 内置的聊天模板。
参数: dataset: 包含对话的原始数据集 tokenizer: 支持聊天模板的 tokenizer max_length: 最大序列长度 num_proc: 并行处理的进程数 assistant_pattern: 可选的自定义正则表达式模式,用于匹配助手响应。如果为 None,将从聊天模板自动检测模式。 turn_dropout: 如果为 True,则随机保留对话的前 N 个连续回合
源代码在 speculators/data_generation/preprocessing.py
load_and_preprocess_dataset
load_and_preprocess_dataset(
target_model_path: str,
train_data_path: str,
seq_length: int,
build_dataset_num_proc: int = 8,
seed: int = 0,
max_samples: int | None = None,
token_freq_path: str = "./token_freq.pt",
cache_dir: str | None = None,
assistant_pattern: str | None = None,
turn_dropout: bool = False,
) -> tuple[HFDataset, PreTrainedTokenizer]
加载、标记和预处理 EAGLE3 训练的数据集。
使用 tokenizer 通过 apply_chat_template 内置的聊天模板。缓存由 HuggingFace datasets 自动处理。
参数: target_model_path: HuggingFace 模型 ID 或本地路径 train_data_path: 数据集名称或 JSON/JSONL 文件路径 seq_length: 最大序列长度 build_dataset_num_proc: 数据集构建的进程数 seed: 用于随机打乱的种子 max_samples: 可选样本数限制 token_freq_path: 用于保存 token 频率分布的路径 cache_dir: 用于缓存 HuggingFace 数据集的目录(可选) assistant_pattern: 可选的自定义正则表达式模式,用于匹配助手响应。如果为 None,将从聊天模板自动检测模式。 turn_dropout: 如果为 True,则随机保留对话的前 N 个连续回合
返回: (预处理数据集, tokenizer) 元组
源代码在 speculators/data_generation/preprocessing.py
420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 | |
load_raw_dataset
load_raw_dataset(
train_data_path: str,
num_proc: int = 8,
cache_dir: str | None = None,
) -> HFDataset
从本地文件或 HuggingFace 加载原始数据集。