다음을 통해 공유


ai_query을 사용하여 LLM 일괄 추론 수행

Important

이 기능은 공개 미리 보기 상태입니다.

이 문서에서는 기본 제공된 Databricks SQL 함수 을 사용하여 프로비전된 처리량을 갖춘 Foundation Model API를 사용하는 엔드포인트에서 일괄 유추를 수행하는 방법을 설명합니다. 이 문서의 예제와 지침은 LLM(큰 언어 모델)을 사용하여 여러 입력을 처리하는 일괄 처리 유추 워크로드에 권장됩니다.

SQL 또는 PySpark와 함께 ai_query 사용하여 일괄 처리 유추 워크로드를 실행할 수 있습니다. 데이터에 대한 배치 추론을 실행하려면 ai_query에 다음을 지정하십시오.

  • Unity 카탈로그 입력 테이블 및 출력 테이블
  • 프로비전된 처리량 엔드포인트 이름
  • 모델 프롬프트 및 모든 모델 매개 변수

이 AI 함수에 대한 자세한 내용은 ai_query 함수를 참조하세요.

요구 사항

  • 작업 영역이 Foundation Model API 지원 지역인 경우,입니다.
  • 다음 중 하나입니다.
    • Databricks Runtime 15.4 ML LTS 이상을 실행 중이며, 최소 두 개의 작업자가 있는 컴퓨팅 크기 i3.2xlarge 이상의 다목적 컴퓨팅입니다.
    • SQL 웨어하우스 중간 및 그 이상.
  • 엔드포인트를 제공하는 기존 모델입니다. 프로비저닝된 처리량 기반 모델 API 을 참조하여 프로비저닝된 처리량 엔드포인트를 만듭니다.
  • 사용할 데이터가 포함된 Unity 카탈로그의 델타 테이블에 대한 쿼리 권한입니다.
  • 테이블 속성에서 pipelines.channel을 '미리 보기'로 설정하여 ai_query()을 사용합니다. 샘플 쿼리에 대한 예제 참조하세요.

ai_query 및 SQL 사용

다음은 ai_query 및 SQL을 사용하는 일괄 처리 유추 예제입니다. 이 예제에서는 modelParametersmax_tokenstemperature와 함께 포함되어 있으며, concat()을 사용하여 모델과 입력 열에 대한 프롬프트를 연결하는 방법을 보여줍니다. 연결을 수행하는 방법에는 여러 가지가 있습니다(예: 사용 ||, concat()또는 format_string().


CREATE OR REPLACE TABLE ${output_table_name} AS (
  SELECT
      ${input_column_name},
      AI_QUERY(
        "${endpoint}",
        CONCAT("${prompt}", ${input_column_name}),
        modelParameters => named_struct('max_tokens', ${num_output_tokens},'temperature', ${temperature})
      ) as response
    FROM ${input_table_name}
    LIMIT ${input_num_rows}
)

ai_query 및 PySpark 사용

Python을 사용하려는 경우 다음과 같이 ai_query 및 PySpark를 사용하여 일괄 처리 유추를 실행할 수도 있습니다.

df_out = df.selectExpr("ai_query('{endpoint_name}', CONCAT('{prompt}', {input_column_name}), modelParameters => named_struct('max_tokens', ${num_output_tokens},'temperature', ${temperature})) as {output_column_name}")

df_out.write.mode("overwrite").saveAsTable(output_table_name)

Python을 사용하는 일괄 유추 예제 노트북

다음 예제 노트북은 프로비전된 처리량 엔드포인트를 생성하고 Python 및 Meta Llama 3.1 70B 모델을 사용하여 일괄적인 LLM 추론을 실행합니다. 또한 일괄 처리 유추 워크로드를 벤치마킹하고 엔드포인트를 제공하는 프로비전된 처리량 모델을 만드는 방법에 대한 지침도 있습니다.

프로비전된 처리량 엔드포인트 Notebook을 사용하여 LLM 일괄 처리 유추

노트북 가져오기

다음 예제 Notebook은 프로비전된 처리량 엔드포인트를 만들고 Python을 사용하여 일괄 처리 LLM 추론을 실행하며 GTE Large(영어) 또는 BGE Large(영어) 임베딩 모델 중 하나를 선택합니다.

LLM 임베딩 일괄 추론을 위한 프로비저닝된 처리량 엔드포인트 노트북

노트북 가져오기