자연어 처리 함수 선택
이 문서에서는 BigQuery ML에서 사용할 수 있는 자연어 처리 함수(ML.GENERATE_TEXT
, ML.TRANSLATE
, ML.UNDERSTAND_TEXT
)를 비교합니다.
ML.GENERATE_TEXT
는 다음 이미지와 같이 다른 두 함수도 수행할 수 있는 태스크를 수행할 수 있습니다.
이 문서의 정보를 사용하여 함수에 겹치는 기능이 있는 경우에 사용할 함수를 결정할 수 있습니다.
간략한 이러한 함수의 차이점은 다음과 같습니다.
ML.GENERATE_TEXT
는 저렴한 비용으로 맞춤설정된 자연어 처리(NLP) 태스크를 수행하는 데 적합합니다. 이 함수는 더 많은 언어 지원, 더 빠른 처리량, 모델 조정 기능을 제공하며 멀티모달 모델에서도 작동합니다.ML.TRANSLATE
는 분당 고속 쿼리를 지원해야 하는 변역 관련 NLP 태스크를 수행하는 데 적합합니다.ML.UNDERSTAND_TEXT
는 Cloud Natural Language API에서 지원하는 NLP 태스크를 수행하는 데 적합합니다.
지원되는 모델
지원되는 모델은 다음과 같습니다.
ML.GENERATE_TEXT
: Vertex AI Gemini 또는 PaLM 모델의 하위 집합을 사용하여 텍스트를 생성할 수 있습니다. 지원되는 모델에 대한 자세한 내용은ML.GENERATE_TEXT
구문을 참조하세요.ML.TRANSLATE
: Cloud Translation API 기본 모델을 사용합니다.ML.UNDERSTAND_TEXT
: Cloud Natural Language API 기본 모델을 사용합니다.
지원되는 태스크
지원되는 태스크는 다음과 같습니다.
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.TRANSLATE
또는 ML.UNDERSTAND_TEXT
를 사용하는 것이 좋습니다.
출력 구조
ML.GENERATE_TEXT
는 지속적으로 ml_generate_text_llm_result
출력 열에 결과를 반환합니다. 프롬프트를 사용하여 출력 구조를 정의할 수도 있습니다. 예를 들어 커스텀 상위 및 하위 필드가 있는 JSON으로 결과를 반환하도록 모델에 지시하고 이 결과를 생성하는 방법의 예시를 제공할 수 있습니다.
ML.TRANSLATE
및 ML.UNDERSTAND_TEXT
는 API가 성공적으로 호출될 때마다 지정된 태스크 유형에 같은 출력을 생성합니다. 또한 이러한 함수의 출력에는 결과에 대한 추가 메타데이터가 포함됩니다. 예를 들어 ML.TRANSLATE
출력에는 입력 언어에 대한 정보가 포함되고 ML.UNDERSTAND_TEXT
출력에는 감정 분석 태스크의 감정 크기에 대한 정보가 포함됩니다. Vertex AI 모델을 사용하여 이 메타데이터를 생성할 수 있지만 이렇게 하려면 상당한 프롬프트 엔지니어링이 필요하며 동일한 세분성을 제공하지 않을 가능성이 높습니다.
가격 책정
가격은 다음과 같습니다.
ML.GENERATE_TEXT
: 이 함수와 함께 사용하는 Vertex AI 모델의 가격은 Vertex AI 가격 책정을 참고하세요. 지원되는 모델의 지도 조정은 Vertex AI 커스텀 학습 가격 책정에 따라 노드 시간당 달러로 청구됩니다.ML.TRANSLATE
: 이 함수와 함께 사용하는 Cloud AI 서비스의 가격은 Cloud Translation API 가격 책정을 참고하세요.ML.UNDERSTAND_TEXT
: 이 함수와 함께 사용하는 Cloud AI 서비스의 가격은 Cloud Natural Language API 가격 책정을 참고하세요.
감독하에 조정
지도 조정 지원은 다음과 같습니다.
ML.GENERATE_TEXT
: 일부 모델에서 지도 조정이 지원됩니다.ML.TRANSLATE
: 지도 조정이 지원되지 않습니다.ML.UNDERSTAND_TEXT
: 지도 조정이 지원되지 않습니다.
멀티모달리티
멀티모달리티 지원은 다음과 같습니다.
ML.GENERATE_TEXT
: 텍스트 및 텍스트 + 이미지 입력을 지원합니다.ML.TRANSLATE
: 텍스트 입력을 지원합니다.ML.UNDERSTAND_TEXT
: 텍스트 입력을 지원합니다.
분당 쿼리 수(QPM) 한도
QPM 한도는 다음과 같습니다.
ML.GENERATE_TEXT
: 범위는 사용된 모델에 따라 기본us-central1
리전의 QPM 100~1,600개 한도입니다.ML.TRANSLATE
: v3의 경우 QPM 6,000개 한도입니다.ML.UNDERSTAND_TEXT
: QPM 600개 한도입니다.
토큰 한도
토큰 한도는 다음과 같습니다.
ML.GENERATE_TEXT
: 범위는 사용된 모델에 따라 토큰 8,192~24,576개 한도입니다.ML.TRANSLATE
: 토큰 한도가 없습니다. 하지만 이 함수에는 30,000바이트 한도가 있습니다.ML.UNDERSTAND_TEXT
: 토큰 100,000개 한도입니다.
지원 언어
지원되는 언어는 다음과 같습니다.
ML.GENERATE_TEXT
: BigQuery ML 원격 모델 엔드포인트에 선택한 Vertex AI 모델에 따라 Gemini 또는 임베딩과 동일한 언어를 지원합니다. PaLM 텍스트 모델은 임베딩 모델과 동일한 언어를 지원합니다.ML.TRANSLATE
: Cloud Translation API 언어를 지원합니다.ML.UNDERSTAND_TEXT
: Cloud Natural Language API 언어를 지원합니다.
사용 가능한 리전
사용 가능한 리전은 다음과 같습니다.
ML.GENERATE_TEXT
: 모든 Vertex AI용 생성형 AI 리전에서 사용할 수 있습니다.ML.TRANSLATE
:EU
및US
멀티 리전에서 사용할 수 있습니다.ML.UNDERSTAND_TEXT
:EU
및US
멀티 리전에서 사용할 수 있습니다.