인공지능 개발자 수다(유튜브 바로가기) 자세히보기
반응형

전체 글 133

[FastAPI] 디자인 패턴-레포지토리 패턴(11-6)

1. 레포지토리 패턴(Repository Pattern)이란?레포지토리 패턴(Repository Pattern)은 데이터베이스(DB) 액세스를 서비스 로직(Service Layer)에서 분리하는 패턴즉, 데이터베이스와 직접 상호작용하는 코드(쿼리)를 레포지토리 파일에 따로 관리서비스 레이어는 이 레포지토리를 호출하여 데이터를 가져오는 방식장점데이터베이스 종속성 제거 → 서비스 레이어에서 직접 DB 모델을 다루지 않아, DB 변경 시 최소한의 코드 수정재사용성 증가 → 동일한 DB 조회/저장 로직을 여러 서비스에서 재사용 가능테스트가 쉬워짐 → 가짜(faker) DB를 사용해 테스트 가능 (예: SQLite, Mock DB)코드 가독성 향상 → SQLAlchemy 관련 로직이 분리되어 서비스 코드가 더 깔..

Fastapi 2025.02.02

[FastAPI] 디자인 패턴-서비스 레이어 패턴(11-5)

1. 서비스 레이어 패턴 (Service Layer Pattern) 이란서비스 레이어 패턴(Service Layer Pattern)은 비즈니스 로직을 엔드포인트(FastAPI 라우터)와 데이터 액세스(Repository) 레이어로부터 분리하는 아키텍처 패턴 FastAPI에서라우터는 요청을 받고,서비스 레이어는 핵심 로직을 수행하며,리포지토리는 데이터베이스와 직접 상호작용 장점비즈니스 로직과 API 엔드포인트 분리 → 코드가 깔끔재사용성 증가 → 같은 로직을 여러 엔드포인트에서 사용 가능유지보수 용이 → 데이터베이스 변경 시 API 코드 변경 없이 서비스 레이어에서만 수정유닛 테스트 용이 → 데이터베이스 없이 서비스 레이어 단독으로 테스트 가능 2. 서비스 레이어 패턴 사용 방법프로젝트 구조 예시각 역할을..

Fastapi 2025.02.02

[FastAPI] 디자인 패턴-라우터패턴(Router Pattern) (11-4)

1. 라우터 패턴 (Router Pattern) 이란라우터 패턴(Router Pattern)은 FastAPI에서 API 엔드포인트를 논리적으로 분리하여 관리하는 방법기본적으로 APIRouter를 사용하여 엔드포인트를 모듈화하고, app 객체를 만드는 부분에서 이를 포함시키는 방식. 장점코드 모듈화: 엔드포인트를 역할별로 나가독성 향상: 각 엔드포인트의 역할이 명확유지보수 용이: 특정 기능을 수정하거나 추가할 때 더 쉽게 변경 가능확장성: 새로운 API 기능을 추가할 때 기존 구조를 해치지 않고 추가 가능 2. 라우터 패턴 사용 방법프로젝트 구조 예시my_fastapi_project/│── main.py│── routers/│ ├── user.py│ ├── item.py│── models/│── ..

Fastapi 2025.02.02

[LLM] DeepSeek-R1 논문 핵심내용 요약

