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 개방형 모델로 LLM을 실행하고 싶습니다.
추론 파이프라인에서 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 워크플로입니다.
모델 유지보수 및 평가
자동 모델 새로고침
RunInference
를 사용하면 Apache Beam 파이프라인을 중지하지 않고도 자동 모델 업데이트를 수행할 수 있습니다. 파이프라인이 실행되는 동안에도 부 입력을 사용하여 모델을 실시간으로 업데이트할 수 있습니다.
모델 평가하기
TensorFlow 모델 분석(TFMA)을 사용하여 두 모델을 만들고 비교하여 모델의 성능을 조사하고 시각화합니다. Apache Beam을 사용하면 한 번에 여러 모델을 평가하고 비교할 수 있습니다.
리소스
GPU 사용
Dataflow 작업에서 GPU를 사용하면 이미지 처리 및 머신러닝 처리 작업을 가속화할 수 있습니다.
Dataflow 권한
Dataflow ML 예시를 실행하려면 Google Cloud 권한을 구성해야 할 수 있습니다. Dataflow 파이프라인에 필요한 권한에 대한 상세 가이드를 읽어보세요.
GitHub에서 예시 보기
예시 및 해당 소스 코드는 GitHub에서 확인할 수 있습니다. GitHub에서는 Colab의 예제를 실행하기 위한 안내도 찾을 수 있습니다.