기본 모델 튜닝을 위한 매개변수
튜닝 파라미터는 기초 모델을 튜닝하는 데 사용하는 튜닝 실험을 구성합니다.
신속한 튜닝 매개변수
사용 프롬프트 튜닝은 더 이상 사용되지 않으며 향후 제거될 예정입니다.
다음 표에서는 사용자 지정할 수 있는 튜닝 매개변수에 대해 설명합니다.
매개변수 이름 | 설명 | 값 옵션 | 자세히 알아보기 |
---|---|---|---|
초기화 메소드 | 프롬프트 벡터를 초기화하는 방법을 지정합니다. | 무작위, 텍스트 | 프롬프트 튜닝 초기화 |
초기화 텍스트 | 실험을 처음 실행할 때 프롬프트로 사용할 텍스트입니다. | – | 프롬프트 튜닝 초기화 |
일괄처리 크기 | 한 번에 처리할 라벨링된 예제 수입니다. | 1-16 | 훈련 데이터 세그먼트화 |
누적 단계 | 조정이 이루어지기 전에 처리할 배치 수입니다. | 1-128 | 훈련 데이터 세그먼트화 |
학습 비율 | 모델을 조정할 때 적용할 변경 범위를 결정합니다. | 0.00001–0.5 | 학습 비율 관리 |
에포크 수(훈련 주기 수) | 학습 데이터를 순환할 횟수입니다. | 1-50 | 완료할 훈련 주기 수 선택 |
프롬프트 튜닝을 위한 매개변수 값 설정
프롬프트 튜닝 실험에 사용할 수 있는 최적의 하이퍼파라미터 값은 데이터와 사용 사례에 따라 다릅니다.
다음 표는 타사 기초 모델의 프롬프트 조정을 위한 시작점으로 사용할 매개 변수 값을 보여줍니다.
매개변수 이름 | flan-t5-xl-3b 기본값 |
---|---|
초기화 메소드 | 무작위 |
초기화 텍스트 | 없음 |
일괄처리 크기 | 그림 16 |
누적 단계 | 그림 16 |
학습 비율 | 0.3 |
에포크 수(훈련 주기 수) | 20 |
granite-13b-instruct-v2 의 기초 모델을 조정하는 데 사용되는 기본 매개변수는 조정된 모델이 수행할 작업의 유형에 따라 조정됩니다.
다음 표는 프롬프트 튜닝을 위한 기초 모델( granite-13b-instruct-v2 )을 지원하는 작업 유형별로 시작점으로 사용할 매개 변수 값을 보여줍니다.
매개변수 이름 | 분류의 기본값 | 생성을 위한 기본값 | 요약의 기본값 |
---|---|---|---|
일괄처리 크기 | 8 | 그림 16 | 8 |
누적 단계 | 32 | 그림 16 | 1 |
학습 비율 | 0.0006 | 0.0002 | 0.0002 |
에포크 수(훈련 주기 수) | 20 | 20 | 40 |
낮은 순위 적응 미세 조정 매개변수
다음 표에서는 일반적인 튜닝 매개변수 외에도 낮은 순위 적응( LoRA ) 미세 조정과 관련된 튜닝 매개변수를 구체적으로 설명합니다.
매개변수 이름 | 참고 |
---|---|
알파 | 기본 모델 가중치에 추가되기 전에 어댑터 가중치 변경에 적용할 승수입니다. 이 설정은 어댑터 무게가 얼마나 영향을 미치는지 제어합니다. 알파 값을 순위 값으로 나누어 적용할 가중치 변경 비율을 계산합니다. |
드롭아웃 | 학습 데이터에 대한 과적합을 방지하기 위해 무작위로 0으로 초기화할 어댑터 가중치의 백분율입니다. |
순위 | 조정할 모델 매개변수 가중치의 하위 집합을 선택하는 계산에 사용할 숫자입니다. |
대상 모듈 | 적응 대상으로 삼을 기본 파운데이션 모델의 레이어를 지정합니다. |
이러한 매개 변수에 대한 자세한 내용은 로우랭크 적응 구성하기( LoRA 미세 조정 전용)를 참조하세요.
LoRA 미세 조정을 위한 파라미터 값 설정하기
LoRA 미세 조정 실험에 사용할 수 있는 최적의 하이퍼파라미터 값은 데이터, 사용하는 기초 모델, 모델이 수행하려는 작업 유형에 따라 달라집니다.
다음 표에는 유용한 시작 매개변수 값이 나와 있습니다. 실험을 통해 무엇이 가장 효과적인지 알아가면서 매개변수 값을 조정할 수 있습니다.
매개변수 이름 | granite-3-1-8b-base | llama-3-1-8b |
---|---|---|
알파 | 32 | 6,400 |
누적 단계 | 1 | 1 |
일괄처리 크기 | 8 | 8 |
드롭아웃 | 0.05 | 0.05 |
학습 비율 | 0.00001 | 0.00001 |
에포크 수(훈련 주기 수) | 1,000만 | 5 |
순위 | 8 | 32 |
대상 모듈 | ["all-linear"] |
["q_proj", "v_proj"] |
이러한 매개 변수에 대한 자세한 내용은 로우랭크 적응 구성하기( LoRA 미세 조정 전용)를 참조하세요.
매개변수 설명
훈련 데이터 세그먼트화
실험이 실행되면 실험은 먼저 훈련 데이터를 더 작은 일괄처리로 나눈 후 한 번에 하나의 일괄처리에서 훈련합니다. 각 일괄처리는 처리할 GPU 메모리에 맞아야 합니다. 필요한 GPU 메모리의 양을 줄이기 위해 둘 이상의 일괄처리가 처리될 때까지 조정을 연기하도록 튜닝 실험을 구성할 수 있습니다. 튜닝은 일괄적으로 실행되고 성능 지표가 계산되지만 즉시 조정되지는 않습니다. 대신, 성능 정보는 누적 성능 메트릭이 평가되기 전에 일부 배치 수에 대해 수집됩니다.
훈련 데이터가 세그먼트화되는 방법을 제어하려면 다음 매개변수를 사용하십시오.
배치 크기 한 번에 처리할 레이블 지정된 예제 ( 샘플이라고도 함) 수입니다.
예를 들어, 1,000개의 예제가 있고 일괄처리 크기가 10인 데이터 세트의 경우 데이터 세트는 각각 10개의 예제가 있는 100개의 일괄처리로 나뉩니다.
훈련 데이터 세트가 작은 경우 각 배치에 충분한 예제가 있도록 더 작은 배치 크기를 지정하십시오.
누적 단계: 조정이 이루어지기 전에 처리할 배치의 수입니다.
예를 들어 데이터 집합을 100개의 배치로 나누고 누적 단계 값을 10으로 설정하면 조정이 100번이 아니라 10번 이루어집니다.
완료할 훈련 주기 수 선택
에포크 수 매개변수는 전체 훈련 데이터 세트를 순환하는 횟수를 지정합니다.
예를 들어 배치 크기가 10이고 예시가 1,000개인 데이터 세트의 경우, 하나의 에포크는 100개의 배치를 처리하고 100번의 조정을 수행해야 합니다. 에포크 수를 20으로 설정하면 모델이 데이터 세트를 20번통과합니다. 이는 튜닝 프로세스 중에 총 2,000개의 일괄처리를 처리함을 의미합니다.
에포크 수가 많고 훈련 데이터가 많을수록 모델을 튜닝하는 데 더 많은 시간이 소요됩니다. 에포크의 수를 너무 낮게 설정하면 모델이 적절하게 학습하지 못할 수 있습니다. 에포크의 수를 너무 높게 설정하면 데이터 세트에 모델을 과도하게 맞출 수 있습니다. 과적합은 모델이 훈련 데이터에 너무 밀접하게 조정되어 새로운 데이터가 도입될 때 학습한 내용을 일반화하고 적용할 수 없는 현상을 설명하는 데 사용되는 용어입니다.
학습 비율 관리
학습률 매개변수는 모델을 조정할 때 변경할 범위를 결정합니다. 숫자가 높을수록 변화가 크다는 뜻입니다. 학습률을 너무 낮게 설정하면 제시된 새로운 데이터로부터 모델을 적절하게 학습하지 못할 수 있습니다. 학습률을 너무 높게 설정하면 모델이 새로운 미지의 데이터에 학습 내용을 적용할 수 있을 만큼 충분히 점진적으로 학습하지 못할 수 있습니다.
이 매개변수는 보수적으로 설정한 다음, 사용자 지정 중인 데이터 세트와 기초 모델에 가장 적합한 하이퍼파라미터를 찾기 위해 실험을 하면서 점차적으로 변경할 수 있는 매개변수입니다.
토큰 제한 설정
튜닝 실험을 하는 동안 모델 입력 및 출력에서 허용되는 토큰의 수를 변경하려면 max_seq_length 매개변수를 설정하면 됩니다. 최대 순서 길이는 입력 토큰의 최대 개수와 각 프롬프트에 허용되는 출력 토큰의 개수를 합한 것입니다.
허용되는 입력 및 출력 토큰의 수가 많을수록 모델 튜닝에 더 많은 시간이 걸립니다. 이 매개변수를 사용 가능한 최소 숫자로 설정하되, 사용 사례에 맞게 적절하게 설정하십시오.
조정 작업에 사용할 예정인 한계에 부합하는 입력 및 출력 예제를 훈련 데이터에 생성합니다. 지정된 최대 시퀀스 길이보다 긴 예제는 실험 중에 잘립니다. 예를 들어, 이 매개변수를 200으로 설정하고 훈련 데이터에 1,000개의 토큰이 있는 예제 입력이 있는 경우, 예제 입력의 처음 200개의 토큰만 사용됩니다.
시퀀스 길이에는 각 프롬프트에 대한 출력 토큰도 포함된다는 것을 기억하십시오. 즉, 이 설정은 튜닝 실험 중에 모델이 출력으로 생성할 수 있는 토큰의 수를 제어합니다.
로우랭크 적응 구성( LoRA 미세 조정 전용)
LoRA 미세 조정 실험의 경우에만 다음 조정 실험 매개변수를 조정할 수 있습니다:
alpha
: 기본 모델 가중치에 추가할 때 어댑터 가중치 변경에 적용할 승수를 결정합니다. 알파 값을 순위 값으로 나누어 적용할 가중치 변경 비율을 계산합니다. 예를 들어 알파가 2이고 순위가 8이면 어댑터 가중치가 모델 가중치에 추가되기 전에 1/4 또는 25% 감소합니다. 결과 값은 추가된 가중치가 얼마나 영향을 미칠지 제어합니다. 이 설정은 학습 속도와 유사한 기능을 하므로 실험하는 동안 하나 또는 다른 설정만 조정할 수 있습니다.dropout
: LoRA 어댑터 매개변수 중 일부의 가중치를 임의로 0으로 초기화합니다. 재설정할 가중치의 백분율을 나타내는 소수점 값을 지정합니다(예: 10%의 경우 0.1 ). 드롭아웃은 모델이 특정 학습 데이터 세트에 응답하도록 학습했지만 새로운 입력에 예상대로 응답하도록 학습을 일반화할 수 없을 때 발생하는 과적합을 방지하는 데 도움이 됩니다.rank
: 기본 모델 행렬에서 행렬 분해 계산을 수행할 때 사용할 순위입니다. 숫자가 낮을수록 어댑터에서 조정할 수 있는 학습 가능한 매개변수가 적기 때문에 작업이 더 빨라집니다. 숫자가 낮을수록 원래 모델 파라미터 가중치에 대한 충실도가 낮아질 가능성도 있습니다. 기초 모델에 학습시키려는 작업이 기본 기초 모델이 이미 수행할 수 있는 작업과 상반되거나 완전히 새로운 작업인 경우 더 높은 숫자를 사용합니다. 허용되는 최대 값은 64입니다.target_modules
: 튜닝 중에 낮은 등급의 어댑터를 추가하려는 기본 파운데이션 모델의 레이어입니다. 선택사항에는 다음이 포함됩니다.["all-linear"]
: 출력 레이어를 제외한 모든 선형 및 1차원 컨볼루션 신경망 레이어를 선택합니다. 이 옵션은 모든 디코더 전용 모델에서 작동합니다.[]
(빈 배열): 모델 아키텍처에 지정된 기본값에 어댑터를 추가합니다.["$layer-name", "$layer-name"]
: 레이어의 하위 집합을 나열합니다. 레이어 이름은 모델 아키텍처에 따라 다릅니다. 파운데이션 모델 아키텍처의 모델 레이어 표를 참조하세요.
type
: 다음 옵션 중 하나를 지정합니다:lora
: 낮은 순위의 적응 미세 조정 실험을 실행합니다. 이 유형은 정량화되지 않은 파운데이션 모델에만 적용할 수 있으며 인스트럭션이 조정되지 않은 기본 파운데이션 모델과 가장 잘 작동합니다.qlora
: 양자화 로우랭크 적응 미세 조정 실험을 실행합니다. 이 유형은 정량화된 파운데이션 모델에만 적용할 수 있습니다.none
: 전체 미세 조정 실험을 실행합니다. 없음이 기본값입니다.
기본 파운데이션 모델 아키텍처 | 레이어 | 기본적으로 타겟팅되는 레이어 |
---|---|---|
라마류 | [down_proj, up_proj, gate_proj, q_proj, k_proj, v_proj, o_proj] |
["q_proj", "v_proj"] |
그래닛 | [down_proj, up_proj, gate_proj, q_proj, k_proj, v_proj, o_proj] |
["q_proj", "v_proj"] |
프롬프트 초기화하기(프롬프트 튜닝만 해당)
프롬프트 튜닝 실험을 만들 때 초기 프롬프트 벡터로 사용할 텍스트를 직접 지정할지 아니면 실험에서 자동으로 생성되도록 할지를 선택할 수 있습니다. 이러한 새 토큰은 무작위 위치에서 또는 텍스트에서 지정하는 어휘 또는 명령어의 임베드를 기반으로 훈련 프로세스를 시작합니다. 연구에 따르면 기본 모델의 크기가 100억 개의 매개변수를 초과하여 증가함에 따라 사용되는 초기화 방법이 덜 중요하게 됩니다.
튜닝 실험을 작성할 때 선택하는 선택사항은 프롬프트가 초기화되는 방법을 사용자 정의합니다.
초기화 메소드: 다음 옵션에서 메소드를 선택하십시오.
- 텍스트: 프롬프트 튜닝 방법은 프롬프트의 초기화 텍스트를 직접 지정하는 데 사용됩니다.
- 무작위: 프롬프트 튜닝 방법을 사용하여 실험에서 프롬프트에 포함하도록 무작위로 선택된 값을 추가할 수 있습니다.
초기화 텍스트: 추가할 텍스트입니다. 제로 샷 (zero-shot) 프롬프트에 사용하는 것과 유사한 태스크 설명 또는 지시사항을 지정하십시오.
자세히 알아보기
상위 주제: 모델 조정