arrow_back

PaLM을 사용한 프롬프트 설계

로그인 가입
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

PaLM을 사용한 프롬프트 설계

Lab 1시간 30분 universal_currency_alt 크레딧 1개 show_chart 입문
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP1165

Google Cloud 사용자 주도형 실습

개요

프롬프트 설계는 PaLM과 같은 대규모 언어 모델(LLM)에서 원하는 출력을 생성하는 데 효과적인 프롬프트를 만드는 프로세스입니다. 프롬프트를 사용하여 텍스트를 생성하고, 언어를 번역하며, 다양한 종류의 창의적인 콘텐츠를 작성하고, 질문에 대한 유용한 답변을 제공할 수 있습니다.

사용자가 프롬프트로부터 좋은 결과를 얻기 위해서는 구체적으로 입력하고, 얻고 싶은 출력과 관련 있는 키워드를 사용하며, 원하는 출력이 무엇인지 잘 이해할 수 있도록 PaLM에 원하는 결과의 예시를 제공해야 합니다.

이 실습에서는 부동산 회사의 마케팅 분석가 역할을 수행해 보겠습니다. 고객이 구체적인 요구사항에 부합하는 주택을 찾는 데 도움이 되도록 회사 웹사이트에 있는 장문의 주택 설명에서 요약을 추출하는 프롬프트를 만들어야 합니다.

학습할 내용

이 실습에서는 AI/ML 플랫폼인 Vertex AI를 살펴보고 다음 작업의 수행 방법을 알아봅니다.

  • 고품질 프롬프트 설계하기
  • PaLM과 상호작용하여 원하는 응답 얻기
  • 응답에서 할루시네이션 파악하기

사용 사례

구매자가 찾고 있는 주택의 특징을 알려주면 대규모 언어 모델(LLM)을 사용해 구매자에게 여러 주택에 대한 간단한 텍스트 설명을 반환하는 기능을 구현하고자 합니다.

이를 위해 부동산 사이트에 있는 장문의 주택 설명을 간단한 요약 텍스트로 정리해 주는 프롬프트를 만드는 업무를 맡게 되었습니다. 주택 설명은 Google Cloud Storage 버킷에 파일로 저장됩니다.

먼저 시간 절감을 위해 Model Garden을 사용하여 사전 빌드된 모델을 탐색하고 최대한 빠르게 솔루션을 구현합니다.

이 실습에 사용되는 Vertex AI 기능

생성형 AI 모델

기반 모델이라고도 부르는 Vertex AI의 생성형 AI 모델은 생성하도록 설계된 콘텐츠 유형에 따라 분류됩니다. 이러한 콘텐츠에는 텍스트 및 채팅, 이미지, 코드, 텍스트 임베딩이 포함됩니다. 각 모델은 Google Cloud 프로젝트에 따라 달라지는 게시자 엔드포인트를 통해 노출되므로, 특정 사용 사례에 맞게 조정해야 하는 경우가 아니라면 기반 모델을 배포할 필요가 없습니다.

Pathways 및 Pathways Language Model(PaLM)

Pathways는 높은 효율성을 유지하면서 모든 분야와 태스크에 일반화할 수 있는 단일 모델입니다. Pathways Language Model(PaLM)은 Pathways 시스템으로 학습된 고밀도 디코더 전용 Transformer 모델로, 이를 통해 Google은 다양한 TPU v4 포드에서 단일 모델에 효율적으로 학습을 제공할 수 있습니다. PaLM은 수많은 언어 이해 및 생성 태스크를 토대로 평가되고 다국어 태스크와 소스 코드 생성에서 특히 뛰어난 기능을 발휘합니다.

PaLM2는 PaLM API를 구동하는 기본 모델입니다. PaLM2는 향상된 다국어, 추론, 코딩 기능이 포함된 최신 언어 모델입니다. PaLM2에 대한 자세한 내용은 PaLM2 소개를 참조하세요. 이 노트북에서는 여러 종류의 요약을 만들도록 프롬프트를 설계하는 방법을 보여줍니다.

