영-한 번역 모델을 만들어보고 있는데, 데이터셋 검증을 제대로 하지 않아 시간을 많이 날렸다.
대충 봐선 몰랐는데, 데이터셋을 하나하나 보니까 번역이 이상한 데이터셋...
https://huggingface.co/datasets/msarmi9/korean-english-multitarget-ted-talks-task
아니면 이런건 아예 컬럼이 없고 데이터만 딸랑 존재했다. (전처리의 귀찮음)
https://huggingface.co/datasets/bongsoo/news_talk_ko_en
데이터셋이 GB 단위로 넘어가면 로드에 매우 오랜 시간이 걸린다.
# 데이터셋 저장 경로 설정
processed_train_dataset_path = os.path.join(log_dir, "tokenized_train_dataset")
processed_eval_dataset_path = os.path.join(log_dir, "tokenized_eval_dataset")
# 전처리된 데이터셋이 이미 저장되어 있는지 확인하고, 있으면 불러오기
if os.path.exists(processed_train_dataset_path) and os.path.exists(processed_eval_dataset_path):
logging.info("Loading preprocessed datasets from disk...")
tokenized_train_dataset = load_from_disk(processed_train_dataset_path)
tokenized_eval_dataset = load_from_disk(processed_eval_dataset_path)
else:
logging.info("Preprocessing datasets...")
tokenized_train_dataset = train_dataset.map(
preprocess_function,
batched=True,
remove_columns=train_dataset.column_names,
)
tokenized_eval_dataset = eval_dataset.map(
preprocess_function,
batched=True,
remove_columns=eval_dataset.column_names,
)
tokenized_train_dataset.save_to_disk(processed_train_dataset_path)
tokenized_eval_dataset.save_to_disk(processed_eval_dataset_path)
그 때 이런 식으로, 저장했다가 불러오면 혹시 재학습을 하더라도 빠르게 진행이 가능하다.
'개발일기' 카테고리의 다른 글
1년간 1일 1커밋을 했다 (0) | 2024.06.26 |
---|---|
열심히 사는 사람 (1) | 2024.06.04 |
[Next] 간단한 룩업테이블 리팩토링 실전 예시 (0) | 2024.05.28 |
[AWS] ACM 갑자기 안됐던 이유 / 도메인 인증 기간 (0) | 2024.05.15 |
결국 Terraform으로 정착 (0) | 2024.03.18 |
댓글