Popular Posts

[Docker] (1) 도커 개념 설명 | 도커는 왜 사용하는 걸까?
·
Docker & Kubernetes
Docker 전체 포스팅 더보기 [Docker] (1) 도커 개념 설명 | 도커는 왜 사용하는 걸까? [Docker] (2) 도커 & 도커컴포즈 다운로드 [Docker] (3) 도커 핵심 개념 - 이미지, 컨테이너, 도커 허브 [Docker] (4) docker pull(이미지 다운로드) & docker run(컨테이너 생성/실행) & 포트포워딩(포트매핑) [Docker] (5) 도커 run 명령어 옵션, 도커 컨테이너가 종료되지 않게 하는 방법 [Docker] (6) 도커 컨테이너로 접속하기 - docker exec & docker attach [Docker] (7) 도커 volume(볼륨) 옵션 - 컨테이너 폴더와 호스트 폴더 연결하기 [Docker] (8) 도커 commit(커밋) & push(푸시..
[Object Detection] 누구나 쉽게 따라할 수 있는 YOLOv5 모델 학습하기 | 커스텀 데이터 | YOLOv5 예제 코드
·
Computer Vision
안녕하세요! AI & Computer Vision Engineer 뭅즤입니다 👋 본 포스팅은 YOLOv5를 커스텀 데이터셋으로 학습 및 테스트해 보는 예제 코드를 설명하는 글인데요.처음 글을 작성했을 때보다 훨씬 더 쉽게 실습할 수 있도록 수정했으니, 참고 부탁드려요! 🤗📌 Object Detection  Object Detection(객체 검출)은 이미지나 동영상 속에 있는 여러 객체의 유형과 위치를 알아내는 기술이에요. 이 기술 덕분에 자율주행 자동차가 주변의 사람이나 차량을 인식하고, 보안 카메라가 의심스러운 물체를 감지하거나, 스마트폰 카메라가 사진 속의 특정 물체에 초점을 맞출 수 있는 거라고 볼 수 있죠! 객체 검출하면 많은 분들이 떠올리는 대표적인 모델이 바로 YOLO 모델일 거예요. ..
[Docker] (9) Dockerfile(도커파일) - 스마트하게 도커 이미지를 빌드하는 방법
·
Docker & Kubernetes
Docker 전체 포스팅 더보기 [Docker] (1) 도커 개념 설명 | 도커는 왜 사용하는 걸까? [Docker] (2) 도커 & 도커컴포즈 다운로드 [Docker] (3) 도커 핵심 개념 - 이미지, 컨테이너, 도커 허브 [Docker] (4) docker pull(이미지 다운로드) & docker run(컨테이너 생성/실행) & 포트포워딩(포트매핑) [Docker] (5) 도커 run 명령어 옵션, 도커 컨테이너가 종료되지 않게 하는 방법 [Docker] (6) 도커 컨테이너로 접속하기 - docker exec & docker attach [Docker] (7) 도커 volume(볼륨) 옵션 - 컨테이너 폴더와 호스트 폴더 연결하기 [Docker] (8) 도커 commit(커밋) & push(푸시..
[Docker] (11) 도커 컨테이너와 vscode 연동하기 | 도커 컨테이너에서 개발
·
Docker & Kubernetes
Docker 전체 포스팅 더보기 [Docker] (1) 도커 개념 설명 | 도커는 왜 사용하는 걸까? [Docker] (2) 도커 & 도커컴포즈 다운로드 [Docker] (3) 도커 핵심 개념 - 이미지, 컨테이너, 도커 허브 [Docker] (4) docker pull(이미지 다운로드) & docker run(컨테이너 생성/실행) & 포트포워딩(포트매핑) [Docker] (5) 도커 run 명령어 옵션, 도커 컨테이너가 종료되지 않게 하는 방법 [Docker] (6) 도커 컨테이너로 접속하기 - docker exec & docker attach [Docker] (7) 도커 volume(볼륨) 옵션 - 컨테이너 폴더와 호스트 폴더 연결하기 [Docker] (8) 도커 commit(커밋) & push(푸시..
[AI/LLM] Transformer Attention 이해하기: Q, K, V의 역할과 동작 원리
·
NLP & LLM
LLM하면 transformer를 빼먹을 수 없고, 그 핵심 중 하나는 바로 어텐션 메커니즘인데요, 이 메커니즘을 이해하면 트랜스포머가 어떻게 단어들 간의 관계를 학습하고 문맥을 파악하는지 알 수 있어요. 특히, 트랜스포머에서 사용되는 Query (Q), Key (K), Value (V)는 어텐션이 어떻게 작동하는지 이해하는 데 아주 중요한 역할을 해요. 오늘은 이 세 가지 요소가 어떻게 서로 작용하는지, 그리고 트랜스포머의 인코더와 디코더에서 각각 어떻게 사용되는지에 대해 설명해 볼거예요. 📌 Q, K, V 개념 살펴보기 Transformer Attention에서의 Query (Q), Key (K), Value (V)는 단어 간의 연관성을 파악하고, 중요한 정보를 뽑아내는 역할을 해요. 각 단어는 문..
[Linux] Bash Shell 설명 | 자주 사용하는 bash 명령어 정리 | 리눅스 명령어
·
etc.
Bash ?  Bash는 Unix 계열 운영체제에서 사용되는 명령 줄 인터페이스(Command Line Interface, CLI)를 위한 쉘(shell)이다. Bash는 "Bourne Again SHell"의 약자로서, Stephen Bourne 쉘(sh)을 기반으로 개발되어 Unix, Linux, macOS 등에서 기본 쉘로 많이 사용됩니다. *쉘은 사용자가 명령어를 입력하고 운영체제와 상호작용하는 환경을 제공하는 프로그램이다 Bash는 다양한 기능을 제공하며, 주로 다음과 같은 역할을 수행한다.명령어 실행: 사용자는 Bash 쉘에서 다양한 명령어를 입력하여 파일을 생성, 수정, 삭제하거나 프로그램을 실행할 수 있음파일 시스템 탐색: Bash는 디렉토리를 변경하고 파일 및 폴더를 확인하는 등의 파일 ..

Latest posts

[Gen AI] Diffusion Transformer (DiT) 완벽 이해하기!
·
Generative AI
1. 인트로1.1 트랜스포머의 영향최근 딥러닝에서는 자연어 처리에서 GPT, BERT 같은 트랜스포머가 사실상 표준이 되었고, 이미지 분류에서도 ViT(Vision Transformer)가 ResNet을 대체하는 흐름을 보이고 있다. 하지만 이상하게도 이미지 생성 분야, 특히 diffusion 기반 모델에서는 해당 논문이 발표되기 전까진 convolutional U-Net이 널리 쓰이고 있다.1.2 diffusion에서 왜 아직도 U-Net인가?Stable Diffusion, DALL·E 2 같은 유명한 생성 모델들도 모두 noise를 점진적으로 제거하는 neural network로 U-Net을 사용한다. diffusion process에서 timestep마다 노이즈를 제거하는 ε_θ(x_t)을 예측할 ..
[Gen AI] Diffusion 모델 샘플링 & 학습 트릭 정리
·
Generative AI
1. 샘플링(Sampling) 방법1.1 DDIMDDIM(Denoising Diffusion Implicit Models)은 DDPM의 stochastic sampling을 deterministic 방식으로 바꿔 적은 step으로도 고품질 샘플을 생성할 수 있게 한다.DDPM은 noise를 거슬러 올라갈 때 매 step에 randomness가 들어가지만, DDIM은 deterministic trajectory를 따라간다.즉, DDIM은 한 스텝에 더 크게 노이즈를 벗겨내도 trajectory가 깨지지 않아서 더 적은 스텝으로도 좋은 품질의 이미지를 만들 수 있는 것이다.DDPM이 보통 1000 step을 필요로 하는데 DDIM은 50~100 step 정도로도 좋은 품질을 낼 수 있다.예시: Stable ..
DeepSpeed 완벽 이해하기!
·
Distributed Training
1. DeepSpeed란?DeepSpeed는 Microsoft에서 개발한 대규모 분산 학습 최적화 라이브러리이다. 기존의 PyTorch DDP만으로는 학습하기 어려운 수십억~수백억 파라미터 모델을 효율적으로 학습시키기 위해 등장했다. GPU 메모리를 절약하고 학습 속도를 높이기 위한 ZeRO 최적화, Mixed Precision, Offloading, Pipeline/Tensor 병렬화 등 다양한 기법을 통합적으로 제공하는 것이 특징이다. PyTorch 기반으로 작동하며 사용법과 통합이 용이하다. 2. 주요 특징2.1 ZeRO (Zero Redundancy Optimizer)DeepSpeed의 핵심 기능이다. 파라미터, 그라디언트, 옵티마이저 상태를 GPU끼리 분산(shard)해 GPU 메모리 사용량을 ..
PyTorch FSDP (Fully Sharded Data Parallel) 완벽 이해하기!
·
Distributed Training
1. FSDP(Fully Sharded Data Parallel)이란?1.1 FSDP 개념FSDP는 PyTorch에서 제공하는 고급 분산 학습 기법으로, 모델의 모든 파라미터를 GPU마다 복제하는 기존 DDP 방식과 달리, 모델의 파라미터를 GPU끼리 shard(조각) 단위로 나누어 저장하는 방식이다. 이를 통해 GPU 메모리 사용량을 대폭 절약할 수 있다. FSDP는 GPU마다 모델 전체가 아닌 일부 shard만 저장하고, forward 및 backward 연산 시 필요한 파라미터를 GPU 간에 서로 교환(all-gather)하여 연산을 수행한 후 다시 shard로 분산 저장(reduce-scatter)하는 방식으로 동작한다. 1.2 DDP vs FSDP 차이구분DDPFSDP모델 파라미터각 GPU가 전..
PyTorch 분산 학습 기초: 데이터 병렬화, 모델 병렬화, 파이프라인 병렬화
·
Distributed Training
딥러닝 모델이 점점 커지고 데이터도 방대해지면서, 단일 GPU나 서버만으로는 학습 속도가 너무 느리거나 GPU 메모리가 부족해 학습이 불가능해진다. 이를 해결하기 위해 여러 GPU를 동시에 활용해 모델을 학습시키는 것이 바로 분산 학습이다.1. 분산 학습 종류1.1 데이터 병렬화(Data Parallelism)[전체 데이터] → [분할된 미니배치1] → GPU0 (모델 복제) → [분할된 미니배치2] → GPU1 (모델 복제) → [분할된 미니배치3] → GPU2 (모델 복제)[각 GPU] → forward & backward → all-reduce → 동기화 → 파라미터 업데이트 가장 보편적으로 사용되는 방식이다. 동일한 모델을 여러 GPU에 복제하고, 미니배치 ..
GPU 클러스터: SuperPOD와 Slurm의 개념과 활용법
·
Distributed Training
📌 GPU 클러스터란 무엇인가? GPU 클러스터는 여러 대의 GPU 서버를 고속 네트워크로 연결하여 하나의 시스템처럼 사용하는 컴퓨팅 환경이다. 최근 AI 모델들은 규모가 점점 커지고 복잡해지고 있어, 단일 GPU만으로는 효율적인 학습이 어려워졌다. 이때 GPU 클러스터는 여러 GPU의 자원을 동시에 활용하여 빠르고 효과적으로 AI 모델을 학습할 수 있도록 한다.예를 들어, OpenAI의 GPT-4나 Meta의 LLaMA와 같은 초거대 모델들은 수백에서 수천 개의 GPU를 동시에 활용하여 학습된다. 이러한 초거대 모델 학습 환경이 바로 GPU 클러스터 환경이다. 📌 NVIDIA SuperPOD란? NVIDIA SuperPOD는 NVIDIA가 제공하는 초고성능 GPU 클러스터 시스템이다. 일반적인 GP..