강의 주제
개발 환경 및 도구 사용법
1.
개발 환경:
•
PyCharm과 VSCode 설치 및 사용법
◦
특히 VSCode 로의 전환을 위한 몇 가지 가이드
•
가상환경 설정 (특히 python, venv, conda, pyenv 등)
•
Docker 및 컨테이너화 기술:
◦
Docker 기본 명령어 (build, run, exec)
◦
Docker Compose 사용법
◦
GPU와 Docker 통합 설정 (nvidia-docker, nvidia-container-toolkit)
•
코드 스타일 가이드와 자동화 (PEP 8, black, isort)
2.
Git 및 버전 관리:
•
Git 기본 명령어 (add, commit, push, pull, branch)
•
Git 워크플로우
•
Git에서 충돌 해결 및 머지/리베이스 사용법
3.
GitHub CI/CD (이정도 수준까지 필요할까):
•
GitHub Actions 개념과 사용법
•
워크플로우 파일 작성법 (.yml 구조)
•
자동화된 테스트, 빌드, 배포 파이프라인 구축
•
Docker와 CI/CD 통합 워크플로우 작성
•
Python 프로젝트를 위한 테스트 (pytest, unittest) 및 린팅 자동화
4.
SSH 및 원격 서버 사용:
•
SSH 키 생성과 포트 관리
•
원격 서버 접속 및 파일 전송 (scp,sftp/ftp ,rsync)
•
터미널 세션 유지 (tmux, screen)
•
원격 서버 설정 (방화벽, 사용자 권한 관리)
5.
리눅스 기본 사용법:
•
파일 및 디렉토리 관리 (ls, cd, mv, rm, find, grep)
•
프로세스 관리 (top, htop, ps, kill)
•
네트워크 관리 (ping, curl, wget)
•
Bash 스크립트 작성 ⇒ 솔직히 요즘은 GPT 쓰자
프로그래밍 및 딥러닝 프레임워크
1.
딥러닝 라이브러리:
•
PyTorch 및 TensorFlow 기본 사용법
•
JAX/Flax의 특징과 활용법
•
ONNX 활용 (모델 변환 및 배포)
2.
병렬 및 분산 프로그래밍:
•
Python의 병렬 프로그래밍 (multiprocessing, concurrent.futures) 간단소개
•
딥러닝 모델 분산 학습 (Horovod, DDP, 특히 DeepSpeed)
연구 및 데이터 관리
1.
데이터 전처리 및 관리:
•
데이터셋 처리 (pandas, numpy, scikit-learn)
•
데이터 시각화 (matplotlib, seaborn, plotly)
•
대규모 데이터셋 관리 및 샘플링
2.
실험 추적 및 관리:
•
실험 관리 도구 (wandb, MLflow, TensorBoard)
•
모델 성능 시각화 및 비교
3.
보안 교육:
•
데이터 및 연구 리소스 보안
•
암호화 기술 (OpenSSL, GPG)
•
서버 보안 규칙 사항
학술 활동 및 연구 역량 강화
1.
논문 작성 및 연구 윤리:
•
LaTeX 기본 사용법
◦
overleaf 의 흥망
◦
TexLive 설치 및 github와 integration
•
논문 관리 도구 (Zotero, Mendeley)
•
word 작성시
◦
Mendeley
•
연구 윤리 및 데이터 공개 정책
2.
그림 그리기:
•
Jupyter Notebook 기반 논문 이미지 제작
•
슬라이드를 통한 그림 만들기 및 편집
•
GIMP or adobe illustrator
아래는 선수 조건이 많아서 조금 나중에 진행될 예정입니다.
컴퓨팅 리소스 관리 (가능할 지 모르겠음)
1.
Slurm 작업 스케줄러:
•
Slurm 명령어 (sbatch, squeue, scancel)
•
GPU/CPU 리소스 요청 및 관리
•
Slurm 스크립트 작성법
2.
클라우드 컴퓨팅 및 클러스터 관리:
•
AWS/GCP/Azure 등 클라우드 플랫폼 사용법
•
클라우드 인스턴스 설정과 최적화
•
클러스터 환경 설정 및 관리 (Kubernetes 개념 포함)
고급 주제
1.
AI 최적화 및 효율성 향상:
•
모델 프로파일링 (nvprof, PyTorch Profiler)
•
GPU 메모리 최적화 및 디버깅 (torch.cuda)
2.
AutoML 및 Neural Architecture Search (NAS):
•
Hyperparameter Optimization (Optuna, Ray Tune)
•
NAS의 기본 개념과 활용
3.
AI 시스템 배포:
•
Docker 기반 배포 파이프라인