Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정

Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정

Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정편집자에 의한 이미지 | chatgpt

소개

머신 러닝은 많은 회사의 필수 요소가되었으며 IT를 활용하지 않는 비즈니스는 뒤처 질 위험이 있습니다. 경쟁 우위를 제공하는 데 중요한 모델이 얼마나 중요한지를 감안할 때 많은 회사가 시스템에 통합하기를 원하는 것은 당연합니다.

비즈니스를 돕기 위해 머신 러닝 파이프 라인 시스템을 설정하는 방법에는 여러 가지가 있으며 클라우드 제공 업체와 함께 호스팅하는 것입니다. 전체 파이프 라인을 사내에서 구축하는 것과 비교하여 확장 성, 비용 효율성 및 단순화 된 프로세스를 포함하여 클라우드에서 기계 학습 모델을 개발하고 배포하는 데 많은 장점이 있습니다.

클라우드 제공 업체 선택은 비즈니스에 달려 있지만이 기사에서는 GCP (Google Cloud Platform)에서 기계 학습 파이프 라인을 설정하는 방법을 살펴 보겠습니다.

시작합시다.

준비

GCP를 사용할 예정이므로 진행하기 전에 Google 계정이 있어야합니다. 계정을 만든 후에는 Google Cloud 콘솔에 액세스하십시오.

콘솔에 들어가면 새 프로젝트를 만듭니다.

Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정

그런 다음 다른 무엇보다도 청구 구성을 설정해야합니다. GCP 플랫폼은 무료 평가판 계정을 사용하여 플랫폼에서 대부분의 작업을 수행하기 전에 지불 정보를 등록해야합니다. 그러나 우리가 사용하는 예는 무료 크레딧을 많이 소비하지 않기 때문에 걱정할 필요는 없습니다.

Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정

프로젝트를 시작하는 데 필요한 모든 청구 정보를 포함하십시오. 또한 세금 정보와 신용 카드가 준비되도록해야 할 수도 있습니다.

모든 것이 제자리에 있으면 GCP를 사용하여 기계 학습 파이프 라인을 구축 해 드리겠습니다.

Google 클라우드 플랫폼을 갖춘 머신 러닝 파이프 라인

기계 학습 파이프 라인을 구축하려면 예제 데이터 세트가 필요합니다. 이 튜토리얼에는 Kaggle의 심장 마비 예측 데이터 세트를 사용할 것입니다. 데이터를 다운로드하여 지금 어딘가에 저장하십시오.

다음으로 기계 학습 파이프 라인이 사용할 데이터 세트에 대한 데이터 저장소를 설정해야합니다. 이를 위해서는 데이터 세트에 대한 스토리지 버킷을 만들어야합니다. ‘클라우드 스토리지’를 검색하여 양동이를 만듭니다. 독특한 글로벌 이름이 있어야합니다. 지금은 기본 설정을 변경할 필요가 없습니다. 생성 버튼을 클릭하면됩니다.

Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정

버킷이 생성되면 CSV 파일을 업로드하십시오. 이 작업을 올바르게 수행하면 버킷 내부에 데이터 세트가 표시됩니다.

Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정

다음으로 BigQuery Service를 사용하여 쿼리 할 수있는 새 테이블을 만들 것입니다. ‘BigQuery’를 검색하고 ‘데이터 추가’를 클릭하십시오. ‘Google Cloud Storage’를 선택하고 이전에 만든 버킷에서 CSV 파일을 선택하십시오.

Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정

정보, 특히 프로젝트 대상, 데이터 세트 양식 (새 데이터 세트 생성 또는 기존 데이터 세트 선택) 및 테이블 이름을 작성하십시오. 스키마의 경우 ‘자동 검출’을 선택한 다음 테이블을 만듭니다.

Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정

성공적으로 만든 경우 테이블을 쿼리하여 데이터 세트에 액세스 할 수 있는지 확인할 수 있습니다.

다음으로 Vertex AI를 검색하고 권장되는 모든 API를 활성화하십시오. 완료되면 ‘Colab Enterprise’를 선택하십시오.

Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정

간단한 기계 학습 파이프 라인에 사용할 노트북을 만들려면 ‘노트북 만들기’를 선택하십시오.

Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정

Google Colab에 익숙하다면 인터페이스가 매우 유사하게 보입니다. 원하는 경우 외부 소스에서 노트북을 가져올 수 있습니다.

노트북이 준비된 상태에서 런타임에 연결하십시오. 현재로서는 많은 리소스가 필요하지 않으므로 기본 기계 유형으로 충분합니다.

BigQuery 테이블의 데이터를 쿼리하여 기계 학습 파이프 라인 개발을 시작하겠습니다. 먼저 다음 코드로 BigQuery 클라이언트를 초기화해야합니다.

