전체 글 108

Kubeflow Pipeline, KServe SDK

Kubeflow Pipeline(KFP)과 KServe SDK는 ML 모델 학습 및 배포를 자동화하는 데 사용됩니다.Kubeflow Pipeline(KFP) → ML Workflow를 정의하고 실행KServe SDK → 모델을 KServe를 통해 배포이 두 개를 연동하면, 모델을 학습하고 KServe를 통해 자동으로 배포하는 파이프라인을 만들 수 있습니다. Kubeflow Pipeline 기본 개념Kubeflow Pipeline을 정의하는 주요 구성 요소는 다음과 같습니다. 코드 예시from kfp import dslfrom kfp.components import create_component_from_func# a + b 연산을 수행하는 함수def add_numbers(a: int, b: int) ->..

AI/Kubeflow 2025.03.07

Kubeflow 구성요소(Pipeline , experiment , runs , component)

Pipeline (파이프라인)✅ Kubeflow Pipeline의 핵심 개념ML 워크플로우 전체를 정의하는 흐름모델 학습, 데이터 전처리, 평가, 배포 등의 작업을 연결된 Task로 구성Kubeflow Pipelines (KFP) 에서 사용됨✅ Pipeline 예제@dsl.pipeline( name="Sample ML Pipeline", description="A simple pipeline that trains and deploys a model")def sample_pipeline(): preprocess_task = preprocess_op() train_task = train_op().after(preprocess_task) deploy_task = deploy_op()..

AI/Kubeflow 2025.03.07

Parameter-Efficient Fine-Tuning (PEFT)

Parameter-Efficient Fine-Tuning (PEFT)란?개요Parameter-Efficient Fine-Tuning (PEFT) 방법은 사전 훈련된 언어 모델(Pre-trained Language Model, PLM)을 모든 매개변수를 조정하지 않고도 다양한 하위 작업(task)에 효과적으로 적응시키는 기술입니다.왜 PEFT가 필요할까?대규모 PLM을 완전히 미세 조정(Fine-Tuning)하는 것은 다음과 같은 이유로 어렵습니다.높은 비용: 모델 크기가 클수록 학습에 많은 계산 리소스가 필요합니다.메모리 사용량 증가: 모든 매개변수를 업데이트하면 저장 및 메모리 부담이 큽니다.다양한 작업 적용의 어려움: 특정 작업에 맞게 모델을 미세 조정하면, 다른 작업을 위해 다시 전체 모델을 학습해..

AI/LLM 2025.03.01

NLTK를 활용한 N-GRAM 언어 모델

N-gram 언어 모델이란?자연어 처리에서 많이 사용되는 N-gram 언어 모델은 문장에서 앞에 나온 단어들을 활용해 다음에 올 단어를 예측하는 방법입니다. 쉽게 말해, "앞 단어들을 보고 다음 단어가 무엇일지 맞히는 모델"입니다.N-gram에서 N은 단어의 개수를 의미합니다. 즉, 문장에서 N개의 연속된 단어 묶음(그램, gram)을 의미합니다.2-gram (Bigram): 앞 단어 1개를 보고 다음 단어를 예측 (예: "오늘 날씨" → "좋다")3-gram (Trigram): 앞 단어 2개를 보고 다음 단어를 예측 (예: "오늘 날씨가" → "좋다")4-gram (4-그램): 앞 단어 3개를 보고 다음 단어를 예측즉, N이 커질수록 더 많은 앞 단어를 참고해서 예측하는 모델이 됩니다.예제: 7-gra..

AI/Basic NLP 2025.03.01

scikit-learn을 활용한 One-hot Encoding

원핫 인코딩(One-hot Encoding)이란?원핫 인코딩(One-hot Encoding)은 범주형 데이터(Categorical Data)를 이진화된 값(Binary Value)으로 변환하는 방법입니다.텍스트 데이터를 머신러닝 모델에 입력하기 위해 숫자로 바꿔야 하는데, 이때 단순히 정수형 라벨로 변환하면 모델이 범주 간의 순서나 크기를 잘못 해석할 수 있습니다.이를 방지하기 위해 원핫 인코딩을 사용합니다.왜 원핫 인코딩을 사용할까?범주형 데이터는 순서가 없고 크기 비교가 불가능한 값들입니다.예를 들어, “개”, “고양이”, “말”이라는 세 가지 카테고리가 있다면, 이를 단순히 정수형 라벨로 변환하면 다음과 같이 표현할 수 있습니다. 정수형 라벨 인코딩 (Integer Label Encoding) 예시..

