과자와 머신러닝을 좋아하는 분에게 좋은 소식이 있습니다. 혹시 최근에 제 동료인 Sara Robinson과 Dale Markowitz가 협력해 브레키(케이크, 쿠키, 빵을 융합해 만든 음식)를 비롯해 몇 가지 맛있는 베이커리 발명품을 새로 만들었다는 소식을 기억하실지 모르겠군요. 테이블 형식의 데이터를 기반으로 하는 머신러닝 모델을 코드 없이 만들 수 있는 방법인 AutoML Tables로 빌드한 베이킹 ML 모델을 통해 이 모든 새로운 음식을 만들었습니다.
얼마 전에 전설적인 제과 제조업체인 Mars Wrigley가 Maltesers + AI 주방 협업을 위한 Cloud AI 문제를 협의하고자 Sara에게 접근했습니다. Sara는 쿠키, 케이크, 스콘, 트레이베이크 그리고 이들을 혼합해서 만든 '하이브레드(hy-bread)'의 레시피를 만들기 위해 새로운 ML 모델을 학습시켰습니다. 몇 시간 동안의 모델 학습과 베이킹 실험 후, Sara는 모델의 AI에 최적화된 케이크와 쿠키 레시피를 Maltesers와 결합해 영국의 전통적인 재료인 마마이트까지 포함한 새로운 디저트를 만들었습니다.
이를 분석하기 위해 Sara는 몇 가지 도구를 사용해 모델을 빌드하고 커스터마이징했습니다.
AI Platform Notebooks(특징 추출과 모델 개발을 위한 Jupyter 실험실 환경) 및 TensorFlow
AI Platform Hyperparameter Tuning(모델 학습)
AI Platform Prediction(모델 배포)
Sara의 AI를 기반으로 하는 Mars 레시피를 직접 시도해 볼 수 있지만, 피자, 파이, 밀크 쉐이크, 볶음 요리 등의 다른 창작 요리를 위한 자신만의 ML 모델을 만들고 싶은 분을 위해 시작해볼 수 있는 목표와 단계를 요약해 보겠습니다.
목표: 한 종류의 요리를 입력으로 받아 그 요리를 만드는 데 필요한 다양한 재료의 양을 산출하는 모델을 만듭니다.
단계:
데이터를 수집합니다. 관심 있는 요리 레시피(예: 다양한 종류의 피자, 베이커리 제품 또는 국수)를 중심으로 상당한 크기의 데이터 세트를 수집하고 싶을 겁니다. 해당 요리에 들어가는 각 재료의 양에 대한 데이터를 얻고 싶을 테니까요. 피자에 주력한다면 각각의 피자 종류를 구성하는 반죽, 치즈, 토핑의 양에 관한 데이터가 필요합니다.
데이터를 준비합니다. 각 레시피를 여러 요리에 걸쳐 사용되는 핵심 재료로 축약합니다. 이는 약간 자의적일 수 있지만, 어떤 재료가 식감, 풍미 또는 맛의 일관성처럼, 모든 요리의 근본적인 구성에 영향을 미치는지 생각해 보세요. 피자 사례에서, 필자는 반죽 재료, 치즈 종류, 소스, 일반적인 토핑으로만 범위를 좁히겠습니다.
데이터를 전처리합니다. 모든 재료의 양이 똑같은 측정 단위(예: 온스 또는 그램)로 처리되도록 합니다. 또한, 모든 재료의 양이 표준 범위 내에 들도록 모델 입력의 크기를 조정해야 할 수도 있습니다. 데이터 확대 기능을 사용하여 새 학습 사례를 만들 수 있습니다. AutoML을 사용 중이라면 이 단계는 건너뛸 수 있습니다. 이 단계에서 많은 데이터 준비 작업을 자동으로 처리해주기 때문이지만, 학습 데이터 생성을 위한 모범 사례를 염두에 두세요.
모델을 빌드합니다. AI Platform 을 사용하면 노트북, 내장 데이터 라벨링 서비스, Cloud Storage 또는 BigQuery에 데이터 세트를 저장하는 기능을 사용하여 모델을 개발, 학습, 배포할 수 있습니다. 또한, AutoML Tables를 사용하고 CSV 파일, Google 스프레드시트 또는 BigQuery 데이터베이스에서 직접 데이터를 가져올 수도 있습니다.
모델을 학습시킵니다. 여러 학습 작업 무료 체험판을 실행하는 서비스인 AI Platform Hyperparameter Tuning을 사용하여 모델의 하이퍼 매개변수를 최적화할 수 있습니다. 그 밖에도, AutoML Tables는 자동화된 특징 엔지니어링 기능을 제공합니다. 어느 한 도구를 사용하면 바질이 마르게리타 피자의 중요한 예측 지표인 것과 같이, 어떤 재료가 각 요리 종류의 중요한 예측 지표인지 결정할 수 있습니다(AutoML을 사용하면 이 작업을 더 쉽게 수행할 수 있음).
모델을 배포하고 예측합니다. 하이퍼 매개변수를 조정하고 모델을 학습시키고 나면 AI Platform Prediction을 사용하여 맞춤형 레시피(요리나 콤보 요리를 만들기 위한 재료의 양)를 만들 수 있습니다. AI Platform과 AutoML을 모두 사용하면 특징 중요도 점수(요리에 대해 얼마나 가중치가 높은 재료인지 평가)도 확인할 수 있습니다. AI 기반의 레시피가 제공되는 것이죠!
이제 앞치마를 입기 전에, 올바로 시작할 수 있도록 몇 가지 유용한 리소스를 공유해 드리겠습니다.
맛을 보여주기 위한 AI 리소스
이 가이드에서는 Keras 순차 API를 사용하여 AI Platform에서 신경망을 학습시키는 방법과 그 모델에서 예측을 제공하는 방법을 보여줍니다. Colab에서 이 가이드를 노트북으로 실행할 수도 있습니다. 다음 방법을 배우게 됩니다.
또한, 이 모델에 사용되는 학습 코드를 자세히 살펴보고 AI Platform과 호환되도록 보장하는 방법도 알아보세요. 데이터 세트가 미국 인구조사국의 수입에 관한 것이지만, 요리에 영감을 받아 선택한 데이터 세트나 다른 데이터 세트를 위해 AI Platform에서 모델을 학습, 배포, 제공하는 방법을 이해하기 위한 프레임워크로 이 가이드를 사용할 수 있습니다.
이 가이드에서는 Sara가 AI Platform Notebooks에서 데이터 탐색과 ML 모델 프로토타입 제작을 위한 도구를 소개합니다. 다음 방법을 배우게 됩니다.
혹시 제가 코드 없이 사용자설정 ML 모델을 만들 수도 있다는 점을 강조하지 않았다면 그건 저의 불찰입니다. 필자는 Sara와 Dale이 팀을 이뤄 브레키 레시피를 만들 때 AutoML Tables를 사용했다고 언급했는데, 그 덕분에 특징 엔지니어링을 자동화하여 큰 부담을 상당히 많이 덜어 구조화된 데이터를 기반으로 최첨단 머신러닝 모델을 쉽게 빌드하고 배포할 수 있습니다. 이 코드 없는 인터페이스가 ML 워크플로를 처음부터 끝까지 완전히 안내해 주므로, 누구나 쉽게 모델을 빌드해 더욱 폭넓은 사용 사례로 안정적으로 통합할 수 있습니다.
AutoML Tables를 기반으로 시작하는 데 도움이 되는 수많은 빠른 시작, 샘플, 동영상 리소스가 있습니다. 이런 리소스를 활용해 다음과 같은 방법을 배워 보세요.
Yufeng Guo와 Priyanka Vergadia가 AI Platform에 관해 다룬 내용을 확인해 보세요. 이 특집 동영상에서, Yufeng은 학습 코드를 전혀 작성하지 않고 AI Platform 내장 알고리즘을 사용해 머신러닝 모델을 학습 및 배포할 수 있는 방법을 다룹니다. 또한, 재생목록의 다른 동영상을 통해 다음 사항에 대해서도 알아보세요.
AI Platform에서 사용자설정 컨테이너로 모델 학습
ML 워크플로의 안정성을 개선하기 위한 AI Platform 파이프라인
AI Prediction 서비스를 사용하여 모델에 대한 설명을 받고 출력에 대한 이해도 증진
AI Platform에서 AI 데이터 라벨링 서비스 최대한 활용하기
여기까지 계속 따라오셨다면 아마 배가 고파 얼른 실행으로 옮겨 맛있는 요리를 드시고 싶을 겁니다. Google Cloud에서 더 많은 AI를 탐색하고 온라인으로 Sara, Dale 그리고 필자에게 여러분의 레시피를 공유할 수 있습니다. 우리는 베이킹과 관련된 이런 시도를 해본 것이지만, 다른 종류의 레시피에 대한 모델로 거둔 여러분의 성공담을 듣고 싶습니다!