본문 바로가기
Coding/TIL & 배운것들

OpenAI Playground

by 코딩짜는 머글 2024. 11. 13.

OpenAI Playground 란?

Playground는 OpenAI에서 제공하는 웹 기반의 실험 환경으로, GPT모델을 자유롭게 활용해보고 프롬프트 실험을 할 수 있는 플랫폼이다. 프롬프트를 입력해 보고, 응답을 실시간으로 확인할 수 있고, 다양한 파라미터 설정을 통해 모델의 동작을 제어할 수도 있다. 주로 프롬프트 엔지니어링 실습, AI 모델의 응답 패턴을 이해하는 데 유용하다. 

 

▼ 주요 목적

  • 프롬프트 테스트 : 입력 프롬프트에 따른 결과 확인
  • 모델 성능 평가 : 다양한 설정을 변경해가며 모델의 성능을 평가
  • 텍스트 생성 실험 : 실시간으로 텍스트를 생성하고 이를 통해 언어 모델의 동작 방식을 이해

 

▼ 주요 활동

텍스트 생성
Playground에서는 사용자가 입력한 프롬프트를 바탕으로 GPT 모델이 답변을 생성한다. 질문에 대한 답변을 얻거나, 문장이나 글을 생성할 수 있다. 
다양한 작업 테스트 
Playground는 단순한 대화뿐만 아니라, 여러 작업을 테스트할 수 있다. (요약, 번역, 질문 답변, 창의적 글쓰기 등)
프롬프트 엔지니어링 실험
프롬프트 엔지니어링을 연습하기에 이상적이다. 프롬프트 작성의 방식이나 내용에 따라 모델의 응답이 어떻게 달라지는지 실험할 수 있다. (샷(shot)기반 방식, 페르소나 설정 등)

 

 

▼ 주요 설정 

Playground에서 사용할 수 있는 다양한 설정값들이 있다. 각 설정값은 모델이 답변을 생성할 떄 영향을 미치므로, 상황에 맞게 조정해야 한다. 

모델 선택
▶ GPT-4 family
최신이자 가장 강력한 언어 모델. 복잡한 작업과 창의적인 응답이 필요할 때 사용
▶ GPT-3.5 family
조금 더 가벼운 버전으로, 빠르고 효율적인 응답을 생성한다. 각 모델마다 성능과 응답 속도에 차이가 있으니, 작업에 맞는 모델을 선택하면 된다.
온도 (Temperature)
온도는 모델의 랜덤성을 조정하는 매개변수이다. 값이 높을수록 창의적이고 예측 불가능한 응답이 나오고, 값이 낮을수록 일관적이고 안정적인 응답이 나온다. 
▶ 0.0 : 완전히 고정된 응답 (최소 랜덤성)
▶ 1.0 : 매우 창의적이고 다채로운 응답 (최대 랜덤성)
토큰 길이 (Max Tokens)
토큰은 GPT 모델에서 사용하는 단위로, 생성할 수 있는 텍스트의 길이를 조절하느 값이다. 기본적으로 짧은 응답이 필요하면 낮은 값을, 긴 글을 생성하려면 높은 값을 설정
▶ 짧은 응답 : 50토큰 (짧은 요약)
▶ 긴 응답 : 200토큰 (자세한 설명)
탑-피 (Top-p, Nucleus Sampling)
탑-피는 응답의 다양성을 제어하는 또 다른 파라미터이다. 
▶ 1.0 : 모든 가능한 답변을 고려해 다양한 응답을 생성
▶ 0.5 : 확률 상위 50%에 해당하는 답변들만을 선택하여, 더 집중된 응답을 생성
프롬프트 형식 (Stop Sequences)
프롬프트 종료를 위한 특정 단어나 기호를 설정해, 응답이 해당 기호에 도달하면 멈추도록 할 수 있다. 
▶ 답변이 끝날 때마다 'end'라는 단어가 나오게 할 수 있다. 
Frequency Penalty
이미 사용한 단어나 문장을 반복하지 않도록 하는 설정(생성된 텍스트에 토큰의 등장 여부). 값을 높이면 중복된 표현을 줄이게 된다. 
▶ 일반적인 범위는 0.1~1
Presence Penalty 
새로운 단어나 아이디어를 더 많이 사용하도록 유도하는 설정(반복적인 문구나 아이디어를 제어). 값을 높이면 더 다양한 표현이 나타난다. 
▶ 일반적인 범위는 0.1~1
온도와 Top p 의 차이점
▶ Top p 는 사용할 수 있는 토큰(단어 및 기호) 범위를 정의한다. Top p =1이면 언어 모델은 응답을 생성하는 동안 모든 토큰을 사용할 수 있다. 0.5 이면 가장 가능성 있고 적절한/일반적인 옵션의 50%만 사용할 수 있다.
▶ 온도는 특정 토큰을 선택할 가능성을 결정한다. 온도가 1이면 봇은 사용가능한 모든(top p 범위내)옵션에 대해 동일한 확률을 갖는 반면, 값이 낮을수록 더 자주. 사용되는 단어 및 구문에 기울게 된다. 

 

 