0. 개요이전 글에서 DeepSeek 논문 리뷰를 먼저 작성하고,이번 포스팅은 핵심 내용을 요약한 것이다.RL, GRPO, 체인 오브 소트 데이터, 다단계 학습 파이프라인 (Multi-Stage Training Pipeline) 에 대해 정리해 보자 이전 글 링크 [LLM] DeepSeek-R1 논문 리뷰논문을 읽게 된 배경연구 관련 설명(출처: CNN 뉴스, BBC 뉴스)중국의 인공지능 기업의 기술ChatGPT와 유사한 성능OpenAI, Google, Meta보다 훨씬 낮은 비용으로 제작됨이전보다 훨씬 적은 컴퓨팅 성능으databoom.tistory.com 1.  RL과 GRPO1.1. 기존 Supervised Fine-Tuning (SFT) 방식전통적으로 Supervised Fine-Tuning (S..

LLM 모델 불러오기 실행하기 (Huggingface Transformers) (3)

1.  모델 선택먼저 HuggingFace에서 Models에 들어가사용하고 싶은 모델을 선택한다. 모델을 선택 했으면, Use this model을 클릭하고transformers를 클릭해 준다. 그러면 모델을 불러올 수 있는 코드를 두가지 확인할 수 있다. 2. 모델 직접적으로 불러오는 방법이 방법은 모델을 직접 불러오는 것이다. 불러오는 방법은 다음과 같다.실행을 위해 코드를 복사한다. (모델 이름, import 라이브러리 확인)모델을 gpu로 옮겨준다.토크나이저도 불러온다.import torchfrom transformers import AutoModelForCausalLM, AutoTokenizer# 디바이스 설정 (GPU가 사용 가능하면 GPU, 아니면 CPU)device = torch.devic..

Pytorch Transformers 설치 (2)

이 글은 2025.01.28 기준이다. 1. 파이썬 환경 구성먼저 pyenv를 이용해 적절한 python을 설치해 준다.pyenv install 3.12.4 설치된 파이썬 확인pyenv versions 파이썬 가상환경을 만들어 준다.pyenv virtualenv 3.12.4 my_env 가상환경 확인pyenv virtualenvs 가상환경 실행activate my_env 2. Pytorch 설치Pytorch 버전은 2.5.1 이 최신이다. MPS (Apple Silicon) 지원 설치 (Mac M1/M2) 또는 CPU 전용 설치pip install torch torchvision torchaudio Cuda를 사용하는 경우예시: CUDA 11.8pip install torch torchvision tor..

LLM을 위한 Pytorch와 HuggingFace 개요 (1)

0. 개요LLM을 위한 Pytorch에서는Pytorch 기본 사용방법을 이미 알고 있으며,딥러닝에 대한 기본지식이 있는 사람들을 대상으로LLM을 다루기 위해 Pytorch를 어떻게 사용해야 하는지를 정리할 것이다. 또한, 기본적으로 HuggingFace의 Transformers를 사용할 수 있어야 하기 때문에함께 사용법을 알아가도록 하자. 1. Pytorch와 LLMLLM을 다루기 위한 강력한 도구이다.Pytorch로 다양한 작업을 수행할 수 있다.모델 설계학습 - 사전 학습(Pre-training), 분산 학습최적화 (Optimizer)디버깅 및 배포모델 미세 조정(Fine-Tunning)사후 작업 (Post-Training) - 양자화(Quantization), 프루닝(Pruning), Distill..

[LLM] DeepSeek 실행 방법 with Pytorch

0. 개요DeepSeek가 현재 상당한 이슈가 되고 있다.게다가 오픈소스로 Huggingface에 올라와 있어실행이 가능하다고 하니, 한번 실행해 보도록 하자. huggingface 링크 deepseek-ai/DeepSeek-R1 · Hugging FaceDeepSeek-R1 Paper Link👁️ 1. Introduction We introduce our first-generation reasoning models, DeepSeek-R1-Zero and DeepSeek-R1. DeepSeek-R1-Zero, a model trained via large-scale reinforcement learning (RL) without supervised fine-tuning (SFT) as a prelhug..

[LLM] DeepSeek-R1 논문 리뷰

논문을 읽게 된 배경연구 관련 설명(출처: CNN 뉴스, BBC 뉴스)중국의 인공지능 기업의 기술ChatGPT와 유사한 성능OpenAI, Google, Meta보다 훨씬 낮은 비용으로 제작됨이전보다 훨씬 적은 컴퓨팅 성능으로 제작오픈소스로 공개 최근 DeepSeek-R1 으로인해, 미국 인공지능 회사들의 주가가 크게 떨어졌다.저렴한 가격으로 높은 성능의 모델을 만들었기 때문이다.게다가 OpenAI는 모델이 비공개인데, DeepSeek는 오픈소스이다! DeepSeek를 다운받아 pytorch로 실행하는 글은 다음 글에서 확인해보자 (다음 글 링크) [LLM] DeepSeek 실행 방법 with Pytorch0. 개요DeepSeek가 현재 상당한 이슈가 되고 있다.게다가 오픈소스로 Huggingface에 올..

[FastAPI] 디자인 패턴-미들웨어 패턴(Middleware Pattern) (11-3)

1. 미들웨어(Middleware) 란 무엇인가개념클라이언트와 서버 사이에서 데이터 요청(Request) 및 응답(Response)을 처리하는 중간 계층HTTP 요청을 처리하거나 응답을 반환하기 전에 실행되는 함수case1 : 요청이 애플리케이션의 특정 라우터에 도달하기 전에 작업을 수행case2 : 응답이 클라이언트에 반환되기 전에 조작하는 데 사용주요 역할요청(Request) 처리 전 작업요청의 유효성을 검사하거나 수정인증(Authentication) 및 권한 확인(Authorization)로그 기록(Log)을 남기거나 성능 모니터링응답(Response) 처리 후 작업데이터 압축(Gzip 등)응답 헤더 추가에러나 예외(Exception)를 클라이언트에 적절히 전달보안(Security)CORS(Cros..

Fastapi 2025.01.27
반응형