AutoTrain 文档

句子 Transformer

您正在查看 main 版本,该版本需要从源代码安装。如果您想要常规的 pip 安装,请查看最新的稳定版本 (v0.8.24)。
Hugging Face's logo
加入 Hugging Face 社区

并获取增强的文档体验

开始使用

句子 Transformer

此任务让您可以轻松地在您自己的数据集上训练或微调句子 Transformer 模型。

AutoTrain 支持以下类型的句子 Transformer 微调

  • pair: 包含两个句子的数据集:anchor 和 positive
  • pair_class: 包含两个句子的数据集:premise 和 hypothesis 以及目标标签
  • pair_score: 包含两个句子的数据集:sentence1 和 sentence2 以及目标分数
  • triplet: 包含三个句子的数据集:anchor、positive 和 negative
  • qa: 包含两个句子的数据集:query 和 answer

数据格式

句子 Transformer 微调接受 CSV/JSONL 格式的数据。您也可以使用来自 Hugging Face Hub 的数据集。

pair

对于 pair 训练,数据应采用以下格式

anchor positive
hello hi
how are you I am fine
What is your name? My name is Abhishek
Which is the best programming language? Python

pair_class

对于 pair_class 训练,数据应采用以下格式

premise hypothesis label
hello hi 1
how are you I am fine 0
What is your name? My name is Abhishek 1
Which is the best programming language? Python 1

pair_score

对于 pair_score 训练,数据应采用以下格式

sentence1 sentence2 score
hello hi 0.8
how are you I am fine 0.2
What is your name? My name is Abhishek 0.9
Which is the best programming language? Python 0.7

triplet

对于 triplet 训练,数据应采用以下格式

anchor positive negative
hello hi bye
how are you I am fine I am not fine
What is your name? My name is Abhishek Whats it to you?
Which is the best programming language? Python Javascript

qa

对于 qa 训练,数据应采用以下格式

query answer
hello hi
how are you I am fine
What is your name? My name is Abhishek
Which is the best programming language? Python

参数

class autotrain.trainers.sent_transformers.params.SentenceTransformersParams

< >

( data_path: str = None model: str = 'microsoft/mpnet-base' lr: float = 3e-05 epochs: int = 3 max_seq_length: int = 128 batch_size: int = 8 warmup_ratio: float = 0.1 gradient_accumulation: int = 1 optimizer: str = 'adamw_torch' scheduler: str = 'linear' weight_decay: float = 0.0 max_grad_norm: float = 1.0 seed: int = 42 train_split: str = 'train' valid_split: typing.Optional[str] = None logging_steps: int = -1 project_name: str = 'project-name' auto_find_batch_size: bool = False mixed_precision: typing.Optional[str] = None save_total_limit: int = 1 token: typing.Optional[str] = None push_to_hub: bool = False eval_strategy: str = 'epoch' username: typing.Optional[str] = None log: str = 'none' early_stopping_patience: int = 5 early_stopping_threshold: float = 0.01 trainer: str = 'pair_score' sentence1_column: str = 'sentence1' sentence2_column: str = 'sentence2' sentence3_column: typing.Optional[str] = None target_column: typing.Optional[str] = None )

参数

  • data_path (str) — 数据集路径。
  • model (str) — 要使用的预训练模型的名称。默认为 “microsoft/mpnet-base”。
  • lr (float) — 训练的学习率。默认为 3e-5。
  • epochs (int) — 训练 epoch 的数量。默认为 3。
  • max_seq_length (int) — 输入的最大序列长度。默认为 128。
  • batch_size (int) — 训练的批大小。默认为 8。
  • warmup_ratio (float) — 执行学习率预热的训练比例。默认为 0.1。
  • gradient_accumulation (int) — 在更新之前累积梯度的步数。默认为 1。
  • optimizer (str) — 要使用的优化器。默认为 “adamw_torch”。
  • scheduler (str) — 要使用的学习率调度器。默认为 “linear”。
  • weight_decay (float) — 应用的权重衰减。默认为 0.0。
  • max_grad_norm (float) — 梯度裁剪的最大梯度范数。默认为 1.0。
  • seed (int) — 用于可重复性的随机种子。默认为 42。
  • train_split (str) — 训练数据分割的名称。默认为 “train”。
  • valid_split (Optional[str]) — 验证数据分割的名称。默认为 None。
  • logging_steps (int) — 日志记录之间的步数。默认为 -1。
  • project_name (str) — 输出目录的项目名称。默认为 “project-name”。
  • auto_find_batch_size (bool) — 是否自动查找最佳批次大小。默认为 False。
  • mixed_precision (Optional[str]) — 混合精度训练模式 (fp16, bf16, 或 None)。默认为 None。
  • save_total_limit (int) — 要保存的最大检查点数量。默认为 1。
  • token (Optional[str]) — 用于访问 Hugging Face Hub 的令牌。默认为 None。
  • push_to_hub (bool) — 是否将模型推送到 Hugging Face Hub。默认为 False。
  • eval_strategy (str) — 要使用的评估策略。默认为 “epoch”。
  • username (Optional[str]) — Hugging Face 用户名。默认为 None。
  • log (str) — 用于实验跟踪的日志记录方法。默认为 “none”。
  • early_stopping_patience (int) — 在训练停止之前,没有改进的 epoch 轮数。默认为 5。
  • early_stopping_threshold (float) — 用于衡量新最佳值的阈值,以符合改进的条件。默认为 0.01。
  • trainer (str) — 要使用的训练器名称。默认为 “pair_score”。
  • sentence1_column (str) — 包含第一句句子的列名。默认为 “sentence1”。
  • sentence2_column (str) — 包含第二句句子的列名。默认为 “sentence2”。
  • sentence3_column (Optional[str]) — 包含第三句句子的列名(如果适用)。默认为 None。
  • target_column (Optional[str]) — 包含目标变量的列名。默认为 None。

SentenceTransformersParams 是一个配置类,用于设置训练句子转换器的参数。

< > 在 GitHub 上更新