반응형

전체 글 101

PyTorch, Hugging Face Trainer를 활용한 분산 환경 학습

LLM 모델 분산 학습의 구성요소1. PyTorch개요:PyTorch는 Facebook AI Research(FAIR)에서 개발한 오픈 소스 딥러닝 프레임워크로, 연구와 산업계에서 널리 사용됩니다.특징:동적 계산 그래프: 모델을 개발하고 디버깅할 때 유연성이 뛰어납니다.GPU 가속: 손쉽게 GPU를 활용하여 연산을 가속할 수 있습니다.커뮤니티와 생태계: 다양한 라이브러리와 도구들이 활발히 개발되고 있으며, 풍부한 문서와 튜토리얼이 제공됩니다.2. Hugging Face Trainer개요:Hugging Face의 Transformers 라이브러리에서 제공하는 고수준 학습 인터페이스로, 복잡한 학습 루프를 단순화시켜 줍니다.특징:자동화: 학습 루프, 평가, 로깅, 체크포인트 저장 등 반복되는 작업들을 자동으..

AI/LLM 2025.03.12

Docker 이미지, 캐시, 데몬, 빌드 프로세스

(1) Docker 이미지란?Docker 이미지는 컨테이너를 실행하는 데 필요한 모든 것을 포함한 불변(immutable)한 패키지입니다.이는 레이어(layer) 기반 파일 시스템으로 구성되어 있으며, 각 레이어는 아래와 같은 명령어에 의해 생성됩니다.FROM → 베이스 이미지 정의 (예: ubuntu:20.04)RUN → 명령어 실행 후 파일 시스템 변경 (예: apt-get install -y curl)COPY / ADD → 파일 복사CMD / ENTRYPOINT → 실행 명령어 지정각 명령어(RUN, COPY 등)는 새로운 레이어를 생성하며, 이러한 레이어는 Docker가 저장하고 관리합니다.(2) Docker 데몬(Docker Daemon)Docker 데몬(dockerd)은 컨테이너를 관리하는 백..

Tools/Docker 2025.03.10

NVIDIA의 GPU, CUDA, PyTorch, TensorRT

NVIDIA GPU와 CUDA의 관계CUDA(Compute Unified Device Architecture)는 NVIDIA에서 개발한 병렬 컴퓨팅 플랫폼으로, GPU의 강력한 병렬 처리 능력을 활용하여 일반적인 계산 작업을 가속화합니다. 이는 그래픽 처리뿐만 아니라 과학 계산, 머신 러닝 등 다양한 분야에서 활용됩니다. ​ GPU 아키텍처별 지원하는 CUDA 버전:GPU 모델아키텍처지원 가능한 CUDA 최소 버전GPU 모델아키텍처지원 가능한 CUDA 최소 버전P40PascalCUDA 8.0 이상T4TuringCUDA 10.0 이상A100AmpereCUDA 11.0 이상H100HopperCUDA 12.0 이상주의: 최신 CUDA 버전은 이전 GPU 아키텍처와의 호환성을 유지하지만, 최신 GPU의 기능을 ..

AI/ETC 2025.03.10

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
반응형