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

딥러닝39

[MLops] MLflow MLflow MLflow는 머신러닝 라이프사이클을 관리하기 위한 오픈 소스 플랫폼이다. 이 플랫폼은 머신러닝 모델의 실험, 개발, 배포, 그리고 운영 과정을 자동화하고 일관되게 관리할 수 있도록 도와준다. MLflow는 사용자가 실험을 추적하고, 재현 가능한 환경에서 프로젝트를 실행하며, 다양한 포맷의 모델을 저장하고 배포할 수 있게 해준다. pip install mlflowpip install --upgrade pip pip install setuptools 터미널에서 mlflow ui를 입력하면 기계 학습 코드를 실행할 때 매개변수, 코드 버전, 지표 및 출력 파일을 기록하고 결과를 시각화하기 위한 API 및 UI로 접속할 수 있다. mlflow ui  iris 데이터 실습 : 데이터 로드 from .. 2024. 8. 19.
[MLops] 학습 결과 기록하기 wandb W&B (Weight and Bias)은 실험 그룹 혹은 실험 단위로 실험 이력 요소들을 관리할 수 있다. https://wandb.ai/site에 접속하여 가입한 후 API 키를 발급받는다. pip install wandb 그리고 다음 경로에서 API 키를 저장하기 위해 환경 변수 파일인 .env를 생성한다.  src/utils/utils.py Run name 자동 지정하기 위해 다음을 추가한다. def auto_increment_run_suffix(name: str, pad=3): suffix = name.split("-")[-1] next_suffix = str(int(suffix) + 1).zfill(pad) return name.replace(suffix, next_s.. 2024. 8. 12.
[MLops] 모델 저장하기 라이브러리 설치 ONNX 포맷으로 저장하기 위해 다음을 실행한다. 그리고 Fire 라이브러리를 활용하면 task 별로 필요한 인자를 설정하여 CLI 기반 프로그램을 쉽고 빠르게 만들 수 있다. task를 분리하면 다양한 장점이 있다 (필요한 태스크만 수행, 트러블 슈팅 및 디버깅 용이, 유연한 자원 할당, 유지보수성, 워크플로우 관리 등). pip install onnx onnxruntime fire src/model/movie_predictor.py torch(pth) 포맷으로 저장하기 아래 코드를 추가한다. import osimport datetimeimport torchfrom src.utils.utils import model_dirimport torch.nn as nnclass MoviePred.. 2024. 8. 12.
[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.
[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.
[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.
[Speech Recognition] wav2vec2 wav2vec2 wav2vec2 모델은 음성 표현의 자기 지도 학습 (Self-Supervised Learning)을 위한 프레임워크이며, 16kHz 샘플링 음성 오디오에서 대규모 음성 녹음 자료인  960시간의 Librispeech를 통해 사전 훈련되고 미세 조정되었다. 그런 다음, 음성 인식을 위해 감독되는 방식으로 신속하게 미세 조정되거나 다른 어플리케이션을 위한 상위 수준 기능 및 의사 음소 추출기 역할을 할 수 있다. 이 모델은 음성 오디오만으로 강력한 표현을 학습한 후 전사된 (transcribed) 음성을 미세 조정하는 것이 개념적으로 더 간단하면서도 최상의 준지도 (semi-supervised) 방법보다 성능이 뛰어날 수 있음을 처음으로 보여준다. wav2vec2 잠재 공간 (latent .. 2024. 8. 6.
자동 음성 인식 (Automatic Speech Recognition) 자동 음성 인식 (Automatic Speech Recognition)   자동 음성 인식 (Automatic Speech Recognition)이란 음성 신호(acoustic signal)를 단어(word) 혹은 음소 (phoneme) 시퀀스로 변환하는 시스템을 가리킨다. 자동 음성 인식 모델은 입력 음성 신호 X(x1, x2, ..., xt)에 대해 가장 그럴듯한 (likely) 음소/단어 시퀀스 Y(y1, y2, ..., yn)를 추정한다. 자동 음성 인식 모델의 목표는 P(Y∥X)를 최대화하는 음소/단어 시퀀스 Y를 추론 (inference)하는 데에 있다. 이를 식으로 표현하면 다음 수식과 같다.  P(Y∥X)를 바로 추정하는 모델을 구축하는 것이 가장 이상적이다. 하지만 같은 음소나 단어라 하.. 2024. 7. 3.
[Keras] 멀티모달 함의 분류 (2) 데이터 입력 파이프라인 구축 TensorFlow Hub는 다양한 BERT 계열의 모델을 제공한다. 각 모델에는 해당하는 전처리 계층이 함께 제공된다. 리소스에서 이러한 모델과 해당 전처리 계층에 대해 더 자세히 알 수 있다. 런타임을 짧게 하기 위해 원래 BERT 모델의 더 작은 변형을 사용한다. # Define TF Hub paths to the BERT encoder and its preprocessor bert_model_path = ( "https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-2_H-256_A-4/1" ) bert_preprocess_path = "https://tfhub.dev/tensorflow/bert_en_uncased_pre.. 2024. 4. 2.
[Keras] 멀티모달 함의 분류 (1) 멀티모달 함의 분류 멀티모달 함의를 예측하기 위한 모델을 구축하고 훈련한다. Google Research에서 소개한 다중 모드 수반성 데이터 세트 multimodal entailment dataset를 사용한다. 멀티모달 함의란 소셜 미디어 플랫폼에서는 콘텐츠를 감사하고 중간 정도의 콘텐츠를 제공하기 위해 거의 실시간으로 다음 질문에 대한 답을 찾고자 할 수 있다. 주어진 정보는 다른 정보와 모순 (contradict) 되는지? 주어진 정보는 다른 정보를 의미 ( imply)하는지? 자연어 처리에서 이 작업은 텍스트 함의 분석이라고 한다. 이것은 정보가 텍스트 콘텐츠에서 나올 때만 해당된다. 실제로 사용 가능한 정보는 텍스트 콘텐츠뿐만 아니라 텍스트, 이미지, 오디오, 비디오 등의 멀티모달 조합에서 나오.. 2024. 3. 30.
728x90
반응형
LIST