✅ 오늘 한 것
최종 프로젝트
✏️ 오늘 배운 점
단백질 임베딩 추출 최적화 및 서열 분포 분석
1. A100 GPU 환경에서의 모델 로드 최적화
- 문제: 기본 로드 방식(float32)은 A100의 Tensor Core 가속을 활용하지 못해 연산 속도가 느리고 VRAM 효율이 떨어짐.
- 해결: torch_dtype=torch.float16 설정을 추가하여 FP16 정밀도로 로드.
- 효과: 연산 속도 약 3~5배 향상 및 메모리 사용량 50% 절감.
2. 에피토프 중심 기준 고정 길이(16자) 슬라이싱
- 문제: 가변적인 에피토프 길이를 딥러닝 모델 입력에 맞게 통일해야 함.
- 해결: 에피토프의 정중앙(Center) 인덱스를 계산하여 앞뒤로 8자씩 슬라이싱하는 로직 구현.
- 특이사항: 윈도우가 항원(Antigen) 서열의 시작이나 끝을 벗어날 경우, 슬라이딩 윈도우 방식으로 부족한 길이를 채워 무조건 16자가 되도록 보정.
3. 대용량 임베딩 추출 루프 가속 (Extract Embeddings)
- Batch Size 최적화: A100의 대용량 VRAM을 활용하기 위해 batch_size를 1에서 64~128로 상향 조정.
- Mean Pooling: last_hidden_state에서 어텐션 마스크를 고려한 평균값 추출 로직 적용.
- 정밀도 일치: 모델이 half() 모드일 때 입력 마스크 등 연산용 텐서도 float16으로 맞춰 연산 오류 방지.
4. 서열 길이 분포 분석 및 시각화 (EDA)
- 분포 분석: 에피토프 서열(epitope_seq)의 최소/최대/평균 길이를 파악하여 데이터 건전성 확인.
- 커스텀 히스토그램:
- 1~32자 구간은 8자 단위로 세밀하게 분석.
- 33자 이상의 긴 서열은 광범위하게 그룹화하여 시각적 가독성 확보.
✏️ 오늘의 질문
1. Label 불균형의 처리 방법은 무엇이 있나요?
모델 자체의 class weight를 조절하는 파라미터 확인, 데이터 증강 방법 도입
📌추가로 해야 할 점
최종 프로젝트
'품질관리(QAQC) 데이터 부트캠프(본캠프)' 카테고리의 다른 글
| 본캠프_17주차(목)_TIL(최종 프로젝트) (0) | 2026.01.08 |
|---|---|
| 본캠프_17주차(수)_TIL(최종 프로젝트) (0) | 2026.01.07 |
| 본캠프_17주차(월)_TIL(최종 프로젝트) (0) | 2026.01.05 |
| 본캠프_16주차(금)_TIL(최종 프로젝트) (0) | 2026.01.02 |
| 본캠프_16주차(수)_TIL(최종 프로젝트) (0) | 2025.12.31 |