본문 바로가기

전체 글

Titans: Learning to Memorize at Test Time Titans: Learning to Memorize at Test Time배경 및 문제 정의1. Transformer의 단점:Transformer는 Attention 메커니즘으로 동작, 높은 성능을 보이지만 컨텍스트 창 크기가 제한적컨텍스트 창 크기에 따라 시간 및 메모리 복잡도가 이차적으로 증가, 긴 시퀀스 처리하기 어려움이러한 한계는 언어 모델링, 비디오 이해, 장기 시간 시계열 예측과 같은 실제 응용 분야에서 문제2. 효율적인 변형 모델의 시도:최근 연구는 Transformer의 비효율성을 해결하기 위해 Linear Transformer와 같은 대안 제시하지만, 선형 모델은 데이터를 작은 상태(state)로 압축, 이로인해 긴 시퀀스 데이터를 적절히 표현하지 못하는 한계3. 기존 모델의 한계:기존 .. 더보기
머신러닝을 공부하면서 알아야할 통계 이론 1. 기술 통계 (Descriptive Statistics)평균 (Mean), 중앙값 (Median), 최빈값 (Mode): 데이터의 중심 경향분산 (Variance), 표준편차 (Standard Deviation): 데이터가 평균을 중심으로 얼마나 퍼져 있는지사분위수 (Quartiles), IQR (Interquartile Range): 데이터의 분포와 범위왜도 (Skewness), 첨도 (Kurtosis): 데이터의 비대칭성과 꼬리의 두께2. 확률 이론 (Probability Theory)확률 분포 (Probability Distributions): 데이터의 패턴을 모델링정규 분포 (Normal Distribution), 이항 분포 (Binomial Distribution), 포아송 분포 (Poiss.. 더보기
추후 공부 할 것 기록 추론 가속기TensorRT, ONNX의 차이 훈련과정에서 GPU Resource를 효율적으로 사용하기 위한 mixed PrecisionFP32 (Single Precision,)FP64 (Double Precision)FP128 (Quadruple Precision)FP16 (Half Precision)FP32와 FP16을 함께 사용 더보기
LLM모델 경량화 및 최적화 방법 LLM(Large Language Model)을 경량화하고 최적화하는 것은 실시간 응답성, 메모리 사용량 감소, 배포 비용 절감 등의 측면에서 매우 중요 특히 자원이 제한된 환경(예: 모바일 장치, 웹 서비스, Google Colab 등)에서 LLM을 사용할 때 이러한 작업은 필수1. 모델 경량화(Compression) 방법모델 축소(Model Distillation)설명: 큰 모델(교사 모델)의 정보를 작은 모델(학생 모델)로 압축하여 학습합이 방법은 작은 모델이 큰 모델의 성능을 모방하도록 훈련작은 모델임에도 불구하고 성능 저하 최소화장점: 모델 크기 및 추론 속도 최적화예시:BERT → DistilBERTGPT-3 → DistilGPT.양자화(Quantization)설명: 모델의 가중치와 활성화를 .. 더보기
RAG를 적용하는 간략한 과정 RAG (Retrieval-Augmented Generation)는 대규모 언어 모델(LLM)에 검색 기능을 결합하여 정보를 생성하는 방식이를 통해 모델은 외부 정보를 검색하여 더 정확하고 관련성 있는 답변을 생성가능1. RAG의 개념RAG는 "검색 기반 생성"을 의미하며, 기존 LLM이 갖고 있는 제한된 훈련 데이터에 의존하지 않고, 외부에서 관련된 정보를 검색해 답변을 생성이는 모델이 최신 정보를 반영하거나 훈련 데이터에 없는 정보를 포함하여 더 나은 답변을 제공 가능RAG는 크게 두 가지 주요 구성 요소로 이루어진다.Retriever: 검색기. 입력된 질문에 대해 외부 데이터베이스(예: 문서, 웹사이트, 위키백과)에서 관련된 정보 검색Generator: 생성기. 검색된 정보를 바탕으로 최종 답변 생.. 더보기
VLM 이란? VLM (Vision-Language Model) 은 컴퓨터 비전(이미지 이해)과 자연어 처리(텍스트 이해)를 결합하여 이미지와 텍스트를 동시에 처리하고 이해할 수 있는 모델VLM은 이미지와 텍스트 간의 상호작용을 학습하기 위해 설계되었으며, 이미지 캡셔닝, 시각적 질문 답변, 이미지-텍스트 검색 등과 같은 멀티모달 작업에서 주로 사용,대표적인 VLM으로는 CLIP, DALL-E, Flamingo, BLIP, ViLT 등이 있으며, 이들은 이미지와 텍스트 데이터로 사전 학습되어 서로 다른 모달리티 간의 관계를 학습하고 이해하는 능력을 갖춤장점:멀티모달 이해: 이미지와 텍스트의 상관관계를 학습하여 복합적인 입력을 이해하고 응답다양한 애플리케이션: 이미지 캡셔닝, 비주얼 검색, 콘텐츠 생성 등 다양한 응용 .. 더보기
Express와 NestJS의 차이? Express와 NestJS는 둘 다 Node.js 환경에서 사용되는 서버 사이드 웹 프레임워크지만, 설계 철학과 기능에서 큰 차이가 있음  Express: Express는 경량의 웹 애플리케이션 프레임워크로, 간단하고 유연한 구조를 가진 미들웨어 기반의 아키텍처라우팅과 요청 처리를 위해 매우 직관적이며 최소한의 설정만으로 서버 구축 가능 커뮤니티와 생태계가 크며, 다양한 미들웨어와 플러그인을 통해 확장 가능NestJS: NestJS는 Express를 내부적으로 사용하는 더 고수준의 프레임워크 Angular의 영향을 받아 모듈화와 데코레이터를 통한 구성 요소 기반의 설계를 채택 타입스크립트로 작성되어 있으며, 객체 지향 프로그래밍(OOP), 함수형 프로그래밍(FP), 그리고 함수 반응형 프로그래밍(FRP.. 더보기
서버 스케줄링이란 서버 스케줄링은 클라이언트 요청을 여러 서버에 효율적으로 분배하여 자원을 최적화하고 시스템 성능과 가용성을 높이는 방법입니다. 주로 로드 밸런서가 이를 수행하며, 스케줄링 알고리즘을 사용해 요청을 가장 적합한 서버로 전달합니다.이를 통해 특정 서버에 과부하가 걸리는 것을 방지하고, 시스템이 안정적이고 빠르게 동작하도록 합니다.대표적인 서버 스케줄링 알고리즘에는 라운드 로빈(Round Robin), 최소 연결(Minimum Connections), 가중 라운드 로빈(Weighted Round Robin), IP 해시(IP Hash) 등이 있습니다. 장점:로드 분산: 클라이언트 요청을 여러 서버에 고르게 분배해 시스템 과부하를 방지하고 성능을 최적화합니다.확장성: 스케줄링을 통해 서버를 추가하거나 제거하여 .. 더보기