TRL 文件

模型工具

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

模型工具

clone_chat_template

trl.clone_chat_template

< >

( model: PreTrainedModel tokenizer: PreTrainedTokenizer source_tokenizer_path: str resize_to_multiple_of: typing.Optional[int] = 64 ) 模型 (PreTrainedModel)

引數

  • model (PreTrainedModel) — 需要更新的模型。
  • tokenizer (PreTrainedTokenizer) — 需要更新的 tokenizer。
  • source_tokenizer_path (str) — 要克隆的預訓練 tokenizer 的路徑或識別符號。
  • resize_to_multiple_of (intNone, 可選, 預設為 64) — 嵌入層將被調整到新的詞彙表大小。如果此值不為 None,它會將新的詞彙表大小向上取整到該值的最近倍數。

返回

模型 (PreTrainedModel)

更新後的模型,其 token 嵌入已調整大小,並且 EOS token 已配置。 tokenizer (~transformers.PreTrainedTokenizer):應用了聊天模板和特殊 token 的更新後 tokenizer。 added_tokens (list[int]):從源 tokenizer 新增到 tokenizer 的 token 列表。

將聊天模板從源 tokenizer 克隆到目標 tokenizer,並相應地更新模型。

該函式

  • 將聊天模板從源 tokenizer 複製到目標 tokenizer。
  • 將源 tokenizer 中的任何新 token 新增到目標 tokenizer。
  • 在 tokenizer 和模型中設定並同步 EOS token。
  • 調整模型的 token 嵌入以匹配新的詞彙表大小,可選擇將其向上取整到指定值的倍數。在這種情況下,會向 tokenizer 新增虛擬 token,以確保詞彙表大小與嵌入維度相匹配。

示例

from transformers import AutoModelForCausalLM, AutoTokenizer
from trl import clone_chat_template

model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3.2-1B")
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-3.2-1B")
model, tokenizer, added_tokens = clone_chat_template(model, tokenizer, "Qwen/Qwen3-0.6B")

get_act_offloading_ctx_manager

trl.models.get_act_offloading_ctx_manager

< >

( model: Module use_pin_memory: bool = True use_streams: bool = True min_offload_size: int = 1024 max_fwd_stash_size: int = 5 warn_if_no_head: bool = True ) contextlib.ContextDecorator

引數

  • model (nn.Module) — 使用啟用解除安裝上下文管理器包裝的模型。
  • use_pin_memory (bool, 可選, 預設為 True) — 是否將解除安裝的張量放置在 CPU 的固定記憶體中。固定記憶體允許張量更快地移回 GPU,但它是一種有限的資源。
  • use_streams (bool, 可選, 預設為 True) — 是否使用流進行效能最佳化,使通訊與計算重疊。需要 torch-2.5.0 之後的 torch 版本。
  • min_offload_size (int, 可選, 預設為 1024) — 張量符合解除安裝條件的最小位元組數。如果張量太小,我們不希望浪費頻寬和資源將其移至 CPU 再移回。
  • max_fwd_stash_size (int, 可選, 預設為 5) — 前向儲存區的最大大小,或在前向傳遞期間保持活動的連續啟用的最大數量。此數字必須至少為 1。保持更多啟用可能會允許通訊和計算流之間有更多的重疊,但會增加記憶體使用。保持較少啟用會節省記憶體,但可能會導致流之間的重疊不佳,從而增加執行時間。
  • warn_if_no_head (bool, 可選, 預設為 True) — 是否在未檢測到輸出頭時發出警告。如果設定為 False,則在未檢測到輸出頭時不會引發警告。

返回

contextlib.ContextDecorator

模型的啟用解除安裝上下文管理器。

返回模型的啟用解除安裝上下文管理器。每一步中除了最後一個線性輸出層之外的所有啟用都將被解除安裝。

如果啟用了啟用解除安裝,我們返回 OffloadActivations 上下文管理器。如果停用了啟用解除安裝,我們返回一個 NoOpManager 上下文管理器。

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.