Phi3CausalLM
類別keras_hub.models.Phi3CausalLM(backbone, preprocessor=None, **kwargs)
用於因果語言建模的端對端 Phi3 模型。
因果語言模型 (LM) 基於先前的 token 預測下一個 token。此任務設定可用於在純文字輸入上以非監督方式訓練模型,或自動迴歸地產生類似用於訓練之資料的純文字。此任務可用於預訓練或微調 Phi-3 模型,只需呼叫 fit()
即可。
此模型具有 generate()
方法,可根據提示產生文字。使用的生成策略由 compile()
上的額外 sampler
引數控制。您可以使用不同的 keras_hub.samplers
物件重新編譯模型,以控制生成。預設情況下,將使用 "top_k" 取樣。
引數
keras_hub.models.Phi3Backbone
實例。keras_hub.models.Phi3CausalLMPreprocessor
或 None
。如果為 None
,則此模型將不套用預處理,且輸入應在呼叫模型之前預處理。from_preset
方法Phi3CausalLM.from_preset(preset, load_weights=True, **kwargs)
從模型預設實例化 keras_hub.models.Task
。
預設是一個組態、權重和其他檔案資產的目錄,用於儲存和載入預訓練模型。預設可以作為以下其中一種方式傳遞
'bert_base_en'
'kaggle://user/bert/keras/bert_base_en'
'hf://user/bert_base_en'
'./bert_base_en'
對於任何 Task
子類別,您可以執行 cls.presets.keys()
以列出類別上所有可用的內建預設。
此建構子可以用兩種方式之一呼叫。可以從任務特定的基底類別呼叫,例如 keras_hub.models.CausalLM.from_preset()
,或從模型類別呼叫,例如 keras_hub.models.BertTextClassifier.from_preset()
。如果從基底類別呼叫,則傳回物件的子類別將從預設目錄中的組態推斷出來。
引數
True
,則儲存的權重將載入到模型架構中。如果為 False
,則所有權重將隨機初始化。範例
# Load a Gemma generative task.
causal_lm = keras_hub.models.CausalLM.from_preset(
"gemma_2b_en",
)
# Load a Bert classification task.
model = keras_hub.models.TextClassifier.from_preset(
"bert_base_en",
num_classes=2,
)
預設 | 參數 | 描述 |
---|---|---|
phi3_mini_4k_instruct_en | 38.2 億 | 38 億參數、32 層、4k 上下文長度、Phi-3 模型。該模型使用 Phi-3 資料集進行訓練。此資料集包含合成資料和經過濾的公開可用網站資料,重點是高品質和推理密集屬性。 |
phi3_mini_128k_instruct_en | 38.2 億 | 38 億參數、32 層、128k 上下文長度、Phi-3 模型。該模型使用 Phi-3 資料集進行訓練。此資料集包含合成資料和經過濾的公開可用網站資料,重點是高品質和推理密集屬性。 |
generate
方法Phi3CausalLM.generate(inputs, max_length=None, stop_token_ids="auto")
根據提示輸入產生文字。
此方法根據給定的輸入產生文字。用於生成的取樣方法可以透過 compile()
方法設定。
如果輸入是 tf.data.Dataset
,則輸出將「逐批次」產生並串聯。否則,所有輸入將作為單一批次處理。
如果預處理器附加到模型,則輸入將在 generate()
函數內預處理,並且應符合預處理器層預期的結構(通常為原始字串)。如果未附加預處理器,則輸入應符合骨幹預期的結構。請參閱上面的範例用法,以示範每種情況。
引數
tf.data.Dataset
。如果預處理器附加到模型,inputs
應符合預處理器層預期的結構。如果未附加預處理器,inputs
應符合骨幹模型預期的結構。sequence_length
。如果 preprocessor
為 None
,則輸入應填充到所需的長度上限,並且此引數將被忽略。None
、"auto"
或 token ID 的元組。預設為 "auto"
,其使用 preprocessor.tokenizer.end_token_id
。未指定處理器將產生錯誤。None
會在產生 max_length
個 token 後停止生成。您也可以指定模型應停止的 token ID 列表。請注意,token 序列將各自被解釋為停止 token,且不支援多 token 停止序列。generate()
會傳回完整提示,後接模型產生的完成。如果此選項設定為 True
,則僅傳回新產生的文字。backbone
屬性keras_hub.models.Phi3CausalLM.backbone
具有核心架構的 keras_hub.models.Backbone
模型。
preprocessor
屬性keras_hub.models.Phi3CausalLM.preprocessor
用於預處理輸入的 keras_hub.models.Preprocessor
層。