Transformers.js 文件

generation/configuration_utils

您正在檢視的是需要從原始碼安裝。如果您想進行常規 npm 安裝,請檢視最新的穩定版本 (v3.0.0)。
Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

generation/configuration_utils


generation/configuration_utils.GenerationConfig

儲存生成任務配置的類。

型別generation/configuration_utils 的靜態類


new GenerationConfig(config)

引數量型別
config*

generationConfig.max_length : <code> number </code>

生成的 token 的最大長度。對應於輸入提示的長度 + max_new_tokens。如果同時設定了 max_new_tokens,則此設定的效果會被覆蓋。

型別GenerationConfig 的例項屬性
預設值20


generationConfig.max_new_tokens : <code> number </code>

要生成的最大 token 數量,忽略提示中的 token 數量。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.min_length : <code> number </code>

要生成的序列的最小長度。對應於輸入提示的長度 + min_new_tokens。如果同時設定了 min_new_tokens,則此設定的效果會被覆蓋。

型別GenerationConfig 的例項屬性
預設值0


generationConfig.min_new_tokens : <code> number </code>

要生成的最小 token 數量,忽略提示中的 token 數量。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.early_stopping : <code> boolean </code> | <code> ” never ” </code>

控制基於束的方法(如束搜尋)的停止條件。它接受以下值:

  • true,一旦有 num_beams 個完整候選,生成就會停止;
  • false,應用啟發式方法,當找到更好候選的可能性極低時,生成停止;
  • "never",束搜尋過程僅在無法找到更好候選時停止(規範束搜尋演算法)。

型別GenerationConfig 的例項屬性
預設值false


generationConfig.max_time : <code> number </code>

允許計算執行的最大時間(秒)。分配時間結束後,生成仍將完成當前傳遞。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.do_sample : <code> boolean </code>

是否使用取樣;否則使用貪婪解碼。

型別GenerationConfig 的例項屬性
預設值false


generationConfig.num_beams : <code> number </code>

束搜尋的束數量。1 表示沒有束搜尋。

型別GenerationConfig 的例項屬性
預設值1


generationConfig.num_beam_groups : <code> number </code>

num_beams 分成組的數量,以確保不同束組之間的多樣性。更多詳細資訊請參閱這篇論文

型別GenerationConfig 的例項屬性
預設值1


generationConfig.penalty_alpha : <code> number </code>

這些值平衡了模型置信度和對比搜尋解碼中的退化懲罰。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.use_cache : <code> boolean </code>

模型是否應使用過去的鍵/值注意力(如果適用於模型)來加快解碼速度。

型別GenerationConfig 的例項屬性
預設值true


generationConfig.temperature : <code> number </code>

用於調節下一個 token 機率的值。

型別GenerationConfig 的例項屬性
預設值1.0


generationConfig.top_k : <code> number </code>

保留用於 top-k 過濾的最高機率詞彙 token 數量。

型別GenerationConfig 的例項屬性
預設值50


generationConfig.top_p : <code> number </code>

如果設定為小於 1 的浮點數,則僅保留機率總和等於或大於 top_p 的最小機率最高的 token 集合用於生成。

型別GenerationConfig 的例項屬性
預設值1.0


generationConfig.typical_p : <code> number </code>

區域性典型性衡量預測下一個目標 token 的條件機率與給定已生成部分文字的預測下一個隨機 token 的預期條件機率之間的相似程度。如果設定為小於 1 的浮點數,則保留機率總和等於或大於 typical_p 的最小區域性典型 token 集合用於生成。更多詳細資訊請參閱這篇論文

型別GenerationConfig 的例項屬性
預設值1.0


generationConfig.epsilon_cutoff : <code> number </code>

如果設定為嚴格介於 0 和 1 之間的浮點數,則僅對條件機率大於 epsilon_cutoff 的 token 進行取樣。在論文中,建議值為 3e-4 到 9e-4,具體取決於模型的大小。更多詳細資訊請參閱《截斷取樣作為語言模型去平滑》

型別GenerationConfig 的例項屬性
預設值0.0


generationConfig.eta_cutoff : <code> number </code>

Eta 取樣是區域性典型取樣和 epsilon 取樣的混合。如果設定為嚴格介於 0 和 1 之間的浮點數,則僅當 token 大於 eta_cutoffsqrt(eta_cutoff) * exp(-entropy(softmax(next_token_logits))) 時才考慮該 token。後一個術語直觀地說是預期的下一個 token 機率,由 sqrt(eta_cutoff) 縮放。在論文中,建議值為 3e-4 到 2e-3,具體取決於模型的大小。更多詳細資訊請參閱《截斷取樣作為語言模型去平滑》

型別GenerationConfig 的例項屬性
預設值0.0


generationConfig.diversity_penalty : <code> number </code>

如果生成的 token 與其他組的任何束相同,則從束的分數中減去此值。請注意,diversity_penalty 僅在啟用 group beam search 時有效。

型別GenerationConfig 的例項屬性
預設值0.0


generationConfig.repetition_penalty : <code> number </code>

重複懲罰的引數。1.0 表示沒有懲罰。更多詳細資訊請參閱這篇論文

型別GenerationConfig 的例項屬性
預設值1.0


generationConfig.encoder_repetition_penalty : <code> number </code>

encoder_repetition_penalty 的引數。對不在原始輸入中的序列進行指數懲罰。1.0 表示沒有懲罰。

型別GenerationConfig 的例項屬性
預設值1.0


generationConfig.length_penalty : <code> number </code>

