AI 모델 개발: 성능 분석 – PyTorch 프로파일링

ㅁ 성능 분석 1. PyTorch 프로파일링 ㅇ 정의: PyTorch 모델 학습 및 추론 과정에서 연산별 시간, 메모리 사용량, GPU 활용도 등을 수집·분석하는 기능으로, 병목 지점을 식별하고 최적화 방향을 찾기 위해 사용됨. ㅇ 특징: – torch.profiler 모듈을 통해 CPU/GPU 연산별 소요 시간과 호출 빈도를 기록 가능 – TensorBoard나 Chrome Trace Viewer로 시각화 지원 – 단계별(스텝별) 프로파일링,

AI 모델 개발: 성능 분석 – Python 테스트 도구

ㅁ 성능 분석 1. Python 테스트 도구 ㅇ 정의: Python 코드의 기능 검증, 성능 측정, 버그 탐지를 위해 사용하는 다양한 테스트 및 분석 도구. ㅇ 특징: – 단위 테스트부터 통합 테스트까지 다양한 범위 지원 – 성능 프로파일링, 커버리지 측정 가능 – pytest, unittest, doctest, cProfile, line_profiler 등 다양한 라이브러리 존재 – 자동화된 테스트 실행 및

AI 모델 개발: 추적 및 재현성 – 버전 관리

ㅁ 추적 및 재현성 ㅇ 정의: 실험 과정에서 사용된 데이터, 코드, 모델, 하이퍼파라미터, 환경 설정 등을 기록하고 관리하여 동일한 결과를 재현할 수 있도록 하는 관리 활동. ㅇ 특징: – 실험 단계별 변경 이력을 기록하여 비교 가능 – 협업 시 실험 상태 및 결과를 공유 가능 – 재현 가능한 환경 설정(패키지 버전, OS 환경 등) 포함

AI 모델 개발: 추적 및 재현성 – 하이퍼파라미터 관리

ㅁ 추적 및 재현성 ㅇ 정의: 머신러닝/딥러닝 모델 학습 시 사용한 하이퍼파라미터 값을 체계적으로 기록·관리하여 동일한 실험을 재현할 수 있도록 하는 절차와 도구. ㅇ 특징: – 학습률, 배치 크기, 에포크 수, 정규화 계수 등 모델 학습에 영향을 주는 설정값을 포함. – 실험 로그, 코드 버전, 데이터셋 버전과 함께 관리하면 재현성 향상. – MLflow, Weights &

AI 모델 개발: 추적 및 재현성 – 실험 추적

ㅁ 추적 및 재현성 ㅇ 정의: 머신러닝/딥러닝 모델 개발 과정에서 실험의 파라미터, 데이터셋 버전, 코드, 환경설정, 결과 등을 기록하여 동일 조건에서 재실행이 가능하도록 하는 관리 활동. ㅇ 특징: – 실험의 입력(데이터, 코드, 하이퍼파라미터)과 출력(모델 가중치, 성능 지표)을 모두 기록 – 버전 관리 도구(Git) 및 실험 관리 도구(MLflow, Weights & Biases 등)와 연계 가능 – 협업

AI 모델 개발: 추적 및 재현성 – Weights & Biases

ㅁ 추적 및 재현성 ㅇ 정의: 머신러닝 실험의 파라미터, 데이터셋 버전, 모델 아키텍처, 성능 지표 등을 체계적으로 기록하고 관리하여 동일 조건에서 재실행이 가능하도록 하는 과정. ㅇ 특징: – 실험 로그, 메트릭, 아티팩트(모델 파일, 데이터 샘플 등)를 중앙화된 플랫폼에 저장 – 협업 환경에서 실험 결과를 시각적으로 비교 가능 – 재현성 확보를 위해 코드 버전과 환경 정보까지

AI 모델 개발: DNN 및 최신 모델 – Vision Transformer

ㅁ DNN 및 최신 모델 ㅇ 정의: – Vision Transformer(ViT)는 이미지 분류 등 시각 인식 작업에 Transformer 구조를 적용한 모델로, 이미지를 패치 단위로 나누어 순차 데이터처럼 처리한다. ㅇ 특징: – CNN 대신 self-attention 메커니즘을 활용하여 전역 문맥 정보를 효율적으로 학습. – 이미지 입력을 동일 크기의 패치로 분할 후, 각 패치를 벡터로 변환하여 시퀀스로 처리. –

AI 모델 개발: DNN 및 최신 모델 – PyTorch Lightning

ㅁ DNN 및 최신 모델 ㅇ 정의: PyTorch Lightning은 PyTorch 기반의 고수준 딥러닝 프레임워크로, 모델 학습 코드와 엔지니어링 코드를 분리하여 가독성과 재사용성을 높여주는 경량 래퍼 라이브러리이다. ㅇ 특징: – 모델 정의, 데이터 로딩, 학습 루프 등을 구조적으로 분리 – 분산 학습, mixed precision, 체크포인트 저장 등의 기능을 최소한의 코드 변경으로 지원 – 연구와 프로덕션 환경

AI 모델 개발: DNN 및 최신 모델 – ResNet

ㅁ DNN 및 최신 모델 ㅇ 정의: 심층 신경망(DNN)의 일종으로, 잔차 학습(Residual Learning) 구조를 도입하여 매우 깊은 네트워크에서도 학습이 가능하도록 한 모델. ㅇ 특징: – Skip Connection(잔차 연결)을 통해 기울기 소실(Vanishing Gradient) 문제를 완화. – 50, 101, 152층 등 매우 깊은 구조에서도 학습 안정성 확보. – ImageNet 대회에서 높은 성능 기록. ㅇ 적합한 경우: –

데이터 전처리: 도구 및 기법 – Weak Supervision(Snorkel)

ㅁ 도구 및 기법 ㅇ 정의: 약한 감독(Weak Supervision)은 완전한 정답 레이블 없이 불완전하거나 노이즈가 있는 다양한 소스(휴리스틱 규칙, 외부 데이터베이스, 크라우드소싱 등)로부터 라벨을 생성하여 학습 데이터를 만드는 기법이며, Snorkel은 이를 자동화하고 통합하는 대표적인 오픈소스 프레임워크이다. ㅇ 특징: – 수작업 라벨링 비용을 절감하고 대규모 데이터셋을 빠르게 구축 가능 – 라벨링 함수(Labelling Function)를 통해 규칙, 모델