CLOVA Studio 개요
  • PDF

CLOVA Studio 개요

  • PDF

참고

CLOVA Studio는 현재 Closed Beta로 일부 파트너사에게만 제공되고 있으며, 일반 사용자 대상 오픈 시기는 미정입니다.

CLOVA Studio는 초대규모(Hyperscale) AI를 기반으로 한 HyperCLOVA 언어모델을 사용하여 사용자가 내용을 입력하고 인공지능을 통해 문구를 생성할 수 있는 서비스입니다.

이 문서에서는 CLOVA Studio의 주요 개념에 대해 설명하고, 참고할 수 있는 내용을 안내합니다.

주요 개념

CLOVA Studio의 주요 개념에 대해 설명합니다.

프롬프트와 결괏값

프롬프트는 CLOVA Studio에서 작업을 수행하기 위해 입력할 내용이고 결괏값은 CLOVA Studio에서 입력한 프롬프트를 기반으로 HyperCLOVA 언어 모델이 생성한 내용입니다. 예를 들어 프롬프트로 "원숭이 엉덩이는 빨개"를 입력하면 높은 확률로 "빨간 건 사과, 사과는 맛있어"라는 결괏값이 생성됩니다.
HyperCLOVA 언어 모델은 확률을 기반으로 작동하기 때문에 같은 프롬프트를 입력하더라도 다른 결괏값이 출력될 수 있습니다.

토큰

토큰은 자연어 처리를 위해 하나의 단어를 세분화한 단어 조각입니다. 한국어 단어는 대개 형태소 단위의 1-2토큰으로 나뉩니다. 프롬프트와 결괏값 예시에서 "맛있어"라는 표현은 각각 "맛"과 "있어"라는 두 개의 토큰으로 나뉠 수 있습니다. 하지만 HyperCLOVA 언어모델이 학습한 내용에 맞춰 토큰을 나누기 때문에 어떤 표현이 항상 같은 토큰으로 이루어져 있지는 않습니다.

확률 기반 언어 모델

HyperCLOVA 언어 모델은 확률을 기반으로 다음에 나올 단어를 연속으로 예측하여 문장을 완성합니다. 예를 들어, CLOVA Studio에 자연 풍경을 묘사해달라는 프롬프트를 입력했을 때 결괏값의 첫 토큰이 "저"로 선택되었다면 뒤에 올 단어로 "나무', '꽃', '산'을 예측할 수 있습니다. 이 때, 각 단어마다 확률이 존재합니다. HyperCLOVA 언어모델은 이 중에서 가장 확률이 높은 '나무'와 '에'를 선택해서 '저 나무에'라는 결과를 생성하는 원리로 작동합니다.

확률 기반 언어모델 예시

플레이그라운드

플레이그라운드는 사용자가 각종 파라미터를 설정하고 에디터 영역에 프롬프트를 입력해서 CLOVA Studio로부터 결괏값을 받을 수 있는 작업 공간입니다. 플레이그라운드는 인공지능 관련 지식이나 코딩 지식이 없는 사용자도 인공지능 기술을 사용해 텍스트 생성을 할 수 있도록 설계되었습니다.

플레이그라운드 레이아웃

익스플로러

익스플로러는 사용자가 플레이그라운드에서 저장한 내용을 보관하고, CLOVA Studio에서 제공하는 샘플이나 다른 사용자들이 전체 공개 상태로 저장한 작업물을 확인하고 직접 사용해볼 수 있는 공간입니다.

explorer.png

파라미터

파라미터는 문구를 생성하기 위해 플레이그라운드에 입력하는 설정값입니다. 플레이그라운드의 왼쪽 사이드바에 파라미터를 설정할 수 있으며 항목은 다음과 같습니다.

Engine

Engine(이하 엔진)은 CLOVA Studio에서 문구를 생성할 때 사용하는 언어모델입니다. CLOVA Studio는 한국어 엔진인 LK-D, 영어 엔진인 LE-C을 제공하며 사용자는 이 중에 하나를 선택할 수 있습니다.

Top K

Top K는 자연어 처리 모델이 예측한 토큰의 선택 확률 분포에서 확률 값이 가장 높은 K개 중에서 하나를 선택할 때 사용하는 기준값입니다. 예를 들어, Top K 값을 5로 설정하면 가장 확률 값이 높은 5개의 토큰 중에서 하나의 토큰이 선택됩니다. 이 때, 가장 확률 값이 높은 토큰이 선택될 가능성이 크지만, 경우에 따라 확률 값이 더 낮은 토큰이 선택될 수도 있습니다.

특수한 경우를 제외하면 Top K 값은 0으로 설정하는 것을 권장합니다.

Top K 예시

Top P

Top P는 선택 확률 값이 높은 토큰을 순서대로 나열한 뒤, 설정한 누적 확률 값에 포함되지 않는 토큰을 제거할 때 사용하는 기준값입니다. 예를 들어, Top P값을 0.8로 설정하면 누적 확률 값이 상위 80%에 포함된 토큰만 후보로 선택합니다.

특수한 경우를 제외하면 Top P 값은 0.8에서 1사이로 설정하는 것을 권장합니다.

Top P 예시

Maximum tokens

