
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Enable relevant APIs and set IAM roles
/ 15
Create a cloud resource connection
/ 10
Grant IAM permissions to the connection's service account
/ 10
Create the dataset and object table in BigQuery for movie poster images
/ 10
Create the Gemini Remote models in BigQuery
/ 10
Prompt Gemini to provide movie summaries for each poster
/ 20
Generate text embeddings for a subset of the IMDB dataset
/ 25
이 실습에서는 개념 증명 프로젝트의 일환으로 원격 모델(Gemini AI 모델)에서 BigQuery 머신러닝을 사용한 추론으로 영화 포스터를 분석하고 포스터 요약을 생성하는 방법을 알아봅니다.
BigQuery는 데이터의 가치를 극대화하는 데 도움이 되는 완전 관리형 AI 지원 데이터 분석 플랫폼으로서 멀티 엔진, 멀티 형식, 멀티 클라우드로 설계되었습니다. 주요 기능인 BigQuery 머신러닝을 사용한 추론을 통해 GoogleSQL 쿼리를 사용하여 머신러닝(ML) 모델을 만들고 실행할 수 있습니다.
Gemini는 Google DeepMind에서 개발한 생성형 AI 모델 제품군으로, 멀티모달 사용 사례를 위해 설계되었습니다. Gemini API를 통해 Gemini Pro Vision 및 Gemini Pro 모델에 액세스할 수 있습니다.
일반적으로 대규모 데이터 세트에서 ML 또는 인공지능(AI)을 수행하려면 ML 프레임워크에 대한 광범위한 프로그래밍과 지식이 필요합니다. 이러한 요건 때문에 각 회사에서도 극소수의 직원만 솔루션 개발을 담당할 수 있으며, 데이터를 이해하더라도 ML 및 프로그래밍 전문 지식이 부족한 데이터 분석가는 개발에 참여하지 못합니다. 하지만 BigQuery 머신러닝을 사용한 추론을 이용하면 SQL 실무자는 기존 SQL 도구와 기술을 사용하여 모델을 빌드하고 LLM 및 Cloud AI API로 결과를 생성할 수 있습니다.
이 실습에서는 다음을 수행하는 방법에 대해 알아봅니다.
다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지를 표시합니다.
실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.
이 실습을 완료하려면 다음을 준비해야 합니다.
실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 대화상자가 열립니다. 왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 창이 있습니다.
Google Cloud 콘솔 열기를 클릭합니다(Chrome 브라우저를 실행 중인 경우 마우스 오른쪽 버튼으로 클릭하고 시크릿 창에서 링크 열기를 선택합니다).
실습에서 리소스가 가동되면 다른 탭이 열리고 로그인 페이지가 표시됩니다.
팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.
필요한 경우 아래의 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다.
실습 세부정보 창에서도 사용자 이름을 확인할 수 있습니다.
다음을 클릭합니다.
아래의 비밀번호를 복사하여 시작하기 대화상자에 붙여넣습니다.
실습 세부정보 창에서도 비밀번호를 확인할 수 있습니다.
다음을 클릭합니다.
이후에 표시되는 페이지를 클릭하여 넘깁니다.
잠시 후 Google Cloud 콘솔이 이 탭에서 열립니다.
이 작업에서는 Gemini용 Cloud AI Companion API와 Vertex AI Platform API를 프로젝트에서 사용할 수 있도록 실습 환경을 구성합니다.
실습 사용자 인증 정보로 Google Cloud 콘솔에 로그인하고 Cloud Shell 터미널 창을 엽니다.
Cloud Shell에서 프로젝트 ID 및 리전 환경 변수를 설정하려면 다음 명령어를 실행합니다.
로그인한 Google 사용자 계정을 환경 변수에 저장하려면 다음 명령어를 실행합니다.
Gemini용 Cloud AI Companion API 및 Vertex AI API를 사용 설정합니다.
Gemini를 사용하기 위해 Google Cloud Qwiklabs 사용자 계정에 필요한 IAM 역할을 부여합니다.
이러한 역할을 추가하면 사용자가 Gemini의 지원을 받을 수 있습니다.
목표를 확인하려면 내 진행 상황 확인하기를 클릭합니다.
이 작업에서는 Gemini Pro 및 Gemini Pro Vision 모델로 작업할 수 있도록 BigQuery에서 Cloud 리소스 연결을 만듭니다.
Google Cloud 콘솔의 탐색 메뉴에서 BigQuery를 클릭합니다.
시작 팝업에서 완료를 클릭합니다.
연결을 만들기 위해 +추가를 클릭한 다음 외부 데이터 소스에 연결을 클릭합니다.
'연결 유형' 목록에서 Vertex AI 원격 모델, 원격 함수, BigLake(Cloud 리소스)를 선택합니다.
연결을 위해 '연결 ID' 필드에 gemini_conn을 입력합니다.
위치 유형에서 멀티 리전을 선택한 다음 드롭다운에서 US 멀티 리전을 선택합니다.
다른 설정은 기본값을 그대로 유지합니다.
연결 만들기를 클릭합니다.
연결로 이동을 클릭합니다.
'연결 정보' 창에서 다음 작업에 사용할 수 있도록 서비스 계정 ID를 텍스트 파일에 복사합니다. 또한 BigQuery 탐색기에서 프로젝트의 '외부 연결' 섹션에 연결이 추가된 것을 볼 수 있습니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
이 작업에서는 역할을 통해 Cloud 리소스 연결의 서비스 계정에 IAM 권한을 부여하여 Vertex AI 서비스에 액세스할 수 있도록 합니다.
Google Cloud 콘솔의 탐색 메뉴에서 IAM 및 관리자를 클릭합니다.
액세스 권한 부여를 클릭합니다.
앞에서 복사한 서비스 계정 ID를 새 주 구성원 필드에 입력합니다.
역할 선택 필드에서 Vertex AI를 선택한 후 Vertex AI 사용자 역할을 선택합니다.
저장을 클릭합니다.
이렇게 하면 이제 서비스 계정 ID에 Vertex AI 사용자 역할이 포함됩니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
이 작업에서는 프로젝트의 데이터 세트를 만들고 포스터 이미지를 저장할 객체 테이블을 만듭니다.
Google Cloud 콘솔에서 탐색 메뉴()를 선택한 다음 BigQuery를 선택합니다.
탐색기 패널의
테이블과 모델을 비롯한 데이터베이스 객체를 저장할 데이터 세트를 생성합니다.
데이터 세트 만들기 창에 다음 정보를 입력합니다.
필드 | 값 |
---|---|
데이터 세트 ID | gemini_demo |
위치 유형 | 멀티 리전 선택 |
멀티 리전 | US 선택 |
다른 필드는 기본값을 유지합니다.
데이터 세트 만들기를 클릭합니다.
이렇게 하면 gemini_demo 데이터 세트가 만들어지고 BigQuery 탐색기의 프로젝트 아래에 나열됩니다.
SQL 쿼리를 사용하여 객체 테이블을 만듭니다.
+를 클릭하여 새 SQL 쿼리를 만듭니다.
쿼리 편집기에 아래 쿼리를 붙여넣습니다.
쿼리를 실행합니다.
이렇게 하면 movie_posters 객체 테이블이 gemini_demo 데이터 세트에 추가되고 각 영화 포스터 이미지의 URI(Cloud Storage 위치)와 함께 로드됩니다.
탐색기에서 movie_posters를 클릭하고 스키마와 세부정보를 검토합니다. 자유롭게 테이블을 쿼리하여 특정 레코드를 검토합니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
객체 테이블을 만들었으니 이제 테이블로 작업할 수 있습니다. 이 작업에서는 BigQuery를 사용해 Gemini Pro 및 Gemini Pro Vision 모델의 원격 모델을 만듭니다.
+를 클릭하여 새 SQL 쿼리를 만듭니다.
쿼리 편집기에 다음 쿼리를 붙여넣고 실행합니다.
이렇게 하면 gemini_pro 모델이 생성되어 모델 섹션의 gemini_demo 데이터 세트에 추가됩니다.
탐색기에서 gemini_pro 모델을 클릭하고 스키마와 세부정보를 검토합니다.
+를 클릭하여 새 SQL 쿼리를 만듭니다.
쿼리 편집기에 다음 쿼리를 붙여넣고 실행합니다.
이렇게 하면 gemini_pro_vision 모델이 생성되어 모델 섹션의 gemini_demo 데이터 세트에 추가됩니다.
탐색기에서 gemini_pro_vision 모델을 클릭하고 스키마와 세부정보를 검토합니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
이 작업에서는 Gemini(방금 만든 Gemini Pro 및 Vision 모델)를 사용하여 영화 포스터 이미지를 분석하고 각 영화의 요약을 생성합니다.
+를 클릭하여 새 SQL 쿼리를 만듭니다.
쿼리 편집기에 다음 쿼리를 붙여넣고 실행합니다.
이렇게 하면 movie_posters_results 테이블이 생성됩니다.
탐색기에서 movie_posters_results 테이블을 클릭하고 스키마와 세부정보를 검토합니다.
+를 클릭하여 새 SQL 쿼리를 만듭니다.
쿼리 편집기에 다음 쿼리를 붙여넣고 실행합니다.
이렇게 하면 각 영화 포스터의 행이 URI(영화 포스터 이미지의 Cloud Storage 위치) 및 JSON 결과(Gemini Pro Vision 모델의 영화 제목 및 영화 개봉 연도 포함)와 함께 표시됩니다.
다음 쿼리를 사용하여 인간이 읽기 더 쉬운 방식으로 이러한 결과를 가져올 수 있습니다.
+를 클릭하여 새 SQL 쿼리를 만듭니다.
쿼리 편집기에 다음 쿼리를 붙여넣고 실행합니다.
이렇게 하면 movie_posters_result_formatted 테이블이 생성됩니다.
아래의 쿼리를 사용하여 테이블을 쿼리하면 행이 생성됩니다.
URI 열 결과는 동일하게 유지되지만 JSON은 각 행의 제목 및 연도 열로 변환됩니다.
Gemini Pro를 사용하여 아래 쿼리를 실행하면 각 포스터의 영화 요약이 제공됩니다.
이전 쿼리와 유사한 결과가 반환되지만 이번에는 Gemini에 사용한 프롬프트가 프롬프트 열에 표시되고 이 프롬프트를 사용한 결과가 ml_generate_text_llm_result 필드에 포함됩니다. 이 필드에 영화의 간략한 요약이 포함됩니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
이 작업에서는 추가 분석을 수행하기 위해 원격 모델을 사용하여 텍스트 임베딩을 생성합니다.
텍스트 임베딩을 생성하려면 엔드포인트에서 호스팅되는 원격 text-multilingual-embedding-002 모델을 사용해야 합니다. 그런 다음 임베딩을 생성할 수 있습니다.
+를 클릭하여 새 SQL 쿼리를 만듭니다.
쿼리 편집기에 다음 쿼리를 붙여넣고 실행합니다.
이렇게 하면 text_embedding 모델이 생성되어 탐색기에서 gemini_demo 데이터 세트 아래에 표시됩니다.
결과를 저장할 테이블을 만들어야 합니다.
+를 클릭하여 새 SQL 쿼리를 만듭니다.
쿼리 편집기에 다음 쿼리를 붙여넣고 실행합니다.
이렇게 하면 gemini_demo.movie_posters_results_formatted 테이블에서 가져온 텍스트 콘텐츠(URI, 영화 제목, 개봉 연도)의 임베딩 생성 결과가 포함된 movie_poster_results_embeddings 테이블이 생성됩니다.
아래의 새 쿼리를 사용하여 쿼리 결과를 확인할 수 있습니다.
모델에서 생성한 각 영화의 임베딩(숫자로 표현된 벡터)을 확인할 수 있습니다.
데이터 세트에서 1935년 이전에 개봉한 영화만 포함된 새 뷰를 만들어 보겠습니다.
다음 SQL 문을 사용하여 새 쿼리를 만들고 실행합니다.
이렇게 하면 bigquery-public-data.imdb.reviews 테이블에서 1935년 이전에 개봉한 데이터 세트의 모든 영화에 대한 고유한 영화 ID, 제목, 개봉 연도 목록이 포함된 새 뷰가 생성됩니다.
다음 SQL 문을 사용하여 새 쿼리를 만들고 실행합니다.
쿼리 결과로 gemini_demo.imdb_movies 테이블에 있는 텍스트 콘텐츠의 임베딩이 포함된 테이블이 반환됩니다.
다음 SQL 문을 사용하여 새 쿼리를 만들고 실행합니다.
이 쿼리는 VECTOR_SEARCH 함수를 사용하여 gemini_demo.movie_posters_results_embeddings 테이블의 각 행에 해당하는 최근접 이웃을 gemini_demo.imdb_movies_embeddings 테이블에서 찾습니다. 최근접 이웃은 두 임베딩이 얼마나 유사한지 결정하는 코사인 거리 측정항목을 사용하여 찾습니다.
이 쿼리를 사용하면 영화 포스터에서 Gemini Pro Vision으로 식별한 각 영화와 가장 유사한 영화를 IMDB 데이터 세트에서 찾을 수 있습니다. 예를 들어 이 쿼리를 사용하여 영화 포스터 중 하나에서 Gemini Pro Vision으로 식별한 영화인 'Au Secours!'와 가장 매칭되는 영화를 IMDB 공개 데이터 세트에서 찾을 수 있습니다. 이 경우 IMDB 공개 데이터 세트에서 해당 영화는 영어 제목인 'Help!'로 표시됩니다.
새 쿼리를 만들고 실행하여 IMDB 공개 데이터 세트에 제공된 영화 평점의 추가 정보를 조인합니다.
이 쿼리는 이전 쿼리와 유사합니다. 이 경우에도 벡터 임베딩이라는 특수한 수치적 표현을 사용하여 특정 영화 포스터와 유사한 영화를 찾습니다. 하지만 이 쿼리는 IMDB 공개 데이터 세트의 별도 테이블에서 각 최근접 이웃 영화의 평균 평점과 투표수도 조인합니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
BigQuery에서 포스터 이미지의 객체 테이블을 만들고, 원격 Gemini 모델을 만들고, 모델을 사용해 Gemini에 이미지 분석과 영화 요약을 요청하는 프롬프트를 입력하고, 영화 제목의 텍스트 임베딩을 생성하고, 임베딩을 사용하여 영화 포스터 이미지를 IMDB 데이터 세트의 관련 영화 제목과 매칭했습니다.
Google Cloud 기술을 최대한 활용하는 데 도움이 됩니다. Google 강의에는 빠른 습득과 지속적인 학습을 지원하는 기술적인 지식과 권장사항이 포함되어 있습니다. 기초에서 고급까지 수준별 학습을 제공하며 바쁜 일정에 알맞은 주문형, 실시간, 가상 옵션이 포함되어 있습니다. 인증은 Google Cloud 기술에 대한 역량과 전문성을 검증하고 입증하는 데 도움이 됩니다.
설명서 최종 업데이트: 2024년 10월 4일
실습 최종 테스트: 2024년 5월 23일
Copyright 2025 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.
현재 이 콘텐츠를 이용할 수 없습니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
감사합니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
One lab at a time
Confirm to end all existing labs and start this one