from google.cloud import bigquery

client = bigquery.Client()

그런 다음 다음 코드를 사용하여 BigQuery 테이블에서 데이터 세트를 쿼리하겠습니다. 이전에 만든 것과 일치하도록 프로젝트 ID, 데이터 세트 및 테이블 이름을 변경하십시오.

# TODO: Replace with your project ID, dataset, and table name
query = """
SELECT *
FROM `your-project-id.your_dataset.heart_attack`
LIMIT 1000
"""
query_job = client.query(query)

df = query_job.to_dataframe()

데이터는 이제 노트북의 Pandas Dataframe에 있습니다. 대상 변수 ( ‘결과’)를 숫자 레이블로 변환합시다.

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

df['Outcome'] = df['Outcome'].apply(lambda x: 1 if x == 'Heart Attack' else 0)

다음으로 교육 및 테스트 데이터 세트를 준비합시다.

df = df.select_dtypes('number')

X = df.drop('Outcome', axis=1)
y = df['Outcome']

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

⚠️ 메모: df = df.select_dtypes('number') 숫자가 아닌 모든 열을 삭제하여 예제를 단순화하는 데 사용됩니다. 실제 시나리오에서 이것은 유용한 범주 형 기능을 폐기 할 수있는 공격적인 단계입니다. 이것은 단순성을 위해 여기에서 수행되며 일반적으로 엔지니어링 또는 인코딩 기능이 일반적으로 고려됩니다.

데이터가 준비되면 모델을 훈련시키고 성능을 평가합시다.

model = LogisticRegression()
model.fit(X_train, y_train)

y_pred = model.predict(X_test)
print(f"Model Accuracy: {accuracy_score(y_test, y_pred)}")

모델 정확도는 약 0.5입니다. 이것은 확실히 개선 될 수 있지만이 예에서는이 간단한 모델을 진행할 것입니다.

이제 모델을 사용하여 예측하고 결과를 준비합시다.

result_df = X_test.copy()
result_df['actual'] = y_test.values
result_df['predicted'] = y_pred
result_df.reset_index(inplace=True)

마지막으로 모델의 예측을 새로운 BigQuery 테이블에 저장합니다. 다음 코드는 대상 테이블을 추가하지 않고 이미 존재하는 경우 대상 테이블을 덮어 씁니다.

# TODO: Replace with your project ID and destination dataset/table
destination_table = "your-project-id.your_dataset.heart_attack_predictions"
job_config = bigquery.LoadJobConfig(write_disposition=bigquery.WriteDisposition.WRITE_TRUNCATE)
load_job = client.load_table_from_dataframe(result_df, destination_table, job_config=job_config)
load_job.result()

이를 통해 Vertex AI 노트북 내에서 간단한 기계 학습 파이프 라인을 만들었습니다.

이 프로세스를 간소화하려면 노트북을 자동으로 실행하도록 예약 할 수 있습니다. 노트북의 행동으로 이동하여 ‘일정’을 선택하십시오.

Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정Google Cloud 플랫폼에서 머신 러닝 파이프 라인 설정

예를 들어, 매주 화요일 또는 월 첫날에 노트북이 실행되는 데 필요한 빈도를 선택하십시오. 이것은 기계 학습 파이프 라인이 필요에 따라 실행되도록하는 간단한 방법입니다.

그것이 GCP에서 간단한 기계 학습 파이프 라인을 설정하는 것입니다. Kubeflow Pipelines (KFP) 또는보다 통합 된 Vertex AI Pipelines 서비스와 같은 파이프 라인을 설정하는 더 많은 생산 준비 방법이 많이 있습니다.

결론

Google Cloud Platform은 사용자가 머신 러닝 파이프 라인을 설정하는 쉬운 방법을 제공합니다. 이 기사에서는 Cloud Storage, BigQuery 및 Vertex AI와 같은 다양한 클라우드 서비스를 사용하여 파이프 라인을 설정하는 방법을 배웠습니다. 노트북 양식으로 파이프 라인을 작성하고 자동으로 실행하도록 예약하면 간단하고 기능적인 파이프 라인을 만들 수 있습니다.

이것이 도움이 되었기를 바랍니다!

Cornellius Yudha Wijaya 데이터 과학 보조 관리자 및 데이터 작성자입니다. 그는 Allianz Indonesia에서 풀 타임으로 일하는 동안 소셜 미디어 및 작문 미디어를 통해 Python과 데이터 팁을 공유하는 것을 좋아합니다. Cornellius는 다양한 AI 및 기계 학습 주제에 대해 글을 씁니다.

출처 참조

Post Comment

당신은 놓쳤을 수도 있습니다