AI/Basic NLP 2025.02.27

NLTK를 활용한 Tokenizing

토크나이징(Tokenizing)이란?텍스트 데이터를 분석하거나 처리할 때 토크나이징(Tokenizing)은 매우 중요한 단계입니다. 토크나이징은 전체 텍스트를 원하는 구분 단위로 나누는 작업을 의미하며, 이를 통해 데이터를 보다 체계적이고 효율적으로 다룰 수 있습니다.토크나이징의 유형토크나이징은 나누는 단위에 따라 여러 가지 방식으로 진행할 수 있습니다. 대표적인 유형은 다음과 같습니다.1. 문장 단위 토크나이징텍스트를 문장 단위로 나누는 방식입니다. 일반적으로 문장의 끝을 나타내는 구두점(마침표, 느낌표, 물음표 등)을 기준으로 문장을 나눕니다.예시:Input : "Hello! How are you doing? I'm fine."Output : ["Hello!", "How are you doing?",..

AI/Basic NLP 2025.02.27

Open WebUI 설치 및 사용법

설치 방법설치 , 배포 방식Docker공식적으로 지원되며 대부분의 사용자에게 권장되는 방법입니다.Python :리소스가 적게 필요한 환경 또는 수동 설정을 원하는 사용자를 위한 방법입니다.Kubernetes확장성과 오케스트레이션이 필요한 엔터프라이즈 배포에 적합합니다.도커로 설치 하기1단계: Open WebUI 이미지 가져오기GitHub Container Registry에서 최신 Open WebUI Docker 이미지를 가져옵니다.docker pull ghcr.io/open-webui/open-webui:main2단계: 컨테이너 실행기본 설정으로 컨테이너를 실행합니다. 이 명령은 데이터 손실을 방지하기 위해 지속적인 데이터 저장을 위한 볼륨 매핑을 포함합니다.docker run -d -p 3000:808..

AI/ETC 2025.01.18

Apache Iceberg 기본 구조

출처 : https://medium.com/data-engineer-things/i-spent-4-hours-learning-apache-iceberg-heres-what-i-found-9750b0d70d84 I spent 4 hours learning Apache Iceberg. Here’s what I found.The table format’s overview and architectureblog.det.lifeApache Iceberg가 필요한 이유 데이터 레이크하우스 솔루션을 배포할 때, 데이터는 오브젝트 스토리지에 저장되며, Spark나 Trino 같은 좋아하는 엔진을 사용해 쿼리를 실행할 수 있습니다. 데이터 이동이 필요 없고, 한 곳에서 애드혹 쿼리부터 머신러닝 워크로드까지 모두 처리할 수..

Tools/Iceberg 2025.01.16

Python 데코레이터(Decorator)

데코레이터의 기본 개념데코레이터는 다른 함수를 인자로 받아, 새로운 함수를 반환하는 함수입니다. 즉, 데코레이터를 사용하면 기존 함수의 기능을 바꾸거나 확장할 수 있습니다. 형태:def decorator_function(original_function): def wrapper_function(*args, **kwargs): # 추가 동작 print(f"{original_function.__name__} 함수가 호출되었습니다.") result = original_function(*args, **kwargs) # 추가 동작 print(f"{original_function.__name__} 함수가 종료되었습니다.") return ..

FastAPI의 비동기 요청 처리

비동기 요청 처리1. 기본 개념비동기 요청 처리란?요청이 처리되는 동안 서버가 다른 요청을 처리할 수 있는 방식입니다.I/O 작업(예: DB 쿼리, 외부 API 호출)이 있을 때, 해당 작업이 끝날 때까지 기다리지 않고 다른 요청을 처리합니다.비동기의 장점:네트워크 대기나 파일 I/O 같은 느린 작업에서 CPU 자원을 효율적으로 활용.동시 요청을 더 많이 처리 가능.2. FastAPI에서 비동기 동작 확인FastAPI는 Python의 asyncio를 기반으로 동작합니다. 비동기 처리를 확인하려면 다음과 같은 방법으로 테스트할 수 있습니다.예제 코드아래 코드는 비동기 처리를 테스트하는 간단한 FastAPI 애플리케이션입니다:import asynciofrom fastapi import FastAPIapp =..

Tools/FastAPI 2024.11.27
반응형