2025/04 5

pytorch에서 tensor 타입 변경에 따른 training time과 memory의 trade-off

제목에 영어가 참 많다.. 이러기 싫은데, 억지스럽지 않게 한글로 표현하기가 너무 어렵다.우선 해당 상황은 pytorch를 이용하여 복소수 신경망(CVNN, CVCNN)을 구현하는 중 발생했다.complex를 사용하는 경우가 아니라면 아래와 같은 형 변환을 할 일도, 이유가 많지 않기 때문에 이 trade off는 좀 특수한 케이스일 것이라고 생각된다. 다만 이 문제로 많은 고생을 하였기에 혹시나 싶은 마음에 아래 글을 남겨둔다.복소수 신경망 모델을 구현하고 학습하는 과정에서 GPU 메모리 피크 사용량이 과도하게 증가하는 문제가 발생하였다. 이에 대한 원인을 분석하고 코드 차원에서 메모리 효율을 개선하기 위한 작업을 수행하였다. 결과적으로 메모리 사용량은 줄어들었지만, 학습 시간이 증가하는 현상이 발생하..

AI 2025.04.30

SSH 세션이 끊겨도 프로세스가 끊기지 않게 하려면..

1. 실행 전에 준비했다면 nohup세션이 끊겨도 job이 계속 실행됨. 출력은 파일로 리다이렉션하는 것이 일반적이다.nohup your_command > output.log 2>&1 & tmux (또는 screen)가상 터미널 세션을 생성해서 그 안에서 job을 실행하면, SSH 세션이 끊겨도 job이 살아 있고, 나중에 다시 접속해서 제어 가능.tmux # 세션 시작python train.py # job 실행[Ctrl + B] → D # 세션 분리(detach)# 재접속 후tmux attach # 세션 재접속(attach)위는 tmux의 예시, 아래는 screen의 예시이다.screen # 세션 시작py..

연구실 2025.04.30

Quantization: 딥러닝 경량화를 위한 정밀 이론과 적용 사례

딥러닝 모델이 점점 대형화됨에 따라, 모델을 경량화하는 기술은 선택이 아니라 필수가 되었다.그중에서도 **Quantization(양자화)**는 가장 널리 쓰이는 경량화 기법이다.이번 글에서는, Quantization의정확한 수학적 정의대표적인 방법별 특징Quantization 방법별 성능 비교를 다룬다.1. Quantization 수식 (현실적으로 많이 쓰이는 버전)실제 많이 사용되는 양자화 수식은 다음과 같다.Uniform Affine Quantization (Offset 포함)여기서,x : 부동소수점 입력값 (float32)s : scaling factor (양자화 단위)z : zero-point (offset, 정수화할 때 기준점 조정)qmin,qmax: 정수 표현 범위 (예: 8-bit int이면..

AI 2025.04.28

perf 사용법

1. 기본 명령어 정리1) 성능 측정명령어 실행 성능을 간략히 확인할 수 있다.perf stat 예시:perf stat python3 script.py 2) 프로파일링 데이터 기록하기성능 데이터를 기록하고 결과로 perf.data 파일을 생성한다.perf record 예시:perf record python3 script.py 3) 프로파일링 데이터 분석기록된 데이터를 분석하여 상세한 결과를 확인한다.perf report 2. perf.data 파일 분석하기 perf record 명령어로 생성된 perf.data 파일을 분석하여 성능 병목 지점을 상세히 확인할 수 있다.기본 분석:perf report함수별 상세 분석:perf report --stdio소스 코드와 연결된 분석:perf annotate 3. ..

연구실 2025.04.02

Installing and Setting up perf on NVIDIA Jetson Orin Nano

Background대충 또 젯슨이 문제라는 이야기..perf를 사용하기 위해 필요한 dependency가 있는데, 이 부분이 apt 패키지 안에 없어서 일반적인 ubuntu pc에서 사용하는 것처럼 perf를 설치할 수 없다.When trying to use perf on Jetson Orin Nano with a custom Tegra kernel (5.10.216-tegra), the standard Ubuntu repositories lack the appropriate linux-tools package. Therefore, building perf from the source specifically matching the kernel is required. 아래 글은 nvidia develope..

edge device 2025.04.02