제퍼넷 로고

Amazon SageMaker JumpStart를 사용하여 LLM과 상호 작용하는 웹 UI 생성 | 아마존 웹 서비스

시간

ChatGPT의 출시와 생성 AI의 인기 상승은 이 기술을 사용하여 AWS에서 보다 대화적인 엔터프라이즈 챗봇과 같은 새로운 제품과 서비스를 만드는 방법에 대해 궁금해하는 고객의 상상력을 사로잡았습니다. 이 게시물에서는 Chat Studio라고 하는 웹 UI를 생성하여 대화를 시작하고 다음에서 사용 가능한 기본 모델과 상호 작용하는 방법을 보여줍니다. Amazon SageMaker 점프스타트 Llama 2, Stable Diffusion 및 기타 모델 등 아마존 세이지 메이커. 이 솔루션을 배포한 후 사용자는 신속하게 시작하고 웹 인터페이스를 통해 대화형 AI의 여러 기반 모델 기능을 경험할 수 있습니다.

Chat Studio는 또한 사용자가 미디어 표시를 요청하는 경우 Stable Diffusion 모델 엔드포인트를 선택적으로 호출하여 관련 이미지 및 비디오의 콜라주를 반환할 수도 있습니다. 이 기능은 응답에 대한 자산으로 미디어를 사용하여 사용자 경험을 향상시키는 데 도움이 될 수 있습니다. 이는 목표 달성을 위해 추가 통합을 통해 Chat Studio를 강화할 수 있는 방법의 한 예일 뿐입니다.

다음 스크린샷은 사용자 쿼리 및 응답의 예를 보여줍니다.

Chat Studio 쿼리 인터페이스

Chat Studio 응답 인터페이스

큰 언어 모델

ChatGPT와 같은 생성적 AI 챗봇은 레이블이 지정되지 않은 대량의 텍스트에 대해 훈련할 수 있는 딥 러닝 신경망을 기반으로 하는 LLM(대형 언어 모델)을 기반으로 합니다. LLM을 사용하면 실제 인간과의 상호 작용과 매우 유사한 더 나은 대화 경험을 제공하여 연결감을 조성하고 사용자 만족도를 향상시킬 수 있습니다.

SageMaker 기반 모델

2021년에 스탠포드 인간 중심 인공 지능 연구소는 일부 LLM을 다음과 같이 명명했습니다. 기초 모델. 기초 모델은 크고 광범위한 일반 데이터 세트에 대해 사전 학습되었으며 디지털 아트 생성부터 다국어 텍스트 분류에 이르기까지 광범위한 사용 사례에서 추가 최적화를 위한 기반 역할을 합니다. 이러한 기초 모델은 새 모델을 처음부터 훈련하는 데 시간이 걸리고 비용이 많이 들 수 있기 때문에 고객에게 인기가 있습니다. SageMaker JumpStart는 타사 오픈 소스 및 독점 공급자가 유지 관리하는 수백 가지 기본 모델에 대한 액세스를 제공합니다.

솔루션 개요

이 게시물에서는 SageMaker를 통해 사전 교육된 LLM 및 사용자 지정 LLM을 배포하고 배포된 모델과 인터페이스할 웹 UI를 생성하기 위한 로우 코드 워크플로를 안내합니다. 우리는 다음 단계를 다룹니다.

  1. SageMaker 기반 모델을 배포합니다.
  2. 배포 AWS 람다AWS 자격 증명 및 액세스 관리 (IAM) 권한을 사용하여 AWS 클라우드 포메이션.
  3. 사용자 인터페이스를 설정하고 실행합니다.
  4. 선택적으로 다른 SageMaker 기반 모델을 추가합니다. 이 단계는 Chat Studio의 기능을 확장하여 추가 기반 모델과 상호 작용합니다.
  5. 선택적으로 다음을 사용하여 애플리케이션을 배포합니다. AWS 증폭. 이 단계에서는 Chat Studio를 웹에 배포합니다.

솔루션 아키텍처의 개요는 다음 다이어그램을 참조하세요.

채팅 스튜디오 솔루션 아키텍처

사전 조건

