TRL 文件
模型工具
並獲得增強的文件體驗
開始使用
模型工具
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 (
int
或None
, 可選, 預設為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 上下文管理器。