이 페이지에서는 MLTransform
특성을 사용하여 머신러닝(ML) 모델을 학습시킬 수 있는 데이터를 준비하는 이유와 방법을 설명합니다. 한 클래스에 여러 데이터 처리 변환을 결합하면 MLTransform
에서 Apache Beam ML 데이터 처리 작업을 워크플로에 적용하는 프로세스를 간소화합니다.
MLTransform
을 사용합니다.
이점
MLTransform
클래스는 다음과 같은 이점을 제공합니다.
- 복잡한 코드를 작성하거나 기본 라이브러리를 관리하지 않고도 데이터를 변환할 수 있습니다.
- 데이터를 벡터 데이터베이스로 푸시하거나 추론을 실행하는 데 사용할 수 있는 임베딩을 생성합니다.
- 인터페이스 하나에서 여러 유형의 처리 작업을 효율적으로 연결할 수 있습니다.
지원 및 제한 사항
MLTransform
클래스에는 다음과 같은 제한사항이 있습니다.
- Apache Beam Python SDK 버전 2.53.0 이상을 사용하는 파이프라인에 사용할 수 있습니다.
- 파이프라인에서 기본 기간을 사용해야 합니다.
텍스트 임베딩 변환:
- Python 3.8, 3.9, 3.10, 3.11, 3.12를 지원합니다.
- 일괄 및 스트리밍 파이프라인을 모두 지원합니다.
- Vertex AI 텍스트 임베딩 API 및 Hugging Face Sentence Transformers 모듈을 지원합니다.
TFT를 사용하는 데이터 처리 변환:
- Python 3.9, 3.10, 3.11을 지원합니다.
- 일괄 파이프라인을 지원합니다.
사용 사례
예시 메모장에서는 특정 사용 사례에 MLTransform
를 사용하는 방법을 보여줍니다.
- Vertex AI를 사용하여 LLM의 텍스트 임베딩 생성
- Vertex AI 텍스트 임베딩 API와 함께 Apache Beam
MLTransform
클래스를 사용하여 텍스트 임베딩을 생성합니다. 텍스트 임베딩은 텍스트를 숫자 벡터로 표현하기 위한 방법으로, 많은 자연어 처리(NLP) 작업에 필요합니다. - Hugging Face를 사용하여 LLM의 텍스트 임베딩 생성
- Hugging Face Hub 모델과 함께 Apache Beam
MLTransform
클래스를 사용하여 텍스트 임베딩을 생성합니다. Hugging FaceSentenceTransformers
프레임워크는 Python을 사용하여 문장, 텍스트, 이미지 임베딩을 생성합니다. - 데이터 세트에서 어휘 계산
- 데이터 세트에서 고유 어휘를 계산한 다음 각 단어 또는 토큰을 고유한 정수 색인에 매핑합니다. 이 변환을 사용하여 텍스트 데이터를 머신러닝 작업에 사용되는 숫자 표현으로 변경합니다.
- ML 모델 학습에 필요한 데이터 확장
- 데이터를 ML 모델을 학습시키는 데 사용할 수 있도록 확장합니다. Apache Beam
MLTransform
클래스에는 여러 데이터 확장 변환이 포함되어 있습니다.
사용 가능한 변환의 전체 목록은 Apache Beam 문서에서 변환을 참조하세요.
MLTransform 사용
MLTransform
클래스를 사용하여 데이터를 사전 처리하려면 파이프라인에 다음 코드를 포함합니다.
import apache_beam as beam
from apache_beam.ml.transforms.base import MLTransform
from apache_beam.ml.transforms.tft import TRANSFORM_NAME
import tempfile
data = [
{
DATA
},
]
artifact_location = gs://BUCKET_NAME
TRANSFORM_FUNCTION_NAME = TRANSFORM_NAME(columns=['x'])
with beam.Pipeline() as p:
transformed_data = (
p
| beam.Create(data)
| MLTransform(write_artifact_location=artifact_location).with_transform(
TRANSFORM_FUNCTION_NAME)
| beam.Map(print))
다음 값을 바꿉니다.
TRANSFORM_NAME
: 사용할 변환의 이름BCUKET_NAME
: Cloud Storage 버킷 이름DATA
: 변환할 입력 데이터TRANSFORM_FUNCTION_NAME
: 코드에서 변환 함수에 할당하는 이름
다음 단계
MLTransform
에 대한 자세한 내용은 Apache Beam 문서의 데이터 전처리를 참조하세요.- 더 많은 예시는 Apache Beam 변환 카탈로그의 데이터 처리를 위한
MLTransform
을 참조하세요. - Colab에서 대화형 노트북 실행하기