티스토리 뷰

 

사내 교육으로 AWS Bedrock 강의를 듣다가 발견한 상당히 유용한 서비스

 

AWS PartyRock

 
 
AWS 현직자 분이 알려주신 서비스로, AWS 내에서는 활발히 쓰이고 있는 듯하다.
 
 
 

PartyRock 출시 – Amazon Bedrock 기반 AI 앱 놀이터 | Amazon Web Services

즐거운 시간을 보내고 멋진 것을 만들면서 생성형 AI에 대해 자세히 알아보고 싶다면 PartyRock.aws를 확인해 보세요. 코드를 작성하거나 AWS 계정을 생성하지 않고도 실험하고, 프롬프트 엔지니어링

aws.amazon.com

 
2023.11월에 출시된 것으로 보아
아직은 무료지만 조만간 유료로 바뀌어도 이상할 거 없는 서비스다.
 

로그인 페이지

 
턴테이블로 디자인된 로그인 페이지
상당히 귀엽다..
 
로그인을 해야 이용할 수 있는 프로그램이므로 회원가입을 해준다.
 
필자도 partyRock을 사용해본지 하루(4시간..?) 밖에 안돼서 속속들이 알지는 못하지만
4시간 만에 어느정도 파악할 수 있을 정도로 사용법이 직관적이고 간단하다.
 

로그인 후 메인 화면

 
 
 

좌측 메뉴

좌측 메뉴를 간략히 설명하자면
 

Apps

 
메인 화면으로, 내가 생성한 App들을 확인할 수 있다.

 

Snapshots

 
input 과 output을 스냅샷 따서 keep 해놓은 내역을 볼 수 있는 메뉴
 

 

Discover

 
Discover 메뉴에서는 기존에 만들어진 다양한 Gen AI 서비스들을 탐색할 수 있다.
 

 

Generate app

 
빛나는 초록색의 Generate app 버튼을 누르면
빌드할 app의 명칭을 입력한 후, 생성화면으로 이동한다.
 
 
 

위젯

각각의 박스를 위젯이라고 하고,
회색 박스는 Input, 연두색 박스는 Output 을 나타낸다.
 
위젯은 아래 표시한 'Add widget' 버튼을 클릭하거나 빈공간의 'Create Widget' 을 클릭하여 생성할 수 있다.

 
 
 

Input 위젯 종류

 
1. User Input

 
직접 텍스트를 입력할 수 있는 User Input 
 
2. Static Text

 
고정적인 static 텍스트를 입력할 때 사용된다.
 
 
3. Document

 
파일을 업로드할 수 있는 Document 위젯
업로드할 수 있는 document 확장자가 명시되어 있다.
 
 

Output 위젯 종류

1. Text Generation

 
2. Image Generation

 
3. Chatbot

 


 

 
 
Question 부분의 Output 위젯을 살펴보자.
 

 
 
 
 
Output 위젯에는 다음과 같은 구성요소가 있다.
1. Model
2. Prompt
3. Temperature
4. Top P
 
 
1. Model
데이터를 생성할 모델을 선택한다.
AWS Bedrock에서 서비스하는 모델들이 탑재되어 있고, 여기서는 Claude 3 Sonnet을 이용하고 있다.
모델 종류는 하단에 기술하였다.
 
 
 
2. Prompt
출력할 내용을 프롬프트에 서술한다.
앞서 Input 위젯에 입력한 데이터를 가지고 올 때는 @Input위젯명 으로 입력한다.
예시에서는 AWS Certification 위젯에 입력된 'AWS Solution Architect Associate' 와 Topic 위젯에 입력된 'General' 데이터를 가져와 프롬프트에 입력될 것이다.
 

 
 
Temperature와 Top P 는 모델을 훈련시킬 때 필요한 파라미터 값이다.
 
3. Temperature (0 ~ 1)
Temperature는 생성된 후보군들의 다양성을 얼마나 할 것인지를 정하는 파라미터이다.
값이 작을수록 후보군들 중 가장 확률이 높은 것을 출력한다. 일관성 있는 데이터를 출력하지만 다소 예상가능한 결과를 나타낼 수 있다.
값이 클수록 다양한 후보군들이 출력될 수 있어 다양성이 크다.
좀더 상세히 설명하자면 softmax라는 출력함수를 사용하는데 거기에 사용되는 파라미터이다.
 
4. Top P (0 ~ 1)
top p 값이 0.6일 경우 후보군들의 확률 누적합이 0.6이 될 때 거기까지만 후보군으로 선택된다.
예를 들어
 

 Students opened their _______ in the class. 

 
에서 ______에 들어갈 말의 후보군으로
 

books - 0.4
mouth - 0.2
hands - 0.01
 

이라고 치자.
 
그러면 누적합이 0.6이 되는 books, mouse 가 후보군으로 선택된다.
 
Top P 와 유사한 파라미터로 Top K 파라미터가 있는데
이는 후보군을 정할 개수를 지정하는 것이다.
 
만약 위 예시에서 Top K = 3 이라면 확률이 0.01인 hands 까지 후보군에 포함된다.
이는 출력물의 퀄리티를 저해하므로 최근에는 Top K는 거의 사용되지 않는 추세이다.
 
 

