본문 바로가기
728x90
반응형
SMALL

전체 글1625

[MLops] 모델 학습 및 평가 디렉토리 설정 docker exec -it my-mlops bash opt 디렉토리에서 mlops-movie-predictor 디렉토리를 생성한다. mkdir mlops-movie-predictor 그 다음, mlops-movie-predictor 디렉토리로 이동하고 dataset과 src 디렉토리를 생성한다. 또, src 디렉토리에서 utils, dataset, model, train, evaluate 디렉토리를 생성한다. 라이브러리 설치 pip install torch numpy==1.26.4 pandas scikit-learn tqdm src/utils/utils.py import osimport randomimport numpy as npimport torchdef init_seed(): n.. 2024. 8. 12.
[Digital Filter Design] 평활화 (Smoothing) 평활화 (Smoothing)  평활화는 신호에서 단기적 변동을 제거하여 장기적 추세를 드러내려는 연산이다. 예를 들어, 주식 가격의 일일 변화를 플로팅하면 노이즈가 많아 보일 것이다. 평활화 연산자를 사용하면 가격이 시간이 지남에 따라 전반적으로 상승하는지 하락하는지 더 쉽게 확인할 수 있다. 일반적인 평활화 알고리즘은 이동 평균 (moving average)이다. 이동 평균은 특정 n 값에 대해 이 n 개 값 의 평균을 계산한다. 평활화 연산은 사운드 신호에도 적용된다. 예를 들어, 440Hz의 사각파 (square wave)의 고조파는 천천히 떨어지므로 많은 고주파 (high-frequency) 성분이 포함된다. signal = thinkdsp.SquareSignal(freq=440)wave = si.. 2024. 8. 11.
[MLops] 모델 훈련 디렉토리 생성 opt 디렉토리에서 mlops-model 디렉토리를 생성한다. mkdir mlops-modelmkdir datasetcp /opt/mlops-crawler/result/watch_log.csv dataset/ 패키지 설치 pip install -U numpy==1.26.4pip install torch torchinfo scikit-learn icecream main.py import torchimport torch.nn as nnimport torch.optim as optimfrom torch.utils.data import Dataset, DataLoaderimport pandas as pdimport numpy as npfrom sklearn.model_selection import.. 2024. 8. 9.
[MLops] TMDB API 데이터 수집 및 전처리 TMDB API https://developer.themoviedb.org/reference/intro/getting-started에 회원가입 후 아래와 같이 개발자용 API 토큰을 발급받는다.   opt 디렉토리로 이동하여 실습 디렉토리를 생성한다.  그 다음, 러스트 언어로 개발된 uv 패키지 관리자를 설치하여 네트워크 통신 등 코드 동작 속도를 빠르게 해준다. pip install uv 사용법은 pip 앞에 uv를 붙여준다. uv pip install requests pandas numpy matplotlib python-dotenv Vim 설정 vi ~/.vimrcsyntax onset expandtabset autoindentset ts=4set shiftwidth=4set nuset curso.. 2024. 8. 9.
[MLops] Docker에서 MLops 네트워크 구성 네트워크 할당  커스텀 네트워크에 도커 컨테이너를 할당하기 위해 호스트와 컨테이너 네트워크를 구성한다. docker network create --gateway 172.20.0.1 --subnet 172.20.0.0/24 mlops python 컨테이너 docker run -itd --name my-mlops --network mlops python:3.11-buster docker ps로 컨테이너가 올라갔는지 확인한다.  bash 그 다음, bash로 접근하여 패키지 관리자 최신화를 위해 apt 업데이트한다. apt install -y vim wgetcat /etc/os-release 2024. 8. 9.
[Deep Learning] FNet: Mixing Tokens with Fourier Transforms FNet 트랜스포머의 self-attention은 CNN 또는 RNN 대비 장기 의존성 (long-term dependency)를 해결한다. 하지만 연산 complexity가 O(N²)으로 N이 길어질수록 bottlenect으로 작용한다. FNet은 푸리에 변환 (fourier transform)을 통해 self-attention 대신 token 간의 정보를 학습하는 mixing mechanism으로 simple linear transformation 연산만 문장 내의 다양한 의미 관계를 모델링할 수 있다. 또한, 속도 메모리, 정확도 측면에서 효율성을 보인다.  그리고 FNet hybrid model은 단 두 개의 self-attention sublayer만을 사용하여 BERT에 준하는 성능을 보였다... 2024. 8. 8.
[Deep Learning] 인코더 디코더 모델 인코더 모델 (Encoder Models)  인코더 모델 (encoder models)은 Transformers 모델의 인코더 모듈만 사용한다. 각 단계에서 어텐션 계층 (attention layer)은 초기/원본 입력 문장 (initial sentence)의 모든 단어에 액세스할 수 있다. 이러한 모델은 종종 양방향 (bi-directional) 주의 집중 (attention)을 수행하는 것이 특징이며, auto-encoding model 이라고 부르기도 한다. 이러한 모델의 사전 학습 (pre-training) 과정에서 일반적으로 주어진 초기 문장을 다양한 방법을 사용하여 손상시키고 (ex: 임의의 단어를 masking), 손상시킨 문장을 다시 원래 문장으로 복원하는 과정을 통해서 모델 학습이 진행된.. 2024. 8. 7.
[Speech Recognition] wav2vec2 모델을 이용하여 음성 인식 프로젝트 허깅페이스 로그인  from huggingface_hub import loginlogin(token="hf_") 라이브러리 및 모델 로드 import torchimport librosaimport numpy as npfrom scipy.io import wavfilefrom IPython.display import Audiofrom transformers import Wav2Vec2ForCTC, Wav2Vec2Tokenizertokenizer = Wav2Vec2Tokenizer.from_pretrained("facebook/wav2vec2-base-960h")model = Wav2Vec2ForCTC.from_pretrained("facebook/wav2vec2-base-960h")# 오디오 파일 로드fi.. 2024. 8. 6.
[Speech Recognition] wav2vec2 wav2vec2 wav2vec2 모델은 음성 표현의 자기 지도 학습 (Self-Supervised Learning)을 위한 프레임워크이며, 16kHz 샘플링 음성 오디오에서 대규모 음성 녹음 자료인  960시간의 Librispeech를 통해 사전 훈련되고 미세 조정되었다. 그런 다음, 음성 인식을 위해 감독되는 방식으로 신속하게 미세 조정되거나 다른 어플리케이션을 위한 상위 수준 기능 및 의사 음소 추출기 역할을 할 수 있다. 이 모델은 음성 오디오만으로 강력한 표현을 학습한 후 전사된 (transcribed) 음성을 미세 조정하는 것이 개념적으로 더 간단하면서도 최상의 준지도 (semi-supervised) 방법보다 성능이 뛰어날 수 있음을 처음으로 보여준다. wav2vec2 잠재 공간 (latent .. 2024. 8. 6.
[LLM] PaliGemma Inference PaliGemma PaliGemma는 PaLI-3에서 영감을 받아 SigLIP 비전 모델 및 Gemma 언어 모델과 같은 개방형 구성 요소를 기반으로 하는 다재다능하고 가벼운 비전 언어 모델 (vision-language model, VLM)이다. 이미지와 텍스트를 모두 입력으로 받고 텍스트를 출력으로 생성하여 여러 언어를 지원한다. 이미지 및 짧은 비디오 캡션, 시각적 질문 답변, 텍스트 읽기, 객체 감지 및 객체 분할과 같은 광범위한 비전 언어 작업에서 동급 최고의 미세 조정 성능을 위해 설계되었다. Transformers PaliGemma 모델의 3B 가중치는 224*224 입력 이미지와 128 토큰 입력/출력 텍스트 시퀀스로 사전 학습되었다. 이 모델은 미세 조정을 위해 float32, bfloa.. 2024. 7. 30.
728x90
반응형
LIST