Keras 3 API 文件 / KerasNLP / 模型 API / 遮罩語言模型 (MaskedLM)

遮罩語言模型 (MaskedLM)

[來源]

MaskedLM 類別

keras_nlp.models.MaskedLM()

遮罩語言建模任務的基底類別。

MaskedLM 任務包裝了 keras_nlp.models.Backbonekeras_nlp.models.Preprocessor,用於創建可以使用遮罩語言建模損失進行無監督微調的模型。

呼叫 fit() 時,所有輸入都將被標記化,並且輸入序列中的隨機標記將被遮罩。這些被遮罩標記的位置將作為額外的模型輸入被饋送,並且模型輸出將預測標記的原始值。

所有 MaskedLM 任務都包含一個 from_preset() 建構函式,可用於載入預訓練的配置和權重。

範例

# Load a Bert MaskedLM with pre-trained weights.
masked_lm = keras_nlp.models.MaskedLM.from_preset(
    "bert_base_en",
)
masked_lm.fit(train_ds)

[來源]

from_preset 方法

MaskedLM.from_preset(preset, load_weights=True, **kwargs)

從模型預設設定實例化一個 keras_nlp.models.Task

預設設定是一個包含配置、權重和其他檔案資源的目錄,用於儲存和載入預訓練模型。preset 可以作為以下其中一種傳遞:

  1. 內建預設設定識別碼,例如 'bert_base_en'
  2. Kaggle 模型控制代碼,例如 'kaggle://user/bert/keras/bert_base_en'
  3. Hugging Face 控制代碼,例如 'hf://user/bert_base_en'
  4. 指向本地預設設定目錄的路徑,例如 './bert_base_en'

對於任何 Task 子類別,您可以執行 cls.presets.keys() 來列出類別上可用的所有內建預設設定。

此建構函式可以透過兩種方式之一呼叫。可以從特定任務的基底類別呼叫,例如 keras_nlp.models.CausalLM.from_preset(),也可以從模型類別呼叫,例如 keras_nlp.models.BertTextClassifier.from_preset()。如果從基底類別呼叫,則返回物件的子類別將從預設設定目錄中的配置推斷出來。

參數

  • preset:字串。內建預設設定識別碼、Kaggle 模型控制代碼、Hugging Face 控制代碼或指向本地目錄的路徑。
  • load_weights:布林值。如果為 True,則會將儲存的權重載入模型架構中。如果為 False,則會隨機初始化所有權重。

範例

# Load a Gemma generative task.
causal_lm = keras_nlp.models.CausalLM.from_preset(
    "gemma_2b_en",
)

# Load a Bert classification task.
model = keras_nlp.models.TextClassifier.from_preset(
    "bert_base_en",
    num_classes=2,
)

[來源]

compile 方法

MaskedLM.compile(optimizer="auto", loss="auto", weighted_metrics="auto", **kwargs)

設定 MaskedLM 任務以進行訓練。

MaskedLM 任務擴充了 keras.Model.compile 的預設編譯簽章,其中包含 optimizerlossweighted_metrics 的預設值。如需覆寫這些預設值,請在編譯期間將任何值傳遞至這些參數。

請注意,由於訓練輸入包含從損失中排除的填補標記,因此幾乎總是建議使用 weighted_metrics 進行編譯,而不是使用 metrics

參數

  • optimizer"auto"、最佳化器名稱或 keras.Optimizer 執行個體。預設為 "auto",它會針對指定的模型和任務使用預設最佳化器。如需有關可能的 optimizer 值的詳細資訊,請參閱 keras.Model.compilekeras.optimizers
  • loss"auto"、損失名稱或 keras.losses.Loss 執行個體。預設為 "auto",其中會將 keras.losses.SparseCategoricalCrossentropy 損失套用至標記分類 MaskedLM 任務。如需有關可能的 loss 值的詳細資訊,請參閱 keras.Model.compilekeras.losses
  • weighted_metrics"auto" 或模型在訓練和測試期間要評估的指標清單。預設為 "auto",其中會套用 keras.metrics.SparseCategoricalAccuracy 來追蹤模型在猜測遮罩標記值方面的準確性。如需有關可能的 weighted_metrics 值的詳細資訊,請參閱 keras.Model.compilekeras.metrics
  • **kwargs:如需 compile 方法支援的完整參數清單,請參閱 keras.Model.compile

[來源]

save_to_preset 方法

MaskedLM.save_to_preset(preset_dir)

將任務儲存至預設目錄。

參數

  • preset_dir:本機模型預設目錄的路徑。

preprocessor 屬性

keras_nlp.models.MaskedLM.preprocessor

用於預處理輸入的 keras_nlp.models.Preprocessor 層。


backbone 屬性

keras_nlp.models.MaskedLM.backbone

具有核心架構的 keras_nlp.models.Backbone 模型。