본문 바로가기

전체 글64

Windows에 python 개발환경 설정 Windows + Miniconda + VS Code + Jupyter + PyTorch(컴퓨터 비전) 환경 구축 가이드MS Windows 노트북에서 Miniconda로 가상환경을 만들고, VS Code에서 Jupyter Notebook으로 코딩하며, 동일 환경에서 PyTorch로 컴퓨터 비전 딥러닝 모델을 학습하는 방법을 단계별로 설명합니다. 각 단계마다 역할(왜 필요?)과 방법(어떻게?)을 분리해 안내합니다.목차사전 이해: 전체 구조필수 소프트웨어 설치기본 파이썬 가상환경 만들기VS Code에서 Jupyter 사용GPU 학습 대비(선택)PyTorch 설치 및 검증컴퓨터 비전 학습 최소 예시(CIFAR-10)자주 하는 작업 & 팁0) 사전 이해: 우리가 만들 환경의 큰 그림Miniconda: 파이썬 버.. 2025. 11. 10.
Z-Test와 P-Value 완전 정복: ML/DL 활용법까지 Z-test와 P-value의 개념, 계산 방법, 머신러닝과 딥러닝에의 응용 사례 및 파이썬 코드 예제를 자세히 설명합니다.Z-Test란?z-test는 모집단 평균과 표본 평균 간의 유의미한 차이가 있는지를 검정하는 통계적 가설 검정 방법입니다. 모집단의 분산이 알려져 있고 표본 크기가 충분히 클 경우(n > 30)에 적합합니다.귀무가설 (Null Hypothesis, $H_0$)은 일반적으로 "차이가 없다", "영향이 없다"는 전제를 의미하며, 검정의 출발점이 됩니다. 대립가설 (Alternative Hypothesis, $H_1$)은 반대로 차이가 있다는 주장입니다. 통계적 검정은 수집된 데이터로부터 귀무가설을 기각할 수 있을 만큼의 증거가 있는지를 확인하는 과정입니다.공식:$ z = \frac{\b.. 2025. 6. 16.
PyTorch 예제로 배우는 머신러닝 거리 함수 완벽 가이드 머신러닝에서 거리 함수(Distance Metric)는 데이터 간의 유사도 또는 차이를 수치적으로 표현하는 중요한 도구입니다. 이러한 거리 함수는 군집화 알고리즘(K-Means), 최근접 이웃 분류(KNN), 추천 시스템, 이상치 탐지 등 다양한 AI 분야에서 핵심적으로 활용됩니다. 본 글에서는 머신러닝과 데이터 과학 분야에서 가장 많이 사용되는 주요 거리 함수 9가지(코사인, 유클리드, 마할라노비스, 헬링거, 자카드, 맨해튼, 상관계수, 다이스, 해밍 거리)에 대해 개념 설명과 PyTorch를 활용한 실습 예제를 통해 체계적으로 학습해 보겠습니다.1. 코사인 거리 (Cosine Distance)코사인 거리는 두 벡터 사이의 방향(각도)에 기반하여 유사도를 측정하는 방식으로, 벡터의 크기보다는 방향성이 .. 2025. 6. 15.
관계형 데이터베이스를 위한 Relational Deep Learning (RDL): GNN 기반 머신러닝 혁신 Relational Deep Learning (RDL)은 GNN을 사용해 다중 테이블 데이터베이스를 모델링하는 통합 그래프 기반 방식을 제안합니다. 이를 통해 관계 의미를 유지하고, 조인을 피하며, 시계열 추론을 지원합니다. 이는 머신러닝과 데이터베이스 간의 간극을 연결하는 패러다임 전환입니다.1. 동기: 테이블에서 그래프로전통적 설정관계형 데이터베이스는 다수의 정규화된 테이블에 구조화된 데이터를 저장하며, 각 테이블은 사용자, 주문, 상품 등 다양한 엔티티 유형을 캡처합니다. 이러한 테이블들은 외래 키(FK)와 기본 키(PK) 제약을 통해 연결됩니다.머신러닝 모델을 학습하기 위해, 이 데이터베이스는 일반적으로 조인을 통해 단일 테이블로 평탄화되고, 도메인 전문가가 수동으로 특징을 선택하고 엔지니어링합니.. 2025. 6. 13.
UV·Python·mcp-use로 구현하는 MCP Agent Model Context Protocol (MCP)은 AI 에이전트가 외부 도구·데이터와 표준 방식으로 상호작용하도록 설계된 개방형 프로토콜입니다. MCP는 server, client, host 세 가지 구성요소로 나뉩니다.MCP hostMCP host는 사용자와 Agent사이의 인터페이스 (Claude Desktop 혹은 IDE) 역활을 하며 MCP client와 server들을 이용하여 외부 툴 혹은 데이터에 접속하는 역할을 수행합니다. 과거에는 Anthropic Claude Desktop을 host로 쓰는 방식이 소개되었으나, 별도 데스크톱 앱·라이선스·API 키 관리가 필요하고 Claude 생태계에 종속되는 문제가 있었습니다. mcp-use는 오픈소스 Python/Node 패키지로, LangCha.. 2025. 6. 12.
LLaMA 3.2-1B-Instruct 모델 한국어 파인튜닝 가이드 Meta의 LLaMA 3.2-1B-Instruct 모델을 한국어 지시문 데이터셋으로 Hugging Face와 LoRA를 활용해 파인튜닝하는 상세 튜토리얼입니다.1. LLaMA 3.2-1B-Instruction 모델 한국어 파인 튜닝이 필요한 이유LLaMA 3.2-1B-Instruct는 Meta에서 출시한 경량 인스트럭션 튜닝 언어 모델로, 비교적 적은 자원으로도 다양한 지시문 기반 태스크에 응답할 수 있도록 설계되었습니다. 비록 이 모델이 다중 언어를 지원하도록 학습은 되었으나 몇 몇 주요 언어들에 대해서만 학습이되어 한구어와 같이 직접 학습에 사용되지 않은 언어에 대해서는 제대로 동작하지 않는 문제가 있습니다. 따라서 이 문서에서는 Hugging Face Transformers와 PEFT(특히 LoRA.. 2025. 5. 29.
Byte Pair Encoding (BPE) 토크나이저 완전 정복 Byte Pair Encoding (BPE)는 자연어 처리에서 널리 사용되는 서브워드 토크나이저 알고리즘으로, 특히 희귀 단어 처리와 어휘 확장성 측면에서 강력한 성능을 보여줍니다. 이 문서에서는 BPE의 작동 원리, 구현 방법, 다른 토크나이저와의 비교, 그리고 실제 LLM 개발에의 적용 방법을 상세히 다룹니다.** You can find the English version of this content at this page (https://markbyun.blogspot.com/2025/05/mastering-byte-pair-encoding-bpe.html) 1. BPE의 개요BPE는 원래 1994년에 데이터 압축을 위해 제안된 알고리즘으로, 가장 자주 나타나는 문자 쌍을 반복적으로 병합하여 데이터.. 2025. 5. 28.
SentencePiece 완전 정복: AI 엔지니어를 위한 언어 독립형 토크나이저 자연어 처리(NLP) 시스템에서 텍스트를 모델 입력으로 전처리할 때 필수적으로 수행해야 하는 단계가 바로 토크나이징(tokenization)입니다. 하지만 기존의 대부분 토크나이저는 언어별 규칙이나 사전 정의된 단어 사전을 기반으로 작동하며, 사전 토크나이징된 텍스트를 필요로 하는 경우도 많습니다. 이런 방식은 특히 다국어를 처리할 때 제약이 많고, 비표준 문자를 포함한 데이터에 취약할 수 있습니다.SentencePiece는 이러한 제약을 극복하기 위해 Google에서 개발한 언어 독립적 토크나이저입니다. 문장 단위의 raw 텍스트를 그대로 입력받아 서브워드 단위로 나누며, 특히 신경망 기반 자연어 처리 모델에 최적화된 전처리 방식으로 각광받고 있습니다.** You can find the English .. 2025. 5. 28.
ZeRO: 대규모 모델 학습을 위한 메모리 최적화 기법 분석 2020년 마이크로소프트의 연구진은 논문 "ZeRO: Memory Optimization Towards Training Trillion Parameter Models"(arXiv:1910.02054)을 통해 대규모 모델 학습의 병목 요소였던 GPU 메모리 사용 문제를 혁신적으로 해결하는 분산 학습 프레임워크 ZeRO를 제안했습니다. 이 글에서는 ZeRO의 핵심 개념, 세 가지 분해 방식(Optimizer State, Gradient, Parameter Partitioning), 수식 기반 메모리 분석, 그리고 DeepSpeed와의 통합 구조를 설명합니다.** You can find the English verion of this content at this page (https://markbyun.blo.. 2025. 5. 27.
FlashAttention: Transformer의 메모리 효율적 고속 Attention 메커니즘 분석 Transformer 아키텍처는 자연어 처리와 컴퓨터 비전 분야에서 표준이 되었지만, Attention 연산의 연산량과 메모리 소비는 특히 긴 시퀀스 처리에서 성능 병목의 원인이 됩니다. 2022년 발표된 FlashAttention은 GPU 아키텍처의 특성을 활용하여 정확한(Exact) Attention을 제공하면서도 속도와 메모리 효율성을 극적으로 개선한 알고리즘입니다.** You can find the English verion of this content at this page (https://markbyun.blogspot.com/2025/05/flashattention-high-speed-memory.html)1. 기존 Attention의 병목Transformer의 핵심 연산인 Attention.. 2025. 5. 27.
RoFormer와 Rotary Position Embedding: Transformer 위치 인코딩의 혁신 Rotary Position Embedding(RoPE)은 2021년 발표된 RoFormer 논문(https://arxiv.org/pdf/2104.09864)에서 제안된 위치 인코딩 기법입니다. 이 기술은 기존의 절대적 위치 인코딩 방식의 한계를 극복하고, Transformer 모델의 시퀀스 인식 능력을 한층 강화합니다.** You can find the English version of this content at this page (https://markbyun.blogspot.com/2025/05/roformer-and-rotary-position-embedding.html)1. 기존 위치 인코딩 방식의 한계Transformer는 입력 토큰 간 순서를 인식하지 못하기 때문에, 위치 인코딩(Posit.. 2025. 5. 27.
대규모 언어 모델의 KV 캐시: 설계, 최적화 및 추론 가속 대규모 언어 모델의 KV 캐시: 설계, 최적화 및 추론 가속Transformer는 대규모 언어 모델(LLM)의 핵심 구조이지만, 긴 컨텍스트를 처리하는 추론 과정은 많은 계산 (시퀀스 길이의 제곱) 비용이 듭니다. KV 캐시—Key/Value Cache는 자기회귀(autoregressive) 디코딩 과정에서 이전에 계산된 Key, Value의 값을 캐싱하여 재사용함으로써 추론 속도를 선형으로 줄여주는 핵심 최적화 기법 중 하나입니다. 이 글에서는 Efficiently Scaling Transformer Inference 논문을 바탕으로 KV 캐시의 구조, 동작 원리, 구현 방식, 최적화 전략에 대해 심층 분석합니다.** You can find the English verion of this content.. 2025. 5. 26.