Epoch을 3으로 설정하고 1 epoch만 훈련한 것과, Epoch을 1로 설정하고 3번 훈련한 것은 이론적으로는 동일한 데이터셋을 3번 반복 학습한 것이므로 같은 학습 과정처럼 보일 수 있습니다. 그러나 실제로는 몇 가지 차이가 있을 수 있습니다:1. 학습률 스케줄링학습률 변화: 많은 학습 스케줄링 기법에서 학습률은 epoch마다 감소하거나 변경됩니다. Epoch을 3으로 설정하고 1 epoch만 학습한 후 중단하면 학습률은 계속 초기 값을 유지하지만, Epoch을 1로 설정하고 3번 반복 학습하면 학습률이 각 epoch마다 조정될 수 있습니다. 이로 인해 모델이 학습하는 방식에 차이가 생길 수 있습니다.2. 체크포인트 저장체크포인트 저장 및 모델 복원: Epoch을 1로 설정하고 3번 훈련하는 동안..
generate_max_length와 decoder_max_len은 둘 다 텍스트 생성 작업에서 중요한 매개변수이지만, 각각의 매개변수가 사용되는 상황과 목적이 다소 다릅니다. 이 두 매개변수의 주요 차이점을 이해하기 위해 각각의 용도와 적용 범위를 자세히 살펴보겠습니다.decoder_max_len정의: decoder_max_len은 모델의 디코더 구성 요소가 처리할 수 있는 최대 토큰 수를 지정합니다. 이 매개변수는 모델의 아키텍처나 설정 단계에서 정의되며, 디코더가 생성할 수 있는 출력의 최대 길이를 제한합니다.목적: 디코더가 생성할 수 있는 최대 시퀀스 길이를 설정함으로써, 모델의 메모리 사용량과 계산 복잡성을 관리합니다. 이는 특히 학습 및 추론 시 성능 최적화에 중요합니다.적용: 이 설정은 주로..
encoder_max_len과 decoder_max_len 설정은 시퀀스 처리 작업에서 사용되는 인코더와 디코더의 최대 입력 및 출력 길이를 지정합니다. 이러한 설정은 자연어 처리(NLP) 모델에서 특히 중요하며, 모델의 인코더와 디코더 구성 요소가 처리할 수 있는 텍스트의 길이를 제한합니다.encoder_max_len: 1000정의: 인코더에서 처리할 수 있는 최대 토큰 수입니다. 이 값은 인코더가 입력 데이터를 받아들일 때 고려하는 최대 길이를 의미하며, 1000으로 설정된 경우 인코더는 최대 1000개의 토큰을 입력으로 받아들일 수 있습니다.용도: 긴 문서 또는 문장을 처리할 때 유용하며, 모델이 더 많은 컨텍스트 정보를 유지할 수 있도록 합니다. 이는 문맥이 중요한 작업(예: 문서 요약, 문맥을 ..
per_device_eval_batch_size와 per_device_train_batch_size 설정은 각각 디바이스별로 학습과 평가 단계에서 처리할 배치 크기를 지정합니다. 이러한 설정은 모델의 학습 및 평가 효율성, 메모리 사용량, 그리고 속도에 중요한 영향을 미칩니다.per_device_train_batch_size정의: 디바이스별 학습 배치 크기는 각 학습 단계에서 디바이스(일반적으로 GPU)가 동시에 처리할 샘플의 수를 의미합니다.값: 예시에서 50으로 설정되어 있음을 의미하며, 이는 각 학습 스텝에서 각 GPU가 50개의 샘플을 처리한다는 것을 나타냅니다.용도: 큰 배치 크기는 일반적으로 더 빠른 학습 진행을 가능하게 하지만, 메모리 사용량도 증가시킵니다. 또한, 너무 큰 배치 크기는 모델..
lr_scheduler_type 설정에서 cosine을 선택하는 것은 학습률 스케줄러 유형으로 코사인 감쇠 스케줄(Cosine Annealing Schedule)을 사용하겠다는 의미입니다. 이 스케줄러는 학습률을 주기적으로 조절함으로써 특정 지점에서 급격히 감소시키는 방식을 통해, 학습 과정 중에 최적의 값에 수렴할 수 있도록 돕습니다.코사인 감쇠 스케줄의 특징주기적 감소: 학습률은 시작 시 높은 값을 가지며, 학습이 진행됨에 따라 코사인 함수의 형태로 감소합니다. 이는 주기적으로 학습률이 최소값과 최대값 사이를 오가며 조절됩니다.로컬 미니마 회피: 높은 학습률로 재시작하는 과정은 모델이 로컬 미니멈(local minimum)에 갇히는 것을 방지하고, 보다 넓은 범위에서 전역 최소값(global mini..
num_beams 설정은 빔 서치(beam search) 알고리즘에서 사용할 빔의 수를 지정합니다. 빔 서치는 자연어 처리(NLP)에서 자주 사용되는 디코딩 방법 중 하나로, 특히 기계 번역, 텍스트 요약, 챗봇 응답 생성 등과 같은 시퀀스 생성 작업에서 널리 쓰입니다.빔 서치(beam search)란?빔 서치는 그리디 서치(greedy search)의 일반적인 단점인 국소 최적해(local optimum)에 갇힐 위험을 줄이기 위해 설계된 알고리즘입니다. 이 방법은 한 번에 하나의 최상의 선택을 추구하는 그리디 서치와 달리, 빔 서치는 각 단계에서 상위 k개의 가장 가능성 있는 후보들을 유지하면서 탐색을 수행합니다. 여기서 k는 빔의 크기로, num_beams로 설정됩니다.num_beams의 역할탐색 ..
no_repeat_ngram_size 설정은 생성된 텍스트에서 반복되는 n-gram의 크기를 제한하는 기능입니다. 이 설정은 특히 자동 텍스트 생성 모델에서 중요한 역할을 하며, 모델이 반복적인 내용을 줄이도록 돕습니다. 여기서 n-gram은 연속된 n개의 단어를 의미합니다.no_repeat_ngram_size의 역할반복 방지: 이 설정을 사용하면 모델이 특정 크기의 n-gram을 문장 내에서 한 번만 사용하도록 제한합니다. 예를 들어 no_repeat_ngram_size를 2로 설정하면, 어떤 두 단어의 조합도 텍스트 내에서 한 번만 나타나야 합니다. 이는 생성된 내용에서 단어의 반복적 사용을 줄이는 데 도움을 줍니다.내용의 다양성 증가: 반복을 제한함으로써 텍스트의 다양성과 창의성을 향상시킬 수 있습..
fp16 (16-bit floating point)와 int8 (8-bit integer)는 NLP 모델을 포함한 머신러닝 모델에서 주로 모델의 연산 속도를 개선하고 메모리 사용량을 줄이기 위해 사용되는 데이터 형식입니다. 이러한 기법을 모델 정밀도 감소(model quantization) 또는 **하위 정밀도 연산(lower-precision computation)**이라고 합니다. 각각의 데이터 타입이 모델 운영에 미치는 영향을 살펴보겠습니다:fp16 (16-bit Floating Point)메모리 절감: fp16은 표준 fp32 (32-bit floating point) 데이터 타입에 비해 메모리 사용량을 대략 절반으로 줄여줍니다. 이는 모델이 사용하는 메모리 양을 줄여주기 때문에 더 큰 모델을 동..
- Total
- Today
- Yesterday
- Github
- Numpy
- #패스트캠퍼스 #UpstageAILab #Upstage #부트캠프 #AI #데이터분석 #데이터사이언스 #무료교육 #국비지원 #국비지원취업 #데이터분석취업 등
- speaking
- 해시
- Array
- recursion #재귀 #자료구조 # 알고리즘
- 코딩테스트
- 오블완
- LLM
- t5
- Hugging Face
- 리스트
- nlp
- clustering
- 티스토리챌린지
- RAG
- LIST
- classification
- #패스트캠퍼스 #패스트캠퍼스ai부트캠프 #업스테이지패스트캠퍼스 #upstageailab#국비지원 #패스트캠퍼스업스테이지에이아이랩#패스트캠퍼스업스테이지부트캠프
- Transformer
- git
- PEFT
- cnn
- 손실함수
- English
- Python
- #패스트캠퍼스 #패스트캠퍼스AI부트캠프 #업스테이지패스트캠퍼스 #UpstageAILab#국비지원 #패스트캠퍼스업스테이지에이아이랩#패스트캠퍼스업스테이지부트캠프
- Lora
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |