반응형

머신러닝 32

딥러닝 모델을 웹 / 모바일 앱에 배포하기

딥러닝 모델을 웹/모바일 앱에 배포하기 1. 개요 딥러닝 모델을 개발한 후에는 실제 서비스에 배포하는 단계가 필수적입니다. 이번 포스팅에서는 학습된 모델을 웹이나 모바일 애플리케이션에서 사용할 수 있도록 서빙하는 다양한 방법을 알아보겠습니다. 2. TensorFlow Serving 구축 TensorFlow 모델을 프로덕션 환경에 배포할 때 많이 사용하는 옵션이 TensorFlow Serving입니다. 설치 및 모델 저장 pip install tensorflow-serving-api import tensorflow as tf model = ... # 학습된 TF 모델 로드 MODEL_VERSION = 1 export_path = f"./exported_models/model/{MODEL_VERSION}" ..

PyTorch vs TensorFlow - CIFAR-10 이미지 분류 비교

PyTorch vs TensorFlow - CIFAR-10 이미지 분류 비교 딥러닝 프레임워크 중 가장 인기 있는 PyTorch와 TensorFlow, 두 프레임워크의 성능을 실제 이미지 분류 문제에 대해 비교해보았습니다. 이번에는 CIFAR-10 데이터셋과 ResNet-18 모델을 사용하여 정확도, 학습 속도 등의 지표를 측정하고 분석해보겠습니다. 데이터셋 및 모델 실험에 사용한 데이터셋은 CIFAR-10으로, 60,000개의 32x32 크기 이미지가 10개 클래스로 구분되어 있습니다. 모델은 ResNet-18 아키텍처를 사용했으며, 하이퍼파라미터는 다음과 같이 설정하였습니다. - 옵티마이저: SGD (lr=0.1, momentum=0.9) - 손실함수: CrossEntropyLoss - 학습 에포크:..

텍스트? 이미지? 모두 OK! huggingface 멀티모달 모델 활용하기

텍스트? 이미지? 모두 OK! huggingface 멀티모달 모델 활용하기 최근 딥러닝 모델은 텍스트뿐만 아니라 이미지, 오디오, 비디오 등 다양한 모달리티를 함께 다룰 수 있게 되었습니다. 이러한 멀티모달 모델은 단일 모델에서 여러 형태의 데이터를 통합적으로 처리할 수 있어 새로운 응용 분야가 열리고 있죠. huggingface에서도 대표적인 멀티모달 모델들을 제공하고 있으니 함께 알아볼까요? 1. 멀티모달 모델이란? - 텍스트, 이미지, 오디오, 비디오 등 다양한 모달리티 데이터를 통합 처리하는 모델 - 단일 모델에서 멀티태스크를 수행 가능 - 강력한 표현력으로 새로운 응용 분야 개척 중 2. 대표 모델 소개 - CLIP (Contrastive Language-Image Pretraining) - 이..

사전 훈련 모델을 업그레이드하자! huggingface 파인튜닝 가이드

사전 훈련 모델을 업그레이드하자! huggingface 파인튜닝 가이드 머신러닝 모델 개발에서 가장 큰 고민은 '좋은 모델을 구하기 어렵다'는 점입니다. 하지만 huggingface에는 엄청난 양의 사전 훈련된 모델들이 있죠. 이들을 그대로 사용하기에는 아쉬움이 있겠지만, 파인튜닝을 통해 내 작업에 맞게 커스터마이징할 수 있습니다. 이번 포스팅에서는 huggingface에서 모델 파인튜닝하는 방법을 자세히 알아보겠습니다. 1. 파인튜닝이란? - 사전 훈련된 모델의 가중치를 내 데이터셋으로 추가 학습시키는 전이학습 기법 - 모델을 처음부터 훈련하는 것보다 적은 데이터와 리소스로 좋은 성능을 낼 수 있음 2. 데이터 준비하기 - 업무 영역과 작업에 맞는 데이터셋 준비 (라벨링 포함) - 데이터 전처리 : 토..

머신러닝 모델 고르기? huggingface에서 한방에 해결!

머신러닝 모델 고르기? huggingface에서 한방에 해결! 머신러닝과 딥러닝 분야에서 huggingface는 가장 인기 있는 오픈소스 플랫폼 중 하나입니다. 수많은 사전 훈련된 모델과 라이브러리를 제공하여 개발자와 연구자들이 쉽게 활용할 수 있게 해줍니다. 하지만 방대한 양의 모델들 사이에서 자신의 작업에 가장 적합한 모델을 고르기란 쉽지 않습니다. 이번 포스팅에서는 huggingface에서 유용한 모델을 찾는 방법을 상세히 알아보겠습니다. 1. huggingface 모델 허브 살펴보기 huggingface 웹사이트에 접속하면 가장 먼저 모델 허브(https://huggingface.co/models)를 만나게 됩니다. 여기서 수많은 모델들을 한눈에 볼 수 있습니다. 모델 검색창과 다양한 필터링 기능..

기업의 생성형 AI 프로젝트가 ‘실패’하는 4가지 이유

기업의 생성형 AI 프로젝트가 ‘실패’하는 4가지 이유 데이터는 AI 프로젝트 성과를 가로막는 주요 문제이다. 하지만 생성형 AI 기술이 고도화되면서 데이터 외에도 신경 써야 하는 요소는 더 늘고 있다. 지난 6월 뉴질랜드 슈퍼마켓 체인 운영사인 파크앤세이브(Pak'nSave)는 식재료 목록을 업로드하면 챗봇이 레시피를 제안하는 ‘세이비 밀봇(Savey Meal-Bot)’이라는 AI 챗봇을 출시했다. 뉴질랜드에서 버려지는 음식물 쓰레기 규모가 매년 1,500 뉴질랜드달러라는 점을 고려해 파크앤세이브는 세이비 밀봇을 비용을 절약해주는 도구라고 홍보하기도 했다. 18세 이상 사용자만 이용 가능하고, 레시피 내용은 사람이 따로 검토하지 않고, 식품 정보만 챗봇에 입력해야 한다는 경고문이 있었지만, 많은 사용자..

[2023/09/11 ~ 09/17] 이번 주의 주요 ML 논문 (Top ML Papers of the Week)

[2023/09/11 ~ 09/17] 이번 주의 주요 ML 논문 (Top ML Papers of the Week) 개요 DAIR.AI에서 매주 공개하는 ML 논문들에 대한 글을 자동 번역해보았습니다. 이번 주 선택된 논문들은 대부분 LLM(Large Language Model)이라는 주제에 집중되어 있습니다. 특히, LLM을 다루는 방식이 다양하다는 점이 독특합니다. 이들 논문은 언어 모델의 학습 방식, 에이전트 기반의 LLM의 발전 가능성, LLM의 정교화와 독자 학습 능력, LLM에 대한 일련의 연구 등 다양한 관점에서 LLM을 분석하고 있습니다. 이러한 추세는 인공지능과 기계학습 분야에서 언어 모델학습 방식이 중요하게 여겨지고 있다는 것을 보여주며, 그 중에서도 LLM이 주목받고 있음을 알 수 있습..

디코더(Decoder)의 특수 토큰(Special Token)

디코더(Decoder)에 입력되는 특수 토큰(Special Token)은 모델이 텍스트 생성 작업을 수행할 때 특정 목적을 위해 사용되는 토큰들을 말합니다. 이러한 특수 토큰들은 입력 시퀀스에 추가되어 모델이 텍스트를 생성하고 이해하는 데 도움을 줍니다. 주요한 특수 토큰들과 그 역할에 대해 설명합니다: 시작 토큰 (Start Token) - 주로 [CLS] 또는 [BOS] 등의 토큰으로 표시됩니다. 디코더에 입력으로 제공되는 최초의 토큰으로, 텍스트 생성을 시작하는 지점을 나타냅니다. 종료 토큰 (End Token) - 주로 [SEP] 또는 [EOS] 등의 토큰으로 표시됩니다. 디코더가 텍스트 생성을 종료해야 할 지점을 나타냅니다. 이 토큰이 생성되면 텍스트 생성을 종료하게 됩니다. 패딩 토큰 (Pad..

이미지를 이용하여 텍스트를 생성하는 모델 Image to Text(이미지 캡셔닝)

이미지 인코더와 LLM 디코더를 사용하여 이미지를 텍스트로 변환하는 모델을 학습시킬 수 있습니다. 이러한 모델은 이미지 캡셔닝(image captioning)이라고도 불립니다. 이미지 인코더는 이미지를 의미 있는 특성 벡터로 인코딩하고, LLM 디코더는 이 벡터를 활용하여 텍스트를 생성하는 역할을 합니다. 이미지 인코더: 이미지 인코더는 입력된 이미지를 특성 벡터로 인코딩합니다. 이 특성 벡터는 이미지의 의미를 포함하고 있으며, 일반적으로 CNN(Convolutional Neural Network) 기반의 모델을 사용하여 추출합니다. 예를 들면, VGG16, ResNet, 또는 EfficientNet과 같은 사전 훈련된 모델을 활용할 수 있습니다. LLM 디코더 (GPT-2 기반): LLM 디코더는 이미..

이미지 벡터화 - VGG16 / VGG19

이미지를 벡터화한 후, 이미지 벡터를 다른 용도로 사용하고 싶다면 image_vector 변수를 해당 용도에 맞게 활용하시면 됩니다. 예를 들어, 이미지 간 유사도를 계산하거나 이미지 검색에 활용할 수 있습니다. import numpy as np from keras.applications.vgg19 import VGG19, preprocess_input from keras.preprocessing import image from keras.models import Model def vectorize_image(image_path): # 이미지 불러오기 img = image.load_img(image_path, target_size=(224, 224)) # 이미지 전처리 x = image.img_to_ar..

반응형