Vertex AI Studio

Vertex AI Studio는 생성형 AI 모델을 빠르게 프로토타입 제작하고 테스트하기 위한 Google Cloud 콘솔 도구입니다. 샘플 프롬프트를 테스트하고 고유 프롬프트를 설계하고 기반 모델을 맞춤설정하여 애플리케이션의 요구사항을 충족하는 태스크를 처리할 수 있습니다. 수행할 수 있는 작업은 다음과 같습니다.

  • 프롬프트 샘플을 사용하여 모델 테스트
  • 나만의 프롬프트 설계 및 저장
  • 기반 모델 조정
  • 음성 및 텍스트 간 변환

공식 문서에서 AI Studio에 대해 자세히 알아보세요.

Vertex AI Workbench

Vertex AI Workbench는 데이터 과학자가 실험, 배포, 모델 관리와 모니터링과 같은 모든 ML 작업을 단일 환경에서 완료할 수 있는 확장 가능한 완전 관리형 엔터프라이즈급 컴퓨팅 인프라입니다. Jupyter 기반의 환경으로 Jupyter 노트북, 관리형 컴퓨팅 리소스 등의 다양한 도구와 서비스를 포함하고 있습니다.

설정 및 요건

실습 시작 버튼을 클릭하기 전에

다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머에는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지 표시됩니다.

실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 직접 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.

이 실습을 완료하려면 다음을 준비해야 합니다.

  • 표준 인터넷 브라우저 액세스 권한(Chrome 브라우저 권장)
참고: 이 실습을 실행하려면 시크릿 모드 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학생 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.
  • 실습을 완료하기에 충분한 시간---실습을 시작하고 나면 일시중지할 수 없습니다.
참고: 계정에 추가 요금이 발생하지 않도록 하려면 개인용 Google Cloud 계정이나 프로젝트가 이미 있어도 이 실습에서는 사용하지 마세요.

실습을 시작하고 Google Cloud 콘솔에 로그인하는 방법

  1. 실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 팝업이 열립니다. 왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 패널이 있습니다.

    • Google 콘솔 열기 버튼
    • 남은 시간
    • 이 실습에 사용해야 하는 임시 사용자 인증 정보
    • 필요한 경우 실습 진행을 위한 기타 정보
  2. Google 콘솔 열기를 클릭합니다. 실습에서 리소스가 가동된 후 로그인 페이지가 표시된 다른 탭이 열립니다.

    팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.

    참고: 계정 선택 대화상자가 표시되면 다른 계정 사용을 클릭합니다.
  3. 필요한 경우 실습 세부정보 패널에서 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다. 다음을 클릭합니다.

  4. 실습 세부정보 패널에서 비밀번호를 복사하여 시작 대화상자에 붙여넣습니다. 다음을 클릭합니다.

    중요: 왼쪽 패널에 표시된 사용자 인증 정보를 사용해야 합니다. Google Cloud Skills Boost 사용자 인증 정보를 사용하지 마세요. 참고: 이 실습에 자신의 Google Cloud 계정을 사용하면 추가 요금이 발생할 수 있습니다.
  5. 이후에 표시되는 페이지를 클릭하여 넘깁니다.

    • 이용약관에 동의합니다.
    • 임시 계정이므로 복구 옵션이나 2단계 인증을 추가하지 않습니다.
    • 무료 평가판을 신청하지 않습니다.

잠시 후 Cloud 콘솔이 이 탭에서 열립니다.

참고: 왼쪽 상단에 있는 탐색 메뉴를 클릭하면 Google Cloud 제품 및 서비스 목록이 있는 메뉴를 볼 수 있습니다. 탐색 메뉴 아이콘

API 사용 설정

  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 제품 더보기를 클릭하고 인공지능 섹션에서 Vertex AI를 선택합니다.
  2. Vertex AI 대시보드에서 모든 권장 API 사용 설정을 클릭합니다.

