프롬프트 랩에서 매개변수를 설정하여 프롬프트에 대한 응답으로 모델이 출력을 생성하는 방법을 제어할 수 있습니다. 디코딩 매개변수를 설정하여 출력 텍스트가 생성되는 방법을 조정하십시오. 모델이 출력 생성을 중지해야 하는 시기를 지정하려면 중지 기준 매개변수를 설정하십시오.
디코딩
디코딩 은 모델이 생성된 출력에서 토큰을 선택하는 데 사용하는 프로세스입니다.
다음 디코딩 옵션 중 하나를 선택하십시오.
그리디 디코딩: 디코딩 프로세스의 각 단계에서 확률이 가장 높은 토큰을 선택합니다.
그리디 디코딩은 모델의 사전 훈련 데이터 및 프롬프트 텍스트에서 가장 일반적인 언어와 거의 일치하는 출력을 생성하며, 이는 덜 창의적이거나 팩트 기반 유스 케이스에서 바람직합니다. 그리디 디코딩의 약점은 생성된 출력에서 반복적 루프를 유발할 수 있다는 점입니다.
욕심 디코딩은 연속된 프롬프트에서 항상 동일한 출력을 생성하지는 않습니다. 여러 프롬프트에서 일관된 출력을 얻으려면 샘플링 디코딩을 사용하고 각 프롬프트에서 무작위 시드 매개변수에 동일한 숫자를 지정하세요.
샘플링 디코딩: 토큰 선택 방법에서 더 많은 변동을 제공합니다.
샘플링 디코딩을 사용하면 모델이 토큰의 서브세트를 선택한 후 이 서브세트에서 무작위로 하나의 토큰이 선택되어 출력 텍스트에 추가됨을 의미하는 모델 샘플 토큰이 작성됩니다. 샘플링은 가변성 및 임의성을 디코딩 프로세스에 추가하며, 이는 창의적인 유스 케이스에서 바람직할 수 있습니다. 그러나 가변성이 크면 올바르지 않거나 의미가 없는 출력의 위험성이 커집니다.
샘플링 디코딩을 위한 추가 옵션
샘플링 디코딩을 선택하면 foundation model 샘플링할 토큰을 선택하는 방법을 조정하는 데 사용할 수 있는 더 많은 매개변수를 사용할 수 있습니다. 다음 매개변수는 함께 작동하여 샘플링되는 토큰에 영향을 줍니다.
- 온도 샘플링 은 샘플링될 토큰에 대한 확률 분포를 평탄화하거나 더 선명하게 합니다.
- Top-k 표본추출 은 지정된 토큰 수에 도달할 때까지 확률이 가장 높은 토큰을 표본추출합니다.
- Top-p 샘플링 점수의 합계가 지정된 임계값에 도달할 때까지 확률 점수가 가장 높은 토큰을 샘플링합니다. (Top-p 표본추출을 핵 표본추출이라고도 합니다.)
매개변수 | 지원되는 값 | 기본값 | 사용 |
---|---|---|---|
온도 | 0.0 (그리디 디코딩과 동일) 에서 2.0 (최대 창의성) 까지의 범위에 있는 부동 소수점 숫자 | 0.7 | 값이 높을수록 가변성이 커집니다. |
상위 K | 1-100범위의 정수 | 50 | 값이 높을수록 가변성이 커집니다. |
상위 P | 0.0 - 1.0 범위의 부동 소수점 수 | 1.0 | 값을 변경하지 않으면 이 설정은 사용되지 않습니다. |
그리디 디코딩을 사용하도록 선택하는 경우 온도, 상위 K및 상위 P 설정을 적용할 수 없습니다.
샘플링 디코딩 설정 조정 예
이 예제에서는 foundation model 이미 출력 텍스트 ' I took my dog
'을 생성했으며 이제 모델이 다음 토큰을 선택하고 있습니다.
최상의 선택을 찾기 위해 모델은 가능한 토큰에 대한 이산 확률 분포를 계산합니다. 이 분배 유형을 사용하면 각 토큰에 0-1사이의 소수점 확률 점수가 지정됩니다. 여기서 점수의 합계는 1입니다.
실제 시나리오에서는 수백 개의 가능한 토큰이 있을 수 있습니다. 이 예제에서 선택사항에는 다섯 개의 토큰만 포함되며, 이는 일반적인 문장의 컨텍스트에서 여기에 표시됩니다.
개를 데리고 ...
- 용도 걷기.
- 을 수의사에게 보내십시오.
- 를 사용합니다.
- 및 휴가 중인 내 고양이.
- 칼라를 기준 하십시오.
맨 위 K및 맨 위 P는 샘플링할 토큰을 선택하기 위한 두 가지 다른 방법을 나타냅니다.
두 방법 모두 선택사항을 가장 가능성이 높은 것에서 가장 가능성이 낮은 것 순으로 정렬하여 시작합니다. 다음 표에는 토큰 및 해당 가상 확률 점수가 순서대로 나열되어 있습니다.
토큰 | 확률 스코어 |
---|---|
대상 | 0.4 |
- | 0.25 |
다음 항목으로 바꾸십시오. | 0.17 |
및 | 0.13 |
기준 | 0.05 |
Top K 예제
맨 위 K는 샘플링할 토큰 수를 지정합니다. 예를 들어, 상위 K를 3으로 설정하면 목록에 있는 처음 세 개의 토큰만 샘플링됩니다 ( 용도, 다음으로및 다음으로).
최상위 P 예제
최상위 P는 토큰이 도달해야 하는 누적 확률 점수 임계값을 지정합니다.
예를 들어, Top P를 0.6로 설정하면 처음 두 개의 토큰 용도 및 다음으로만 샘플링됩니다. 해당 확률 (0.4 및 0.25) 이 0.65까지 추가되기 때문입니다. (이 예제에 표시된 대로 합계가 임계값을 초과하는 것은 괜찮습니다.)
최상위 P 매개변수 값을 기본값 1이 아닌 다른 값으로 설정하지 않으면 최상위 P가 사용되지 않습니다. Top P및 Top K를 함께 사용하는 것은 확률 점수가 매우 낮은 토큰을 필터링하는 유용한 방법일 수 있습니다. 두 매개변수를 모두 지정하면 Top K가 먼저 적용됩니다.
예를 들어, 상위 K를 5로 설정하고 상위 P를 0.8로 설정할 수 있습니다. 상위 K 설정은 5개의 토큰을 모두 샘플링한 다음, 상위 P는 해당 확률이 확률 점수 임계값인 0.8 (0.4 + 0.25 + 0.17 = 0.82) 에 도달하기 때문에 샘플링된 토큰을 용도, 다음으로및 다음으로 로 제한합니다.
두 설정이 모두 지정되면 상위 P가 계산될 때 상위 K에 의해 설정된 컷오프 아래의 모든 토큰이 0의 확률을 갖는 것으로 간주됩니다. 예를 들어, Top K가 2로 설정되고 Top P가 0.8로 설정되면 용도 및 다음으로 만 샘플링됩니다. 다음으로, 및및 기준 의 확률 점수가 0으로 재설정되므로 다음으로 토큰이 샘플링되지 않습니다.
온도 예제
온도 설정은 토큰을 샘플링할 때 사용되는 확률 분포의 모양에 영향을 줍니다.
낮은 온도는 토큰 간의 확률 차이를 증폭시킵니다. 가능성이 높은 용어는 가능성이 낮은 용어에 비해 점수가 훨씬 높습니다. 결과적으로 모델의 훈련 데이터 또는 프롬프트 입력의 항과 유사한 항이 표본추출될 수 있습니다. 보다 신뢰할 수 있는 출력을 원하는 경우 낮은 온도 값을 사용하십시오.
온도가 높으면 토큰 확률이 서로 더 가까워질 수 있습니다. 결과적으로 특이 항을 표본추출할 가능성이 높아집니다. 무작위 및 가변성 또는 출력을 늘리려는 경우 (예: 창의적 출력을 원하는 경우) 보다 높은 온도 값을 사용하십시오. 무작위성은 부정확하거나 무의미한 출력을 초래할 수도 있음을 기억하십시오.
예를 들어, 2와 같은 높은 온도 값이 적용되는 경우 이 예에서 토큰의 확률 점수는 표 3에 표시된 대로 서로 더 가까울 수 있습니다.
토큰 | 온도가 2인 점수 |
---|---|
대상 | 0.3 |
- | 0.25 |
다음 항목으로 바꾸십시오. | 0.2 |
및 | 0.15 |
기준 | 0.10 |
Top P가 0.8로 설정된 경우, 온도는 다음과 같이 샘플 토큰에 영향을 줍니다.
- 높은 온도에서는 점수 (0.3 + 0.25 + 0.2 + 0.15 = 90) 가 총 90이므로 상위 네 개의 토큰 (용도, 다음으로, 다음으로및 및) 이 샘플링됩니다.
- 낮은 온도에서는 점수 (0.4 + 0.25 + 0.17 = 82) 가 총 82이므로 상위 세 개의 토큰 (용도, 다음으로및 다음으로) 만 샘플링됩니다.
높은 온도 값이 사용되면 상위 P에서 설정한 임계값에 도달하는 데 더 많은 토큰을 사용합니다. 샘플링되는 추가 토큰은 가장 낮은 점수를 가지며, 이는 토큰이 보다 일반적이지 않은 선택임을 의미합니다.
난수 시드
샘플링 디코딩을 사용하여 동일한 프롬프트를 모델에 여러 번 제출하는 경우 모델은 일반적으로 매번 다른 텍스트를 생성합니다. 이러한 가변성은 디코딩 프로세스 내에 구축되는 의도적인 의사-랜덤성의 결과이다.
난수 시드 는 모델이 토큰 선택사항을 무작위화하기 위해 사용하는 난수 생성기를 시작하는 데 사용되는 숫자입니다. 실험에서 변수로서 이 의도적인 임의성을 제거하려는 경우, 숫자를 선택하고 실험을 실행할 때마다 동일한 숫자를 지정할 수 있습니다.
- 지원되는 값: 1-4,294 ,967 ,295 범위의 정수
- 기본값: 자체적으로 무작위로 생성됨
- 사용: 반복 가능한 결과를 생성하려면 매번 동일한 난수 시드 값을 설정하십시오.
반복 페널티
선택한 프롬프트, 모델 및 매개변수에 대해 생성된 출력이 일관되게 반복 텍스트를 포함하는 경우 반복 페널티를 추가할 수 있습니다. 설정된 경우 페널티는 모델이 반복할 가능성이 적도록 최근에 사용된 토큰의 확률 점수를 낮춥니다. 값이 높을수록 더 다양하고 다양한 출력이 생성됩니다.
- 지원되는 값입니다: 1.0 (페널티 없음) ~ 2.0 (최대 페널티) 범위의 부동 소수점 숫자
- 기본값: 1.0
- 사용: 페널티가 높을수록 결과물에 반복되는 텍스트가 포함될 가능성이 줄어듭니다.
중지 기준
모델이 출력이 완료된 것으로 간주하거나, 중지 시퀀스가 생성되거나, 최대 토큰 한계에 도달하거나, 모델 생성 시간 한계에 도달한 후 텍스트 생성이 중지됩니다.
생성 요청의 시간 한계에 도달하면 모델 생성이 중지됩니다. Lite 플랜의 경우 기본 시간 제한은 10분 5분입니다. API를 사용하여 추론 요청을 제출할 때 더 짧은 시간 한계를 지정할 수 있습니다.
중지 시퀀스를 지정하고 최소 토큰 및 최대 토큰을 설정하는 방법으로 모델에 의해 생성되는 출력의 길이에 영향을 줄 수 있습니다.
중지 시퀀스
중지 순서 는 하나 이상의 문자로 된 문자열입니다. 중지 시퀀스를 지정하면 사용자가 지정하는 중지 시퀀스 중 하나가 생성된 출력에 표시된 후 모델이 자동으로 출력 생성을 중지합니다.
예를 들어, 모델이 단 하나의 문장 다음에 출력 생성을 중지하도록 하는 한 가지 방법은 마침표를 중지 시퀀스로 지정하는 것입니다. 이 방법으로 모델이 첫 번째 문장을 생성하고 마침표로 종료한 후에 출력 생성이 중지됩니다.
효과적인 중지 시퀀스 선택은 유스 케이스 및 예상하는 생성된 출력의 특성에 따라 다릅니다.
지원되는 값: 0~6개의 문자열, 각각 40개 이하의 토큰
기본값입니다: 정지 시퀀스 없음
사용: 정지 시퀀스를 사용하려면 다음 팁을 따르세요:
- 최소 토큰 매개변수에 지정된 토큰 수가 생성될 때까지 중지 시퀀스는 무시됩니다. 최소 토큰 매개변수 값을 설정할 때 이 관계를 염두에 두세요.
- 프롬프트에 입력-출력 쌍의 예제가 포함된 경우, 예제의 샘플 출력에 정지 시퀀스 중 하나를 포함해야 합니다.
최소 및 최대 새 토큰
모델의 출력이 너무 짧거나 너무 긴 경우 생성된 토큰의 수를 제어하는 매개변수를 조정하십시오.
최소 토큰 매개변수는 생성된 출력에서 최소 토큰 수를 제어합니다.
최대 토큰 매개변수는 생성된 출력의 최대 토큰 수를 제어합니다.
지원되는 값입니다: 출력에 허용되는 최대 토큰 수는 모델에 따라 다릅니다. 자세한 정보는 지원되는 기반 모델의 최대 토큰 정보를 참조하십시오.
기본값:
- 최소 토큰: 0
- 최대 토큰: 200
사용:
- 최소 토큰은 최대 토큰보다 작거나 같아야 합니다.
- IBM watsonx.ai 에서 기본 모델을 사용하는 비용은 사용을 기반으로 하며, 이는 부분적으로 생성되는 토큰 수와 관련됩니다. 사용자의 유스 케이스에 대해 작동하는 Max 토큰에 대해 가장 낮은 값을 지정하는 것은 비용 절감 전략입니다.
자세히 알아보기
상위 주제: 프롬프트 랩