솔루션을 살펴보려면 다음 전제 조건이 있어야 합니다.

  • An AWS 계정 충분한 IAM 사용자 권한이 있어야 합니다.
  • npm 로컬 환경에 설치됩니다. 설치 방법에 대한 지침은 npm, 인용하다 Node.js 및 npm 다운로드 및 설치.
  • 해당 SageMaker 엔드포인트에 대한 서비스 할당량 1입니다. Llama 2 13b Chat의 경우 ml.g5.48xlarge 인스턴스를 사용하고 Stable Diffusion 2.1의 경우 ml.p3.2xlarge 인스턴스를 사용합니다.

서비스 할당량 증가를 요청하려면 AWS 서비스 할당량 콘솔, 로 이동 AWS 서비스, 세이지 메이커, 서비스 할당량 요청은 엔드포인트 사용의 경우 ml.g1xlarge 및 엔드포인트 사용의 경우 ml.p5.48xlarge에 대해 값 3.2로 증가합니다.

서비스 할당량 요청은 인스턴스 유형 가용성에 따라 승인되는 데 몇 시간이 걸릴 수 있습니다.

SageMaker 기반 모델 배포

SageMaker는 개발자가 ML 모델을 쉽고 빠르게 구축하고 교육할 수 있는 완전 관리형 기계 학습(ML) 서비스입니다. 다음을 사용하여 Llama 2 13b Chat 및 Stable Diffusion 2.1 기반 모델을 배포하려면 다음 단계를 완료하세요. 아마존 세이지 메이커 스튜디오:

  1. SageMaker 도메인을 생성합니다. 지침은 다음을 참조하세요. 빠른 설정을 사용하여 Amazon SageMaker 도메인에 온보딩.

도메인은 모든 스토리지를 설정하고 SageMaker에 액세스할 사용자를 추가할 수 있도록 해줍니다.

  1. SageMaker 콘솔에서 Studio 탐색 창에서 다음을 선택합니다. 오픈 스튜디오.
  2. Studio를 실행하면 세이지메이커 점프스타트 탐색 창에서 모델, 노트북, 솔루션.
    SageMaker JumpStart 콘솔
  3. 검색창에서 Llama 2 13b Chat을 검색하세요.
  4. $XNUMX Million 미만 배포 구성에 대한 SageMaker 호스팅 인스턴스선택한다. ml.g5.48xlarge ~을 위해 엔드 포인트 이름, 입력 meta-textgeneration-llama-2-13b-f.
  5. 왼쪽 메뉴에서 배포합니다.

SageMaker JumpStart 배포 구성

배포가 성공하면 다음을 볼 수 있습니다. In Service 상태.

라마 모델 현황

  1. 모델, 노트북, 솔루션 페이지에서 Stable Diffusion 2.1을 검색하세요.
  2. $XNUMX Million 미만 배포 구성에 대한 SageMaker 호스팅 인스턴스선택한다. ml.p3.2xlarge ~을 위해 엔드 포인트 이름, 입력 jumpstart-dft-stable-diffusion-v2-1-base.
  3. 왼쪽 메뉴에서 배포.

SageMaker JumpStart 배포 구성

배포가 성공하면 다음을 볼 수 있습니다. In Service 상태.

안정확산모델 현황

AWS CloudFormation을 사용하여 Lambda 및 IAM 권한 배포

이 섹션에서는 사용자 요청을 처리하고 배포한 SageMaker 엔드포인트를 호출하고 필요한 모든 IAM 권한을 배포하는 Lambda 함수를 배포하는 CloudFormation 스택을 시작하는 방법을 설명합니다. 다음 단계를 완료하세요.

  1. 로 이동 GitHub 저장소 CloudFormation 템플릿(lambda.cfn.yaml)을 로컬 컴퓨터에 연결합니다.
  2. CloudFormation 콘솔에서 다음을 선택합니다. 스택 생성 드롭 다운 메뉴에서 새로운 리소스 사용(표준).
  3. 템플릿 지정 페이지, 선택 템플릿 파일 업로드파일 선택.
  4. 선택 lambda.cfn.yaml 다운로드한 파일을 선택하고 다음 보기.
  5. 스택 세부 사항 지정 페이지에서 사전 요구 사항에서 얻은 스택 이름과 API 키를 입력한 다음 선택합니다. 다음 보기.
  6. 스택 옵션 구성 페이지에서 선택 다음 보기.
  7. 변경사항을 검토하고 승인한 후 선택하세요. 문의하기.

