분류 전체보기(38)
-
해시 값(Hash Value) 으로 버전 관리하기
최근 회사에서 TTA 관련 인증을 진행했다. 그 과정에서 모델 버전 관리를 위해 모델의 해시 값을 알려 달라는 TTA 담당자의 문의가 있었다. 거기서 나는 '오잉?' 했다. 해시 값이 뭐지? 그래서 나름 알아봤다. 해시 값이란? 간단하게 데이터나 파일의 지문(Fingerprint)이라고 생각하면 된다. 데이터를 고정된 길이의 고유한 값으로 변경해 변환한 결과물이다. 파일의 매우 작은 변화만 생겨도 해시 값에는 변화가 생기며, 해시 값을 데이터로 바꾸는 역산도 불가능한 단반향다. 변환 과정에서 사용하는 알고리즘은 MD5, SHA-256, SHA-1 등 암호 알고리즘과 연관이 있다. 특정 데이터에서 특정 해시값이 나오도록 하는 것은 불가능 하지만 깊이 들어가면 해킹 등의 공격으로 가능하다고도 한다. 데이터로..
2025.06.29 -
Gemma3 - 무료 멀티모달 LLM 모델 사용하기
오랜만에 블로그에 글을 업로드 한다. 최근 굉장히 바쁜일들이 이어지고 있다. 공적으로는 하나의 프로젝트 마무리 때문에 고객사에게 많은 클레임을 받고 있다. 'AI는 완벽하지 않아요!', 'AI는 사람보다 뛰어날 수 없어요!' 라는 말을 수 백번 해보았지만 통하지 않고 AI가 더 이상 AI가 아닌 하나의 알고리즘을 만들어주기 위한 고군분투를 하고 있다. 사적으로는 개인 프로젝트를 진행중이다. 수 년을 고민하던 프로젝트를 점점 가시화 하고 있다. '주식 AI 에이전트' 관련 프로젝트이고 현재는 백 테스트 진행중이며, 고도화를 진행할 예정이다. 다양한 개발자들과 소통도 하는 중이다. 이 과정에서 블로그에 투고하고 싶은 글이 많았지만 한번 떠오르면 멈추지 못하는 버릇 때문에 개발에만 집중했다. 앞으로 차근차근 ..
2025.06.29 -
JIT 컴파일과 데코레이터
서론 파이썬 코드의 가장 큰 단점 중 하나는 실행 속도라고 할 수 있다. C언어보다 쉽다는 장점이 있으나 아직까지 C언어의 속도는 따라갈 수 는 없다. 그래서 빠른 실행 속도를 요구하는 서비스에서는 아직도 C의 선호도가 압도적이다. 이런 C의 속도를 따라가기 위한 뱁새 가랑이인 JIT 컴파일러에 대해 알아 보겠다. 그리고 코드의 가독성을 높이는 데코레이터까지 추가적으로 알아보겠다. 코딩, 특히 실무에서는 속도와 가독성이 생명이니깐.왜 느린가? C는 컴파일 방식이고 파이썬은 인터프리터 방식이다. 그래서 느리다. 쉽게 말하자면 밀키트로 한 방에 요리하기 vs 재료 하나하나 다 준비해가며 요리하기의 차이라고 볼 수있다.컴파일 방식 : 코드를 한번에 기계어로 번역해서 실행.인터프리터 방식 : 코드를 한 줄 한 ..
2025.06.09 -
푸리에 변환(Fourier transform, FT)
서론딥러닝을 공부하다보면 데이터 전처리에서 심심치 않게 등장하는 것이 바로 '푸리에 변환' 이다. 우리는 그것을 이해하기 보다는 그저 특징 추출을 위한 하나의 장치로 넘어가곤 한다. numpy.fft 하면 끝나는데 알 필요가 있을까? 물론 알 필요 없다. 하지만 궁금한건 못 참는다. 바로 알아보겠다.시간과 주파수우리는 흔히 오디오 데이터나 시계열 데이터들에 푸리에 변환을 자주 적용한다. 이 둘은 시간에 따른 데이터의 흐름과 변화를 나타내는 '시간 도메인' 으로 표현된다. 시간 도메인은 흐름을 알기는 쉽지만 특징을 잡기가 어렵다.이런 시간 도메인들에서 특징을 찾기 위해 조제프 푸리에 선생님이 고안 해내신 것이 푸리에 변환이다. 시간 도메인을 주파수 도메인으로 바꿔 특징을 찾기 쉽게 해준다. 주파수 도메인을..
2025.06.02 -
NeMo Speaker Recognition(SR) 성능 올리기
서론https://catalog.ngc.nvidia.com/orgs/nvidia/teams/nemo/models/titanet_large TitaNet-L | NVIDIA NGCTitaNet model for Speaker Verification and Diarization taskscatalog.ngc.nvidia.com NVIDIA NeMo Framework에서는 오디오 관련 다양한 라이브러리를 지원한다. 특히 TitaNet을 기반으로 하는 Speaker Recognition Pretrained Model은 성능이 매우 우수 하다. 더욱이 별다른 파인튜닝 작업을 거치지 않아도 좋은 성능을 자랑 한다. 필자도 몇 번 학습을 진행했으나 유의미한 효과는 얻지 못했다. 하지만 모델을 도와줄 수 있는 알고리즘..
2025.05.25 -
파이썬에서 오디오 파일 다루기(pydub, soundfile)
서론 파이썬에는 다양한 오디오 관련 라이브러리가 있다. 필자는 주로 pydub 라이브러리를 사용한다. 사용하기 간편하고 Numpy 배열로 오디오를 불러오는 방식이 아니어서 조금 더 직관적이기 때문이다. 하지만 pydub을 꾸준히 사용하며 느낀 몇가지 단점들이 있다. 모두 Numpy 배열을 사용하지 않아 일어나는 단점이다.연산 작업을 하면 느리다.다른 작업 시 I/O가 개입되지 않으면 활용이 제한된다. 정밀한 신호 처리가 어렵다. 이러한 단점들때문에 사용하기 어려울 때가 있다. 특히 빠른 처리(실시간 환경 등)에서 오디오를 처리해야 할 때는 pydub이 성능을 떨어트린다. 그래서 soundfile 라이브러리를 사용해보려고 한다.pydub https://github.com/jiaaro/pydub GitHub..
2025.05.25