Vertex AI Workbench 열기

  1. Vertex AI Dashboard의 왼쪽 창에서 Workbench를 클릭합니다.

    참고: 왼쪽 창을 표시하려면 브라우저 창의 너비를 넓혀야 할 수 있습니다.
  2. 사용자 관리 노트북 탭을 클릭합니다.

작업 1. Vertex AI에서 생성형 모델로 질의 응답하기

잠재고객이 답변에 따라 부동산 항목을 필터링할 수 있는 UI를 빌드해 달라는 요청을 받았습니다.

  1. 사용자 관리 노트북 탭에서 내 노트북 이름 옆에 있는 JupyterLab 열기를 클릭합니다.

Vertex AI Workbench가 열리면 왼쪽 창에서 파일을 확인합니다.

  1. training-data-analyst/self-paced-labs/genai/housing_question_answering.ipynb로 이동한 다음 더블클릭하여 엽니다.

housing_question_answering.ipynb가 열리고 오른쪽 창에 표시됩니다.

  1. 수정 > 모든 출력 지우기를 클릭합니다.

  2. 노트북 안내를 꼼꼼히 읽은 후 각 셀에서 코드를 실행합니다.

현재 셀을 실행하려면 셀을 클릭하고 Shift+Enter를 누르세요. 다른 셀 명령어는 노트북 UI의 실행에 나열되어 있습니다.

Jupyter 노트북 환경을 열어 놓은 채 이 작업을 계속 읽습니다. 작업 3에서 노트북 환경으로 되돌아갑니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.

housing_question_answering.ipynb 파일에서 셀을 실행합니다.

매개변수 값

모델에 보낸 각 셀에는 모델의 응답 생성 방식을 제어하는 매개변수 값이 포함되어 있습니다. 이 매개변수 값에 따라 모델은 각기 다른 결과를 생성합니다. 이 작업에서는 최상의 작업 결과를 얻을 수 있도록 다양한 매개변수 값으로 실험해 봅니다.

모델별로 사용 가능한 매개변수가 다르지만 가장 일반적인 매개변수는 다음과 같습니다.

  • 강도
  • 토큰 한도
  • Top-K
  • Top-P

강도

강도는 Top-K와 Top-P 적용 시 토큰 선택의 무작위성 수준을 제어합니다. 강도가 낮을수록 자유롭거나 창의적인 답변과 거리가 먼 확정적인 응답이 필요한 프롬프트에 적합하고, 강도가 높을수록 보다 다양하거나 창의적인 결과로 이어질 수 있습니다. 강도가 0이면 확정적인 응답 즉, 확률이 가장 높은 응답이 항상 선택됩니다.

대부분의 사용 사례에서는 강도 0.2로 시작해 보세요. 모델이 너무 일반적이거나, 너무 짧은 응답을 반환하거나 모델이 대체 응답을 제공할 경우에는 강도를 높여보세요.

토큰 한도

토큰 한도는 프롬프트 1개의 최대 텍스트 출력량을 결정합니다. 토큰 1개는 약 4자(영문 기준)입니다. 기본값은 256입니다.

짧은 응답이 필요하면 낮은 값을 지정하고 긴 응답을 위해서는 높은 값을 지정합니다.

Top-K

Top-K는 모델이 출력용 토큰을 선택하는 방식을 변경합니다. Top-K가 1이면 다음으로 선택된 토큰이 모델의 어휘에 포함된 모든 토큰 중에서 가장 확률이 높다는 의미입니다('그리디 디코딩'이라고도 함). 반면에 Top-K가 3이면 강도를 사용하여 가장 확률이 높은 토큰 3개 중에서 다음 토큰이 선택된다는 의미입니다.

각 토큰 선택 단계에서 확률이 가장 높은 Top-K 토큰이 샘플링됩니다. 그런 다음 Top-P를 기준으로 토큰을 추가로 필터링하고 강도 샘플링을 사용하여 최종 토큰을 선택합니다.

임의성이 낮은 응답을 위해서는 낮은 값을 지정하고 임의성이 높은 응답을 위해서는 높은 값을 지정합니다. 기본 Top-K는 40입니다.

Top-P