결괏값을 생성할 때 사용할 최대 토큰의 수입니다. 토큰 수를 높게 설정할수록 더 긴 결과를 출력합니다. 프롬프트와 결괏값을 포함하여 최대 2048 토큰까지만 허용합니다.

Temperature

Temperature는 확률 분포에 가중치 변화를 주어 문장의 다양성을 조절하는 값입니다. Temperature를 낮게 설정하면 후보에 포함된 토큰의 순위는 바뀌지 않지만 확률이 높았던 토큰은 더욱 확률 값이 높아지고 낮았던 토큰은 더욱 확률 값이 낮아집니다. 가장 높은 순위의 토큰이 선택될 가능성이 크기 때문에 정형적인 결괏값을 생성합니다.

반면에 temperature를 높게 설정하면 각 토큰의 확률 값의 차이가 좁혀져 다양한 문장이 만들어질 수는 있지만, 규칙에서 조금 벗어나는 문장을 생성하기도 하고 문장의 품질이 다소 떨어질 수도 있습니다.

Top P값을 고정해놓은 상태에서 Temperature를 필요에 따라 조절하는 것을 권장합니다.

Temperature를 높게 설정했을 때의 예시

위의 예시에서 볼 수 있듯이 temperature를 높게 설정하면 각 후보 토큰이 선택될 확률이 상대적으로 비슷해집니다.

Temperature를 낮게 설정했을 때의 설정 예시

위의 예시에서 볼 수 있듯이 temperature를 낮게 설정하면 가장 확률 값이 높은 토큰과 그 외의 토큰 간의 격차가 크게 벌어집니다.

Repetition penalty

Repetition penalty는 CLOVA Studio에서 문구를 생성할 때 반복적인 결괏값을 생성하지 않도록 반복되는 토큰에는 감점요소를 부여하는 값입니다. Repetition penalty가 높을수록 같은 결괏값을 반복적으로 생성할 확률을 감소시킵니다.

Stop sequences

Stop sequences는 결과 생성을 중단할 때 쓸 문자열입니다. Stop sequences는 여러개를 등록할 수 있습니다. CLOVA Studio가 결과를 생성할 때 stop sequences 중 하나가 결과에 포함되면 그 이전까지의 내용만 출력합니다.

예를 들어, 프롬프트를 '원숭이 엉덩이는 빨개'로 입력하고 stop sequences에 '사과'라는 문자열을 추가하면 '빨간 건'까지만 결과에 나타나고 그 다음 가사인 '사과'부터는 출력하지 않습니다.

Inject start text

Inject start text는 CLOVA Studio가 출력하는 결괏값 앞에 항상 출력될 텍스트입니다. 예를 들어, '사용자'와 'CLOVA' 간의 대화를 나누는 문구를 생성하려면 '사용자: 오늘 날씨 좀 알려줘'라는 프롬프트를 입력하고 inject start text를 'CLOVA:'로 설정하여 화자를 구분할 수 있습니다.

Inject restart text

Inject restart text는 CLOVA Studio가 출력하는 결괏값 뒤에 항상 출력될 텍스트입니다. Inject start text의 예시에 이어서, 매번 사용자 질의를 입력하기 위해 '사용자:'라는 텍스트를 다시 입력할 필요 없이 inject restart text를 '사용자:'로 설정하면 결괏값 뒤에 '사용자:'라는 텍스트가 출력되어 바로 다음 질의를 입력할 수 있습니다.

Show probabilities

Show probabilities는 생성된 각 토큰이 선택될 확률을 표시하도록 설정하는 옵션입니다. 다른 후보 값은 무엇이 있는지 확인할 수 있습니다.

Show probabilities 예시

Generation type

Generation type은 결괏값 생성 방식입니다. Rolling, One-time, Multiple, Examples 방식이 있으며 각 생성 방식에 대한 설명은 다음과 같습니다.

Rolling

Rolling 방식 설명

Rolling은 프롬프트를 입력한 후 결괏값을 생성한 뒤에 다시 생성을 시도하면 이전까지 생성했던 결괏값을 다시 프롬프트의 일부로 인식하고 생성하는 방식입니다. 최초로 입력했던 프롬프트 이후에 생성한 결괏값은 사용자가 입력한 것이 아니기 때문에 생성을 반복할수록 최초 프롬프트를 입력할 때 의도했던 방향에서 벗어날 수 있습니다.

One-time

One-time 방식 설명

One-time은 프롬프트를 입력한 후 생성한 결괏값을 에디터 영역에 바로 추가하는 대신 미리보기 형태로 표시하여 사용자가 사용하길 원한다면 에디터 영역에 적용할 수 있는 방식입니다.

Multiple

Multiple 방식 설명

Multiple은 프롬프트를 입력한 후 결괏값을 생성할 때 지정한 숫자만큼 결괏값을 생성한 후 선택해서 적용할 수 있는 방식입니다.

Examples

Examples 방식 설명

Examples는 프롬프트를 입력한 후 결괏값을 생성할 때 원하는 답변에 가까운 내용을 추가적으로 입력해서 의도했던 방향에 가까운 결괏값을 얻을 수 있는 방식입니다.

CLOVA Studio 사용 가이드 안내

CLOVA Studio 사용 가이드는 다음과 같은 주제로 구성되어 있습니다. 각 주제에서 사용자가 확인할 수 있는 내용은 다음과 같습니다.


이 글이 도움이 되었나요?