웹 UI 설정

이 섹션에서는 웹 UI(다음을 사용하여 생성됨)를 실행하는 단계를 설명합니다. 클라우드스케이프 디자인 시스템) 로컬 컴퓨터에서:

  1. IAM 콘솔에서 사용자로 이동합니다. functionUrl.
  2. 보안 자격 증명 탭에서 액세스 키 생성.
  3. 주요 모범 사례 및 대안에 액세스 페이지, 선택 명령 행 인터페이스 (CLI) 선택하고 다음 보기.
  4. 설명 태그 설정 페이지에서 선택 액세스 키 생성.
  5. 액세스 키와 보안 액세스 키를 복사합니다.
  6. 왼쪽 메뉴에서 선택한다.
  7. 로 이동 GitHub 저장소 다운로드 react-llm-chat-studio 암호.
  8. 원하는 IDE에서 폴더를 실행하고 터미널을 엽니다.
  9. 로 이동 src/configs/aws.json 획득한 액세스 키와 비밀 액세스 키를 입력하세요.
  10. 터미널에 다음 명령을 입력합니다.
    npm install
    
    npm start

  11. 엽니다 http://localhost:3000 브라우저에서 모델과 상호작용을 시작해 보세요!

Chat Studio를 사용하려면 드롭다운 메뉴에서 기본 모델을 선택하고 텍스트 상자에 쿼리를 입력하세요. 응답과 함께 AI 생성 이미지를 얻으려면 쿼리 끝에 "이미지 포함"이라는 문구를 추가하세요.

다른 SageMaker 기반 모델 추가

추가 SageMaker 기반 모델을 포함하도록 이 솔루션의 기능을 더욱 확장할 수 있습니다. 모든 모델은 SageMaker 엔드포인트를 호출할 때 서로 다른 입력 및 출력 형식을 예상하므로 모델과 인터페이스하려면 callSageMakerEndpoints Lambda 함수에 일부 변환 코드를 작성해야 합니다.

이 섹션에서는 선택한 추가 모델을 구현하는 데 필요한 일반적인 단계와 코드 변경 사항을 설명합니다. 6~8단계에는 Python 언어에 대한 기본 지식이 필요합니다.

  1. SageMaker Studio에서 원하는 SageMaker 기반 모델을 배포합니다.
  2. 왼쪽 메뉴에서 세이지메이커 점프스타트JumpStart 자산 실행.
  3. 새로 배포된 모델 엔드포인트를 선택하고 노트북 열기.
  4. 노트북 콘솔에서 페이로드 매개변수를 찾습니다.

이는 SageMaker 엔드포인트를 호출할 때 새 모델이 예상하는 필드입니다. 다음 스크린샷은 예를 보여줍니다.

SageMaker 엔드포인트 구성

  1. Lambda 콘솔에서 다음으로 이동합니다. callSageMakerEndpoints.
  2. 새 모델에 대한 사용자 정의 입력 핸들러를 추가하십시오.

다음 스크린샷에서는 Falcon 40B Instruct BF16 및 GPT NeoXT Chat Base 20B FP16에 대한 입력을 변환했습니다. 표시된 대로 사용자 지정 매개변수 논리를 삽입하여 복사한 페이로드 매개변수를 참조하여 입력 변환 논리를 추가할 수 있습니다.

람다 코드 조각

  1. 노트북 콘솔로 돌아가서 다음을 찾습니다. query_endpoint.

이 함수는 모델의 출력을 변환하여 최종 텍스트 응답을 추출하는 방법에 대한 아이디어를 제공합니다.

SageMaker 엔드포인트 구성

  1. 의 코드를 참조하여 query_endpoint, 새 모델에 대한 사용자 정의 출력 핸들러를 추가하십시오.
    람다 코드
  2. 왼쪽 메뉴에서 배포합니다.
  3. IDE를 열고 react-llm-chat-studio 코드를 작성하고 다음으로 이동합니다. src/configs/models.json.
  4. 모델 이름과 모델 엔드포인트를 추가하고 아래에 4단계의 페이로드 매개변수를 입력하세요. payload 다음 형식을 사용합니다.
    "add_model_name": {
    "endpoint_name": "add_model_enpoint",
    "payload": {
    "add_payload_paramters_here"
    }
    },

  5. 새 모델과 상호 작용하려면 브라우저를 새로 고치세요!