Top-P는 모델이 출력용 토큰을 선택하는 방식을 변경합니다. 토큰은 확률의 합이 Top-P 값과 같아질 때까지 확률이 가장 높은 것부터(Top-K 참조) 가장 낮은 것까지 선택됩니다. 예를 들어 토큰 A, B, C의 확률이 0.3, 0.2, 0.1이고 Top-P 값이 0.5이면 모델이 강도를 사용해서 다음 토큰으로 A 또는 B를 선택하고 C는 후보에서 제외합니다.

임의성이 낮은 응답을 위해서는 낮은 값을 지정하고 임의성이 높은 응답을 위해서는 높은 값을 지정합니다. 기본 Top-P는 0.80입니다.

작업 2. 다양한 매개변수 값

다양한 매개변수 값을 사용해 실험할 수 있습니다.

  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에 있는 인공지능 섹션에서 Vertex AI를 선택합니다.

  2. 왼쪽 도구 창의 Generative AI Studio 섹션에서 언어를 클릭합니다. 그런 다음 시작하기 페이지에서 텍스트 프롬프트를 클릭합니다.

  3. 다음 프롬프트를 입력합니다.

해리포터의 시작 부분을 요약해 주세요.
  1. 매개변수 섹션 상자에서 강도를 0.9에서 1로 변경합니다. 제출저장을 클릭합니다. 프롬프트에 이름을 지정하고 저장합니다. 응답을 읽고 강도 값에 따라 응답이 어떻게 달라지는지 확인합니다.

  2. 매개변수 섹션에서 토큰 한도를 2048에서 1024로 변경합니다. 제출저장을 클릭합니다. 응답을 읽고 토큰 한도에 따라 응답이 어떻게 달라지는지 확인합니다.

  3. 매개변수 섹션에서 고급 전환 옵션 버튼을 클릭하여 Top-K 값을 1로 변경합니다. 제출저장을 클릭합니다. 응답을 읽고 Top-K 값에 따라 응답이 어떻게 달라지는지 확인합니다.

  4. 매개변수 섹션에서 Top-P 값을 1로 변경하고 제출저장을 클릭합니다. 응답을 읽고 Top-P 값에 따라 응답이 어떻게 달라지는지 확인합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.

매개변수를 변경하고 응답을 저장합니다.

작업 3. Vertex AI에서 생성형 모델을 사용한 텍스트 요약

가장 중요한 정보를 정리한 주택 요약을 추출하여 검색 프로세스를 효율화하세요.

  1. JupyterLab 노트북의 왼쪽 패널에서 housing_text_summarization.ipynb를 더블클릭하여 엽니다.

  2. 수정 > 모든 출력 지우기를 클릭합니다.

  3. 노트북 안내를 꼼꼼히 읽은 후 각 셀에서 코드를 실행합니다.

housing_text_summarization.ipynb 파일에서 셀을 실행합니다.

수고하셨습니다

PaLM API와 AI Studio를 사용하여 다양한 생성형 AI 사용 사례에 맞는 프롬프트를 만들고 실험해 보았습니다. 또한 AI Studio UI를 살펴보고 여러 가지 매개변수를 사용해 텍스트 및 코드 프롬프트를 만들었습니다.

다음 단계/더 학습하기

  • 프롬프트 설계에 대한 자세한 내용은 공식 문서를 참조하세요.

  • 이 실습에 사용된 노트북을 확인하세요.

Google Cloud 교육 및 자격증

Google Cloud 기술을 최대한 활용하는 데 도움이 됩니다. Google 강의에는 빠른 습득과 지속적인 학습을 지원하는 기술적인 지식과 권장사항이 포함되어 있습니다. 기초에서 고급까지 수준별 학습을 제공하며 바쁜 일정에 알맞은 주문형, 실시간, 가상 옵션이 포함되어 있습니다. 인증은 Google Cloud 기술에 대한 역량과 전문성을 검증하고 입증하는 데 도움이 됩니다.

설명서 최종 업데이트: 2023년 12월 28일

실습 최종 테스트: 2023년 12월 28일

Copyright 2024 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.