用於基於束的生成中對長度的指數懲罰。它以序列長度的指數形式應用,然後用於除以序列的分數。由於分數為序列的對數似然(即負值),因此 length_penalty > 0.0 促進更長的序列,而 length_penalty < 0.0 鼓勵更短的序列。

型別GenerationConfig 的例項屬性
預設值1.0


generationConfig.no_repeat_ngram_size : <code> number </code>

如果設定為大於 0 的整數,則該大小的所有 n-gram 只能出現一次。

型別GenerationConfig 的例項屬性
預設值0


generationConfig.bad_words_ids : <code> Array. < Array < number > > </code>

不允許生成的 token ID 列表。要獲取不應出現在生成文字中的詞語的 token ID,請使用 tokenizer(bad_words, { add_prefix_space: true, add_special_tokens: false }).input_ids

型別GenerationConfig 的例項屬性
預設值null


generationConfig.force_words_ids : <code> Array < Array < number > > </code> | <code> Array < Array < Array < number > > > </code>

必須生成的 token ID 列表。如果給定 number[][],則將其視為必須包含的簡單詞語列表,與 bad_words_ids 相反。如果給定 number[][][],則會觸發不連貫約束,允許每個詞語的不同形式。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.renormalize_logits : <code> boolean </code>

是否在應用所有 logits 處理器或 warp 器(包括自定義的)之後重新規範化 logits。強烈建議將此標誌設定為 true,因為搜尋演算法假設分數 logits 已規範化,但某些 logits 處理器或 warp 器會破壞規範化。

型別GenerationConfig 的例項屬性
預設值false


generationConfig.constraints : <code> Array. < Object > </code>

可新增到生成中的自定義約束,以儘可能合理地確保輸出包含由 Constraint 物件定義的某些 token。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.forced_bos_token_id : <code> number </code>

decoder_start_token_id 之後強制作為第一個生成 token 的 token ID。對於像 mBART 這樣的多語言模型很有用,因為第一個生成的 token 需要是目標語言 token。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.forced_eos_token_id : <code> number </code> | <code> Array < number > </code>

當達到 max_length 時強制作為最後一個生成 token 的 token ID。可選地,使用列表設定多個*序列結束* token。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.remove_invalid_values : <code> boolean </code>

是否移除模型中可能的*nan*和*inf*輸出,以防止生成方法崩潰。請注意,使用 remove_invalid_values 可能會減慢生成速度。

型別GenerationConfig 的例項屬性


generationConfig.exponential_decay_length_penalty : <code> * </code>

此元組在生成一定數量的 token 後新增指數級增長的長度懲罰。元組應包含:(start_index, decay_factor),其中 start_index 表示懲罰開始的位置,decay_factor 表示指數衰減的因子。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.suppress_tokens : <code> Array. < number > </code>

生成時將被抑制的 token 列表。SuppressTokens logits 處理器會將其 log 機率設定為 -inf,以便不對其進行取樣。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.streamer : <code> * </code>

將用於流式生成資料的 Streamer。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.begin_suppress_tokens : <code> Array. < number > </code>

生成開始時將被抑制的 token 列表。SuppressBeginTokens logits 處理器會將其 log 機率設定為 -inf,以便不對其進行取樣。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.forced_decoder_ids : <code> * </code>

一個整數對列表,表示從生成索引到在取樣之前將被強制使用的 token 索引的對映。例如,[[1, 123]] 表示第二個生成的 token 將始終是索引為 123 的 token。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.guidance_scale : <code> number </code>

無分類器引導(CFG)的引導比例。透過設定 guidance_scale > 1 啟用 CFG。更高的引導比例會鼓勵模型生成與輸入提示更緊密相關的樣本,通常以犧牲質量為代價。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.num_return_sequences : <code> number </code>

批次中每個元素獨立計算的返回序列數。

型別GenerationConfig 的例項屬性
預設值1


generationConfig.output_attentions : <code> boolean </code>

是否返回所有注意力層的注意力張量。更多詳細資訊請參閱返回張量下的 attentions

型別GenerationConfig 的例項屬性
預設值false


generationConfig.output_hidden_states : <code> boolean </code>

是否返回所有層的隱藏狀態。更多詳細資訊請參閱返回張量下的 hidden_states

型別GenerationConfig 的例項屬性
預設值false


generationConfig.output_scores : <code> boolean </code>

是否返回預測分數。更多詳細資訊請參閱返回張量下的 scores

型別GenerationConfig 的例項屬性
預設值false


generationConfig.return_dict_in_generate : <code> boolean </code>

是否返回 ModelOutput 而不是普通的元組。

型別GenerationConfig 的例項屬性
預設值false


generationConfig.pad_token_id : <code> number </code>

*填充* token 的 ID。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.bos_token_id : <code> number </code>

*序列開始* token 的 ID。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.eos_token_id : <code> number </code> | <code> Array < number > </code>

“序列結束”標記的 ID。可選地,使用列表來設定多個“序列結束”標記。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.encoder_no_repeat_ngram_size : <code> number </code>

如果設定為大於 0 的整數,則在 encoder_input_ids 中出現的所有該大小的 n-gram 都不能在 decoder_input_ids 中出現。

型別GenerationConfig 的例項屬性
預設值0


generationConfig.decoder_start_token_id : <code> number </code>

如果編碼器-解碼器模型以與*bos*不同的 token 開始解碼,則該 token 的 ID。

型別GenerationConfig 的例項屬性
預設值null


generationConfig.generation_kwargs : Object

額外的生成 kwargs 將轉發到模型的 generate 函式。不在 generate 簽名中的 kwargs 將在模型前向傳遞中使用。

型別GenerationConfig 的例項屬性
預設: {}


< > 在 GitHub 上更新

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