[LLM] Fine-tuning시 early stopping 적용하기
·
AI
1. Early Stopping 사용 배경 LLM 모델을 fine-tuning 하는 과정에서 loss가 줄어들다가 다시 증가해서 2 epoch가 모두 돌아갔을 때 오히려 성능이 떨어지고 있었다. 이럴 때, 기존 딥러닝 모델 학습 시 early stopping을 콜백 함수를 넣어 지정한 early_stopping_patience 가 지나면 학습을 멈추게 했었는데 사전학습된 모델을 불러와 fine-tuning할 때도 해당 기능을 쓸 수 있는지 궁금했다. LLM 모델을 fine-tuning할 때 쉽게 사용하는 클래스가 허깅페이스의 SFTTrainer와 Trainer 클래스인데 Trainer 클래스에서는 EarlyStoppingCallback 함수를 지원하지만 SFTTrainer에서는 지원하지 않는다. 2. T..
[SQL] 프로그래머스 고득점 KIT GROUP BY 문제 정답
·
Algorithm
즐겨찾기가 가장 많은 식당 정보 출력하기 SELECT B.FOOD_TYPE, B.REST_ID, B.REST_NAME, B.FAVORITES FROM ( SELECT FOOD_TYPE, MAX(FAVORITES) AS MAX_FAVORITE FROM REST_INFO GROUP BY FOOD_TYPE ) A INNER JOIN REST_INFO B ON A.FOOD_TYPE = B.FOOD_TYPE AND A.MAX_FAVORITE = B.FAVORITES ORDER BY FOOD_TYPE DESC; 조건에 맞는 사용자와 총 거래금액 조회하기 SELECT B.USER_ID, B.NICKNAME, A.PRICE_SUM FROM ( SELECT WRITER_ID, SUM(PRICE) AS PRICE_SUM ..
[Python] 조건에 해당하는 array 값 변경
·
데이터분석
dataframe 보다 numpy 배열이 훨씬 빠르기도 하고, 딥러닝 모델의 input을 위해 array로 변환하여 처리해야 하는 일이 많다. 데이터프레임에서 조건에 맞는 행을 필터링해서 값을 변경하는 것처럼 numpy 배열에서도 조건에 맞는 원소를 변경하려면 어떻게 해야 할까? 1) np.where 절로 조건에 해당하는 인덱스를 가져오기 # 예시로 사용할 배열 생성 arr = np.array([[0.1, 0.6, 0.3, 0.8, 0.2], [0.7, 0.4, 0.9, 0.2, 0.5], [0.3, 0.2, 0.6, 0.7, 0.1], [0.8, 0.1, 0.5, 0.4, 0.9]]) # 2번 열과 4번 열에서 0.5를 초과하는 값의 인덱스 가져오기 indices = np.where(arr[:, [2,..