Text Generation 모델 종류

 
Text Generation Output 위젯에서 선택할 수 있는 Model로는
Claude 3 Haiku/Sonnet, Titan Text Express/Lite, Llama 3.1 등
현재는 총 9가지 중 이용 가능하다.

 

Image Generation 모델 종류

 
Image Generation 모델로는 
Stable Diffusion XL, Titan Image Generator G1 
2가지 이용 가능하다.

 


 
다시 Discover 메뉴로 돌아와서..
기존 서비스를 Remix 해보겠다.
 

 
AWS Certification Exam Practice Tool 이라는 서비스에 들어가보겠다.
 

 
이 App을 살펴보니

Question을 생성하면 AWS Solutions Architect Associate 자격증의 General Topic 문제가 생성되고,
하단에 직접 Answer을 작성하면 작성한 답이 맞는지 틀린지 알려주는 App이다.

 

 
 

앗.. 답은 A였다.
 
공부할 때 아주 유용할 것 같다!
 

Remix

 

우측 상단 메뉴

 
 
우측 상단 메뉴 중 Remix를 클릭하면

해당 서비스를 클론해와서 내 맘대로 편집할 수 있다.
 
나는 자격증 시험을 한국어로 딸 것이기 때문에, Question과 Answer을 한국어로 제공하도록 수정해보겠다.
 

Remix로 copy한 서비스

 

 

우측 상단의 edit 버튼을 클릭하여 수정할 수 있다.

 

 
 
기존에 있던 AWS Certification Exam Practice Tool을 Korean 버전으로 수정했다.
 

 
Output 위젯을 하나 더 생성하여 프롬프트에 @Question 위젯을 번역해달라고 작성했다. 
 

 
그리하여 생성된 한국어 버전 AWS 자격증 준비 Tool !
 
이렇게 생성한 서비스를 사람들과 함께 사용하고 싶으면
 

공유 범위 설정

 
우측 상단의 'Private' 버튼을 클릭하여
'Public'으로 공유할지, 링크가 있는 사용자만 이용할 수 있는 'Shared'로 공유할지 선택할 수 있다.
Public, Shared를 선택하면 공유할 수 있는 링크를 복사할 수 있다.
 

 
이렇게 생성된 문서는 워드로도 저장할 수 있다.
 
* 하단에 PartyRock 링크 있음!
 


활용 예시


각각의 Input, Output 위젯을 활용도에 맞게 적절히 활용하여 생산적인 생성형 AI 서비스를 만들수 있다.
 

예시 1.

텍스트를 입력하여 이미지 생성하기

 
'Create Image' Output 위젯을 다음과 같이 간단히 설정하여
Input 위젯에 작성한 텍스트를 기반으로 이미지를 생성하도록 만들 수 있다.

 

 
 
 

예시 2.

긴 article을 입력하여 내용 요약 & 챗봇으로 질의응답

 
예시를 위해

Amazon Bedrock or Amazon SageMaker? - Amazon Bedrock or Amazon SageMaker?

Thanks for letting us know this page needs work. We're sorry we let you down. If you've got a moment, please tell us how we can make the documentation better.

docs.aws.amazon.com

Amazon Bedrock과 Amazon SageMaker를 비교하는 AWS 공식 문서를 복사하여 전문을 Input으로 입력해주었다.

Input

 

 
Output으로 Article의 Key Points와 Summary가 출력되었다.
 

Output 설정

Output 프롬프트는 위와 같이 입력하였다.
 
 
그리고 ChatBot 위젯을 활용하면 입력한 데이터를 바탕으로 챗봇으로 질의응답이 가능하다.

 
이렇게 상세히 답변해준다.
 
그런데 답변이 너무 길다고 느낄 수 있잖은가?
실제로 챗봇의 답변이 너무 길면 과도한 출력으로 비용이 더 나올 수 있으므로 적절한 길이를 설정해주는 것 또한 전략이다.
 

 
그래서 ChatBot Length 라는 Static Text Input 위젯을 활용하여
100 단어 이하로 답변을 하도록 챗봇을 새로 만들었다.
 

 

 
이전보다 확연히 출력 길이가 짧아진 것을 볼 수 있다.
글자수를 세어보니 100자는 넘긴 하지만...
그래도 줄어든 것에 의의를 두겠다 ㅎ

 

예시 3.

파일 문서를 업로드하여 파일 요약하기

 

 
테스트용으로 국가통계포털의 출산율 데이터 ( https://kosis.kr/statHtml/statHtml.do?orgId=101&tblId=DT_1B81A21 )를 넣어보았다.

 
여기서는 프롬프트를 간략히 적었지만 프롬프트를 구체적으로 적으면 구체적으로 얻고 싶은 정보를 얻을 수 있겠다.
 
 
 

PartyRock 실습 링크

 
https://partyrock.aws/u/woojung0618/SvRFUrzYo/PartyRock-Practice

https://partyrock.aws/u/woojung0618/SvRFUrzYo/PartyRock-Practice

partyrock.aws

 
https://partyrock.aws/u/woojung0618/ZpeLC1sVC/AWS-Certification-Exam-Practice-Tool_KR

https://partyrock.aws/u/woojung0618/ZpeLC1sVC/AWS-Certification-Exam-Practice-Tool_KR

partyrock.aws

 

'Study > AWS' 카테고리의 다른 글

AWS S3로 정적 웹 페이지 배포하기  (0) 2023.04.09