Dataflow ML
Dataflow ML을 사용하면 Dataflow를 사용하여 완전한 머신러닝(ML) 파이프라인을 배포하고 관리할 수 있습니다. ML 모델을 사용하여 일괄 및 스트리밍 파이프라인으로 로컬 및 원격 추론을 수행하세요. 데이터 처리 도구를 사용하여 모델 학습용 데이터를 준비하고 모델 결과를 처리합니다.
with pipeline as p: predictions = ( p | beam.ReadFromSource('a_source') | RunInference(MODEL_HANDLER))
RunInference 변환
RunInference
사용은 파이프라인에 변환 코드를 추가하는 것만큼 간단합니다. 이 예시에서 MODEL_HANDLER는 모델 구성 객체입니다.
with beam.Pipeline() as p: transformed_data = ( p | beam.Create(data) | MLTransform(...) | beam.Map(print))
MLTransform 코드
ML 모델 학습을 위해 데이터를 준비하려면 파이프라인에서
MLTransform
을 사용합니다. MLTransform
은 하나의 클래스에 여러 개의 데이터 처리 변환을 래핑하여, 여러 전처리 태스크에 하나의 클래스를 사용할 수 있게 해줍니다.
선행 학습된 모델을 사용한 예측 및 추론
Pytorch 모델이 있습니다
Pytorch에서 선행 학습된 모델을 사용하세요.
scikit-learn 모델이 있습니다
scikit-learn으로 선행 학습된 모델을 사용하세요.
TensorFlow 모델이 있습니다
TensorFlow와 함께 선행 학습된 모델을 사용하세요.
Vertex AI 모델 핸들러가 있습니다.
Apache Beam에는 원격으로 배포된 Vertex AI 엔드포인트에 요청을 전송하기 위한 기본 제공 지원이 포함됩니다. 이 노트북은 Vertex AI를 사용해서 이미지를 분류하기 위해 Apache Beam
RunInference
변환을 사용하는 방법을 보여줍니다.
파이프라인에서 서로 다르게 학습된 모델을 여러 개 사용하려고 합니다.
동일한
RunInference
변환에서 여러 모델을 사용하려면 키가 지정된 모델 핸들러와 함께 RunInference
변환을 사용합니다.
MLTransform을 사용하여 데이터 처리
Vertex AI를 사용하여 LLM의 텍스트 임베딩 생성
Vertex AI 텍스트 임베딩 API와 함께 Apache Beam의
MLTransform
클래스를 사용하여 텍스트 임베딩을 생성합니다. 텍스트 임베딩은 텍스트를 숫자 벡터로 표현하기 위한 방법으로, 많은 자연어 처리(NLP) 작업에 필요합니다.
Hugging Face를 사용하여 LLM의 텍스트 임베딩 생성
Hugging Face Hub 모델과 함께 Apache Beam
MLTransform
클래스를 사용하여 텍스트 임베딩을 생성합니다. Hugging Face SentenceTransformers
프레임워크는 Python을 사용하여 문장, 텍스트, 이미지 임베딩을 생성합니다.
데이터 세트에서 어휘 계산
데이터 세트에서 고유 어휘를 계산한 다음 각 단어 또는 토큰을 고유한 정수 색인에 매핑합니다. 이 변환을 사용하여 텍스트 데이터를 머신러닝 작업에 사용되는 숫자 표현으로 변경합니다.
ML 모델 학습에 필요한 데이터 확장
데이터를 ML 모델을 학습시키는 데 사용할 수 있도록 확장합니다. Apache Beam의
MLTransform
클래스에는 여러 데이터 확장 변환이 포함되어 있습니다.
허브 모델을 사용하여 예측 및 추론
감정 분석 및 요약을 수행하려고 합니다.
추론 파이프라인에서 Gemma 모델을 사용하여 대화의 감정을 측정하고, 대화의 콘텐츠를 요약하고, 어려운 대화에 대한 답장을 작성할 수 있습니다.
Hugug Face에서 학습된 모델이 있습니다.
Hugging Face의 학습된 모델과 함께
RunInference
변환을 사용합니다.
TensorFlow Hub에서 학습된 모델이 있습니다.
TensorFlow Hub에서 학습된 모델과 함께 TensorFlow용
RunInference
변환을 사용합니다.
생성형 AI를 수행하고 싶습니다.
생성형 AI 태스크에
RunInference
변환을 사용합니다. 이 메모장은 Hugging Face Model Hub의 언어 모델을 사용합니다.
ML 워크플로 조정
Vertex AI Pipelines와 함께 Dataflow를 사용하고 싶습니다
Vertex AI Pipelines는 서버리스 방식으로 ML 워크플로를 조정하여 ML 시스템을 자동화, 모니터링, 제어하는 데 도움이 됩니다. Vertex AI Pipelines를 사용하여 TFX 또는 KFP로 정의된 워크플로 DAG를 조정하고 Vertex ML Metadata를 사용하여 ML 아티팩트를 자동으로 추적합니다.
TFX에 Dataflow를 사용하고 싶습니다
TensorFlow Extended(TFX)를 사용하면 Apache Beam 및 Dataflow 실행기와 기본 통합된 조정 프레임워크를 사용하여 완전한 ML 파이프라인을 배포할 수 있습니다.
KFP에 Dataflow를 사용하고 싶습니다
Kubeflow는 Kubernetes에서 ML 워크플로 배포를 간편하게 수행하고 이동 및 확장할 수 있게 해줍니다. Kubeflow Pipelines는 Kubeflow Pipelines SDK를 사용하여 빌드된 재사용 가능한 완전한 ML 워크플로입니다.
추가 기능
GPU 사용
Dataflow 작업에서 GPU를 사용하면 이미지 처리 및 머신러닝 처리 태스크를 가속화할 수 있습니다. Dataflow에서 지원하는 GPU 유형과 다양한 워크로드에 사용할 GPU 유형에 대한 권장사항을 확인하세요.
CPU와 GPU를 적절하게 조합하여 사용
GPU와 CPU를 조합하여 사용하면 높은 성능과 비용 절감 효과를 얻을 수 있습니다. 리소스를 특정 파이프라인 단계로 타겟팅하는 기능은 추가적인 파이프라인 유연성과 기능 및 잠재적인 비용 절감 효과를 제공합니다.
Feature Store 데이터로 스트리밍 파이프라인 보강
Apache Beam은 파이프라인에 추가할 수 있는 턴키 보강 변환을 제공하여 데이터 보강 워크플로를 단순화합니다.
모델 유지보수 및 평가
자동 모델 새로고침
RunInference
를 사용하면 Apache Beam 파이프라인을 중지하지 않고도 자동 모델 업데이트를 수행할 수 있습니다. 파이프라인이 실행되는 동안에도 부 입력을 사용하여 모델을 실시간으로 업데이트할 수 있습니다.
모델 평가
TensorFlow 모델 분석(TFMA)을 사용하여 두 모델을 만들고 비교하여 모델의 성능을 조사하고 시각화합니다. Apache Beam을 사용하면 여러 모델을 한 번에 평가하고 비교할 수 있습니다.
리소스
교차 언어 파이프라인 실행
Java 파이프라인에 RunInference를 사용하려면 교차 언어 Python 변환을 만듭니다. 파이프라인이 변환을 호출하여 전처리, 후처리, 추론을 수행합니다.
Dataflow 권한
Dataflow ML 예시를 실행하려면 Google Cloud 권한을 구성해야 할 수 있습니다. Dataflow 파이프라인에 필요한 권한에 대한 상세 가이드를 읽어보세요.
GitHub에서 예시 보기
GitHub에서 예시 및 해당 소스 코드를 사용할 수 있습니다. GitHub에서는 Colab의 예시를 실행하기 위한 안내도 찾을 수 있습니다.