본문 바로가기

전체 글64

SmolVLM: 허깅페이스의 작고 효율적인 멀티모달 모델 SmolVLM은 HuggingFace와 Stanford가 주도한 최신 연구로, 수억 개의 파라미터 수준에서도 대형 모델에 필적하는 성능을 발휘하는 초경량 멀티모달 모델 시리즈입니다. Qwen25-VL 모델의 경우 성능은 뛰어나나 기본적으로 약 15G의 VRAM을 요구하고 GPU에서의 사용을 전제로 하고 있습니다. 물론 Intel의 OpenVINO를 이용하여 Int4로 경량화된 모델을 사용하여 Intel CPU에서 실행을 시킬 수 있으나 이 경우 대략 20초가 넘는 응답 시간을 보여주고 있어 CPU혹은 휴대폰과 같은 에지디바이스에서 동작하는 빠른 경량 모델이 요구되고 있습니다. 반면 SmolVLM은 동일한 Int4 경량 모델을 CPU에서 실행했을 때 대략 5초의 응답 시간을 보여주고 있습니다. 이 블로그에.. 2025. 5. 14.
XGBoost 알고리즘: 상세 설명 및 Python 구현 XGBoost는 "Extreme Gradient Boosting"의 약자로, 기계 학습 분야에서 널리 사용되는 강력한 알고리즘입니다. 특히 회귀 및 분류 문제에서 높은 성능을 자랑하며, 데이터 과학 대회에서 자주 사용됩니다. 이 글에서는 XGBoost의 주요 특징과 Python을 사용한 기본 구현 방법, 그리고 Scikit-learn 라이브러리를 활용한 학습 예제를 소개합니다.** You can find the English verion of this content at this page (https://markbyun.blogspot.com/2025/05/complete-guide-to-xgboost-algorithm.html)XGBoost의 주요 특징Gradient Boosting: 여러 약한 학습기.. 2025. 5. 13.
llama-prompt-ops: Meta의 Llama 모델 최적화 도구 완벽 분석 llama-prompt-ops는 Meta에서 개발한 오픈소스 Python 패키지로, Llama 시리즈 모델(Llama 2, Llama 3 등)에 최적화된 프롬프트를 자동으로 생성, 변환, 개선할 수 있도록 돕는 프롬프트 최적화 도구입니다. 특히 다른 대형 언어 모델(GPT, Claude, Mistral 등)에서 사용된 프롬프트를 Llama 모델에 맞게 자동 마이그레이션하고, 성능 향상에 유리한 형태로 리라이팅할 수 있습니다.** You can find the English verion of this content at this page (https://markbyun.blogspot.com/2025/05/lama-prompt-ops-comprehensive-guide-to.html)1. 주요 기능 요약L.. 2025. 5. 10.
컴퓨터비전(CV)을 위한 설명 가능한 인공지능 (Explainable AI) 솔루션 설명 가능한 인공지능(Explainable AI, XAI)은 인공지능 모델의 예측 결과를 인간이 이해할 수 있는 방식으로 설명하는 기술입니다. 특히 CNN(Convolutional Neural Network) 기반의 이미지 분류 모델은 고성능에도 불구하고 그 내부 작동 방식이 블랙박스처럼 불투명하다는 비판을 받아왔습니다. 이러한 문제를 해결하기 위해 CAM(Class Activation Mapping) 계열의 기법들이 개발되었습니다.** You can find the English verion of this content at this page (https://markbyun.blogspot.com/2025/05/gradient-free-explanation-ai-for-cnn.html)1. 설명 가능한.. 2025. 5. 9.
Retrieval-Augmented Generation(RAG) 설명 Retrieval-Augmented Generation(RAG): 아키텍처, 변형, 실전 적용 전략Retrieval-Augmented Generation(RAG)은 대규모 언어 모델(LLM)과 외부 지식 검색 시스템을 결합한 하이브리드 접근 방식입니다. 기존의 LLM이 내부 파라미터에 내재된 지식에 의존하는 반면, RAG는 외부 소스를 동적으로 참조하여 보다 정확하고 사실 기반의 응답을 생성할 수 있게 합니다. 이 과정에서 가장 핵심적인 역할을 수행하는 기술이 벡터 데이터베이스 기반의 문서 검색입니다.가장 간단한 형태의 RAG는 생성형 AI를 사용하는 사용자가 특정한 도메인 지식을 참고하기 위해 URL 정보나 PDF 파일과 같은 외부 자료를 직접 프롬프트에 첨부하여 질문하는 방식이라고 볼 수 있습니다. .. 2025. 5. 8.
LangChain으로 Google Gemini API 쉽게 연동하는 방법 LangChain은 대규모 언어 모델(LLM)을 활용한 애플리케이션 개발을 간소화하는 오픈 소스 프레임워크입니다. OpenAI, Gemini(구글), Anthropic 등 다양한 LLM을 구조화하고, 도구 및 메모리 기능을 추가하여 챗봇, 가상 비서, 에이전트, AI 기반 소프트웨어 등 실제 응용 프로그램을 구축할 수 있도록 지원합니다.LLM 프로젝트에 LangChain을 사용하는 이유체인 가능한 구성 요소: 프롬프트, LLM, 도구, 메모리를 결합하여 파이프라인을 쉽게 구축할 수 있습니다.다중 모델 지원: Gemini, OpenAI, Anthropic, Hugging Face 등 다양한 모델과 호환됩니다.내장 템플릿: 프롬프트를 효과적으로 관리할 수 있는 템플릿을 제공합니다.다중 턴 대화 지원: 메모리.. 2025. 5. 8.
LangChain, FAISS, Gemini 임베딩을 활용한 벡터 DB 저장 및 검색 방법 LangChain, FAISS, Gemini 임베딩을 활용한 벡터 DB 저장 및 검색 방법대규모 언어 모델(LLM)을 기반으로 한 RAG(Retrieval-Augmented Generation) 시스템을 구축할 때, 벡터 데이터베이스의 효율적인 저장 및 검색은 핵심 요소입니다. 본 가이드에서는 LangChain, FAISS, Google Gemini 임베딩을 활용하여 문서 임베딩을 저장하고 의미적으로 유사한 정보를 검색하는 전문적인 Python 구현 방식을 설명합니다. 이 구현은 의미 기반 검색 및 RAG 파이프라인을 설계하는 고급 머신러닝 및 딥러닝 엔지니어를 위한 것입니다.LLM 응용에서 벡터 데이터베이스의 중요성기존의 키워드 기반 검색 시스템은 문장의 의미를 제대로 이해하지 못하는 한계가 있습니다... 2025. 5. 8.
벡터 데이터베이스(Vector DB)란? FAISS 예제와 함께 깊이 있게 살펴보기 벡터 데이터베이스(Vector DB)는 고차원 벡터를 효율적으로 저장, 인덱싱, 검색할 수 있도록 설계된 특수한 형태의 데이터베이스입니다. 이러한 벡터는 일반적으로 딥러닝 모델로부터 생성된 임베딩이며, 텍스트, 이미지, 오디오, 코드 등 다양한 데이터의 의미론적 표현을 담고 있습니다. 전통적인 관계형 데이터베이스가 키 기반 정확 매칭이나 구조화된 쿼리에 초점을 맞춘 반면, 벡터 DB는 근사 최근접 이웃 검색(ANN, Approximate Nearest Neighbor) 또는 정확한 최근접 이웃 검색을 최적화하여 시맨틱 검색, 추천 시스템, 이상 탐지, RAG(Retrieval-Augmented Generation) 등의 AI 애플리케이션에서 필수적입니다.벡터 DB의 핵심 구성 요소실제 운영 환경에서 사용.. 2025. 5. 8.
랭그래프와 제미나이로 구현한 대화상태 기억하는 LLM 챗봇서버 이 튜토리얼에서는 Stateless 챗봇 서버에 LangGraph를 활용한 상태 기반 메모리 지원을 추가하여 업그레이드합니다. 이를 통해 모델이 이전 메시지를 기억하며 보다 사람다운 다중 턴 대화가 가능합니다.이 업그레이드의 주요 특징LangChain 통합을 통한 Gemini 2.5 Pro 기반 구동세션 메모리 유지를 위한 LangGraph의 MemorySaver 사용Flask로 구현되었으며 CORS 지원 포함thread_id를 사용하여 사용자별 대화 히스토리 유지Stateless 버전과의 차이점Stateless 버전과의 주요 차이점은 다음과 같습니다:상태 관리: messages를 통해 대화 히스토리를 추적하기 위해 TypedDict 기반의 State 클래스를 도입LangGraph 통합: StateGra.. 2025. 5. 8.
대화상태 유지 챗봇 구현: Gemini와 LangGraph 활용 AI 챗봇을 설계할 때 가장 중요한 아키텍처 결정 중 하나는 챗봇을 이전 대화 내용 유지 없는 상태(stateless)로 만들 것인지 이전 대화 내용 유지(stateful)로 만들 것인지입니다. 그 차이가 무엇이고 왜 중요한지 알아보겠습니다.이전 대화 내용 유지 없는 챗봇 (Stateless Chatbots)무상태 챗봇은 사용자 입력을 각각 독립적인 메시지로 처리합니다. 이전 대화 내용을 기억하지 않기 때문에 구현은 간단하지만, 대화의 맥락을 반영하기 어려워 복잡한 질의나 자연스러운 상호작용에 제약이 있습니다.대화 내용 유지 챗봇 (Stateful Chatbots)상태 유지 챗봇은 이전 대화의 맥락을 기억하며 응답할 수 있어, 더 개인화되고 일관성 있는 대화를 제공합니다. 긴 대화나 사용자 선호도 기억,.. 2025. 5. 8.
Google Gemini 2.5 Pro와 LangChain으로 간단한 LLM 챗봇 서버 만들기 이 글에서는 Google Gemini 2.5 Pro와 LangChain을 활용해 가볍지만 강력한 챗봇 백엔드를 구현하는 방법을 다룹니다. 또한, 대화형 AI의 내부 구조를 이해하고, 대화 친화적인 프론트엔드 인터페이스를 배포하는 방법도 설명합니다.프로토타입을 만들든, 기업 규모의 애플리케이션에 LLM을 통합하든, 이 패턴은 탄탄한 기반을 제공합니다.Step 1: Install Dependencies다음은 우리가 사용할 최소 기술 스택입니다:Python Packagespip install flask flask-cors langchain langchain-google-genai python-dotenvGoogle API 키가 담긴 .env 파일이 있는지 확인하세요:GOOGLE_API_KEY=your_goog.. 2025. 5. 8.
쉽게 배우는 Google Gemini API 프로그램 만약 여러분이 생성형 AI의 API를 이용한 프로그램이 처음이고 무료 LLM API를 사용해야 한다면, 이 글이 도움이 될 것입니다. 이 글에서는 Python을 사용하여 Gemini 기반의 첫 애플리케이션을 만드는 데 필요한 API키 발급부터 간단한 챗팅 프로그램 작성에 이르는 모든 내용을 안내해드릴 예정입니다. 구체적으로는 무료 API 키를 받는 방법, 필요한 라이브러리 설치, Gemini의 generate_content() 함수와 상호작용하는 코드 작성까지 포함됩니다.무료 Gemini API 키 받는 방법Google 계정이 필요합니다.공식 Google AI Studio에 접속합니다.Google 계정으로 로그인합니다.오른쪽 상단 프로필을 클릭하고 "Get API Key"를 선택합니다.Google Clo.. 2025. 5. 8.