추론 파라미터로 응답 생성 조절하기

추론 파라미터로 응답 생성 조절하기

모델 추론을 실행할 때 응답이 어떻게 나올지는 정해져 있지 않아요. 추론 파라미터를 조절하면 모델이 생성 과정에서 고려할 출력 후보의 범위나 최종 응답의 길이를 바꿀 수 있죠. 이 페이지에서는 여러 모델에서 공통으로 쓰이는 추론 파라미터의 종류와 그 효과를 설명해 드릴게요.

출처: https://docs.aws.amazon.com/bedrock/latest/userguide/inference-parameters.html

추론 파라미터의 기본값과 허용 범위는 모델마다 달라요. 구체적인 값이 필요할 때는 해당 모델의 "Inference request parameters and response fields" 문서를 확인해야 해요. 그래도 카테고리 자체는 여러 모델에 걸쳐 공통으로 존재해요.

무작위성과 다양성 (Randomness and diversity)

모델은 주어진 시퀀스에서 다음 토큰으로 올 후보들에 대한 확률 분포를 만들고, 그 분포에서 샘플링해 출력 토큰을 하나씩 생성해요. 무작위성과 다양성은 바로 이 분포를 얼마나 펼치느냐와 관련된 개념이에요. 대표 파라미터는 다음과 같아요.

  • Temperature — 예측 출력의 확률 분포 모양(probability mass function)을 조절해요. 낮출수록 분포가 뾰족해져 더 결정론적인 응답이 나오고, 높일수록 분포가 평평해져 더 무작위적인 응답이 나와요. 높은 확률의 출력을 원하면 낮은 값을, 낮은 확률의 출력까지 고려하길 원하면 높은 값을 선택하면 됩니다.
  • Top K — 다음 토큰으로 고려할 가장 가능성 높은 후보의 개수예요. 값을 높이면 후보 풀이 커져 덜 가능성 있는 출력까지 고려하게 돼요.
  • Top P — 다음 토큰으로 고려할 가장 가능성 높은 후보의 비율(백분율) 이에요. lower value면 후보를 더 걸러내고, higher value면 덜 가능성 있는 토큰까지 허용해요.

한 예로 모델이 다음 토큰 후보를 {"horses": 0.7, "zebras": 0.2, "unicorns": 0.1}처럼 나눠줬다고 해볼게요.

  • Temperature를 높이면 확률 분포가 평평해져 unicorns를 고를 확률이 올라가고 horses 확률은 내려가요.
  • Top K를 2로 설정하면 모델은 가장 가능성 높은 후보 2개 horseszebras만 고려해요.
  • Top P를 0.7로 설정하면 상위 70% 안에 드는 horses 하나만 고려하고, 0.9로 설정하면 상위 90% 안의 horseszebras 둘 다 고려해요.

길이 (Length)

파운데이션 모델은 보통 응답 길이를 제한하는 파라미터를 지원해요. 대표 예시는 다음과 같아요.

  • Response length — 생성할 응답의 최소/최대 토큰 수를 정확한 값으로 지정해요.
  • Penalties — 응답의 특정 출력에 패널티를 줄 정도를 지정해요. 예를 들어 응답의 길이, 응답에서 반복되는 토큰, 토큰의 빈도, 토큰의 종류에 각각 패널티를 줄 수 있어요.
  • Stop sequences — 모델이 더 이상 토큰을 생성하지 않게 만드는 문자 시퀀스를 지정해요. 지정한 중지 시퀀스를 모델이 생성하면 그 시점에 생성을 멈춰요.

더 알아보기