選擇自然語言處理函式

本文將比較 BigQuery ML 提供的自然語言處理函式,包括 ML.GENERATE_TEXTML.TRANSLATEML.UNDERSTAND_TEXT

ML.GENERATE_TEXT 可以執行其他兩個函式可執行的工作,如下圖所示:

這張圖表顯示使用 Vertex AI 模型或 Cloud AI 服務的遠端模型常見工作流程。

您可以參考本文件中的資訊,在函式功能重疊時決定要使用哪個函式。

這些函式的差異如下:

  • ML.GENERATE_TEXT 是執行自訂自然語言處理 (NLP) 工作時的理想選擇,可降低成本。這個函式提供更多語言支援、更快的處理量和模型調整功能,也支援多模態模型。
  • ML.TRANSLATE 是執行翻譯專屬 NLP 工作時的理想選擇,因為您需要支援每分鐘大量的查詢。
  • ML.UNDERSTAND_TEXT 是執行 Cloud Natural Language API 支援的 NLP 任務的理想選擇。

支援的模型

支援的型號如下:

支援的工作

支援的任務如下:

  • ML.GENERATE_TEXT:您可以執行任何 NLP 工作。模型執行的工作取決於您指定的提示。舉例來說,如要執行問答工作,您可以提供類似 CONCAT("What are the key concepts in the following article?: ", article_text) 的提示。您也可以在提示中提供背景資訊。例如:CONCAT("context: Only output 'yes' or 'no' to the following question: ", question)
  • ML.TRANSLATE:您可以執行下列工作:

  • ML.UNDERSTAND_TEXT:您可以執行下列工作:

資料內容

選擇要使用的函式時,請考量資料是否可單獨分析,或是否需要額外的背景資訊來支援分析。如果資料需要額外的背景資訊,建議您搭配 Vertex AI 模型使用 ML.GENERATE_TEXT,因為這些模型可讓您在提交提示時提供背景資訊。請注意,提供額外情境資訊做為輸入內容會增加符號數量和費用。

如果模型在分析資料時不需要考量其他背景資訊,例如在不知道為何要翻譯文字串時進行翻譯,那麼在支援執行所需任務的情況下,使用 ML.TRANSLATEML.UNDERSTAND_TEXT 可能會是較佳的選擇。

輸出結構

ML.GENERATE_TEXT 會一律在 ml_generate_text_llm_result 輸出欄中傳回結果。您也可以使用提示來定義輸出結構。舉例來說,您可以指示模型以 JSON 格式傳回結果,並提供如何產生此結果的範例。

ML.TRANSLATEML.UNDERSTAND_TEXT 會針對每個成功的 API 呼叫,為特定工作類型產生相同的輸出內容。此外,這些函式的輸出內容還包含結果的額外中繼資料。舉例來說,ML.TRANSLATE 輸出內容包含輸入語言的相關資訊,而 ML.UNDERSTAND_TEXT 輸出內容則包含情緒分析任務的情緒強度相關資訊。您可以使用 Vertex AI 模型產生這類中繼資料,但這需要大量的提示工程,且不太可能提供相同的細微度。

定價

定價如下:

監督式調整

監督式調整支援功能如下:

  • ML.GENERATE_TEXT:部分模型支援監督式調整
  • ML.TRANSLATE:不支援監督式調整。
  • ML.UNDERSTAND_TEXT:不支援監督式調整。

多模態

多模態支援如下:

  • ML.GENERATE_TEXT:支援文字和文字 + 圖片輸入。
  • ML.TRANSLATE:支援文字輸入。
  • ML.UNDERSTAND_TEXT:支援文字輸入。

每分鐘查詢次數 (QPM) 上限

QPM 限制如下:

詞元數量上限

符記限制如下:

支援的語言

支援的語言如下:

  • ML.GENERATE_TEXT:支援與 Gemini嵌入 相同的語言,具體取決於您為 BigQuery ML 遠端模型端點選擇的 Vertex AI 模型。PaLM 文字模型支援的語言與嵌入模型相同。
  • ML.TRANSLATE:支援 Cloud Translation API 語言
  • ML.UNDERSTAND_TEXT:支援 Cloud Natural Language API 語言

適用地區

適用地區如下:

  • ML.GENERATE_TEXT:適用於所有 Vertex AI 生成式 AI 區域
  • ML.TRANSLATE:適用於 EUUS 多地區
  • ML.UNDERSTAND_TEXT:適用於 EUUS 多地區。