Amplify를 사용하여 애플리케이션 배포

Amplify는 애플리케이션을 빠르고 효율적으로 배포할 수 있는 완벽한 솔루션입니다. 이 섹션에서는 Chat Studio를 배포하는 단계를 설명합니다. 아마존 CloudFront를 다른 사용자와 애플리케이션을 공유하려는 경우 Amplify를 사용하여 배포하세요.

  1. 로 이동 react-llm-chat-studio 이전에 만든 코드 폴더입니다.
  2. 터미널에 다음 명령을 입력하고 설정 지침을 따르십시오.
    npm install -g @aws-amplify/cli
    
    amplify configure

  3. 다음 명령을 사용하여 새 Amplify 프로젝트를 초기화합니다. 프로젝트 이름을 제공하고 기본 구성을 수락한 후 다음을 선택하세요. AWS 액세스 키 인증 방법을 선택하라는 메시지가 표시되면
    amplify init

  4. 다음 명령을 사용하여 Amplify 프로젝트를 호스팅합니다. 선택하다 Amazon CloudFront 및 S3 플러그인 모드를 선택하라는 메시지가 표시되면
    amplify hosting add

  5. 마지막으로 다음 명령을 사용하여 프로젝트를 빌드하고 배포합니다.
    amplify publish

  6. 배포가 성공하면 브라우저에 제공된 URL을 열고 모델과 상호 작용을 시작하세요!

정리

향후 요금이 발생하지 않도록 하려면 다음 단계를 완료하십시오.

  1. CloudFormation 스택을 삭제합니다. 지침은 다음을 참조하십시오. AWS CloudFormation 콘솔에서 스택 삭제.
  2. SageMaker JumpStart 엔드포인트를 삭제합니다. 지침은 다음을 참조하세요. 끝점 및 리소스 삭제.
  3. SageMaker 도메인을 삭제합니다. 지침은 다음을 참조하세요. Amazon SageMaker 도메인 삭제.

결론

이 게시물에서는 AWS에 배포된 LLM과 인터페이스하기 위한 웹 UI를 생성하는 방법을 설명했습니다.

이 솔루션을 사용하면 LLM과 상호 작용하고 사용자 친화적인 방식으로 대화를 진행하여 LLM 질문을 테스트하거나 질문하고 필요한 경우 이미지와 비디오 콜라주를 얻을 수 있습니다.

추가 기반 모델을 통합하는 등 다양한 방법으로 이 솔루션을 확장할 수 있습니다. Amazon Kendra와 통합 엔터프라이즈 콘텐츠 등을 이해하기 위한 ML 기반 지능형 검색을 활성화합니다!

우리는 당신을 실험에 초대합니다 AWS에서 사용할 수 있는 사전 훈련된 다양한 LLM, 또는 SageMaker에서 자신만의 LLM을 구축하거나 생성할 수도 있습니다. 여러분의 질문과 결과를 댓글로 알려주시고 즐거운 시간을 보내세요!


저자 소개

자렛 여샨 웨이 ASEAN 전역의 공공 부문을 담당하는 AWS Professional Services의 Associate Cloud Architect이며 고객이 클라우드로 현대화하고 마이그레이션할 수 있도록 지원하는 옹호자입니다. 그는 8개의 AWS 자격증을 취득했으며, 제XNUMX회 국제 AI 컨퍼런스에서 그라디언트 부스팅 머신 앙상블에 관한 연구 논문을 발표하기도 했습니다. 여가 시간에는 Jarrett은 AWS의 생성 AI 분야에 집중하고 기여합니다.

태미 임 리신 AWS의 Associate Cloud Architect입니다. 그녀는 기술을 사용하여 고객이 클라우드 도입 여정에서 원하는 결과를 얻을 수 있도록 돕고 AI/ML에 열정을 갖고 있습니다. 직장 밖에서 그녀는 여행, 하이킹, 가족 및 친구들과 시간을 보내는 것을 좋아합니다.

spot_img

최신 인텔리전스

spot_img