▼ User, Assistant, System 역할 설정

Role설정을 통해 User, Assistant, System 이라는 세 가지 역할을 설정할 수 있다. 이를 통해 대화의 흐륾을 더 자연스럽고 체계적으로 관리할 수 있다. 

User (사용자)
대화의 주체로, 프롬프트를 입력하는 역할을 담당한다. 주로 질문을 하거나 특정 작업을 요청하는 사용자 역할로, '질문'이나 '요구'를 담당한다. 
Assistant (도우미)
User의 요청에 응답하는 역할을 담당한다. GPT모델이 답변을 생성하는 역할을 수행하며 대화의 주요 흐름을 이어간다. 
System (시스템)
대화의 전반적인 규칙이나 지침을 제공하는 역할이다. Assistant가 어떻게 응답할지 지침을 제공하는 데 사용되며, 프롬프트 설정에 따라 Assistant의 성격이나 스타일을 조정할 수 있다. 
★ System역할을 이용해 Assistant가 특정 역할을 수행하게 할 수 있다. System 지침으로 'Assistant는 역사학자로서 답합니다.'라고 설정하면, 역사에 관한 질문에 전문적인 답변을 하게끔 유도할 수 있다. 

 

 

 

주의사항

비용
Playground에서 사용되는 각 토큰은 비용이 발생한다. 실습 시 토큰 사용량을 관리하는 것이 중요하다. 짧은 프롬프트와 응답을 사용하면 토큰 사용량을 줄일 수 있다.
모델의 한계
모델이 생성하는 모든 응답이 정확하지 않을 수 있다.(항상 정답을 제공하지 않음) 모델은 학습한 데이터를 기반으로 답변을 생성하지만, 사실과 다른 정보를 제공할 수 있다. GPT 모델은 고정된 데이터를 기반으로 학습되기 때문에, 최신 정보가 반영되지 않을 수 있다. 
프라이버시와 보안
OpenAI는 모델의 입력 데이터를 사용해 시스템을 개선할 수 있으므로, 개인 정보나 민감한 데이터는 Playground에서 입력하지 않는 것이 좋다. 
출력 조정 필요
응답이 너무 길거나 적절하지 않으면, 토큰 제한이나 프롬프트 변경을 통해 출력을 조정할 수 있다. 이는 특히 긴 글이나 특정 형식의 답변이 필요한 경우 유용하다. 

 

 

 

 

'Coding > TIL & 배운것들' 카테고리의 다른 글

prompt engineering vs RAG vs Fine-tuning  (1) 2024.11.13
파이썬 코딩 컨벤션  (0) 2024.11.13
RAG, Vector DB, LangChain  (1) 2024.11.13
LLM (Large Language Model)  (0) 2024.11.13
24-11-12 베이직반 수업  (0) 2024.11.12