이 장은 완전 자급자족 버전입니다.독자가 이 글만 보고도 처음부터 실행할 수 있도록, 4장(학습)과 5장(평가), 6장(배포: LoRA 병합 → GGUF 변환 → Ollama 실행)까지 한 번에 마칩니다.모델은 meta-llama/Llama-3.2-1B-Instruct
앞선 장에서 우리는 SLM(Small Language Model)과 Ollama 환경을 구축하고,Hugging Face 모델을 불러오는 과정을 모두 끝냈다.이제는 그 모델을 내 데이터로 파인튜닝(fine-tuning) 하고,그 결과를 Perplexity 및 생성 예시로
Python 3.10+ 권장. GPU가 없으면 QLoRA 대신 LoRA만 시도하세요(속도 이슈 고려).3장에서 만든 train.jsonl(한 줄에 {"text": "..."} 형태)을 그대로 사용한다.핵심: labels = input_ids + 패딩 토큰 위치는 -10
언어모델을 잘 학습시키는 데에는 “좋은 데이터”가 필수다.데이터는 모델의 지식, 스타일, 응답 품질을 결정짓는다.이 장에서는 Hugging Face datasets를 이용한 데이터 준비와,Ollama로 학습 가능한 포맷(GGUF · GGML 변환 전 단계) 을 만드는
언어모델을 학습하거나 파인튜닝하려면 먼저 환경을 통일해야 한다.모델을 불러오고, 데이터를 전처리하고, 학습 결과를 저장하는 과정은 모두 환경 설정에 좌우된다.이 장에서는 로컬 환경에서 Ollama와 Hugging Face 모델을 함께 사용할 준비를 완료한다.모델을 훈련
이 글은 개발 초심자의 시선으로 작성된 기록이다. 내 PC에서도 언어모델을 직접 돌려보겠다는 목표로 시작한다. 앞으로 이어질 장들에서는 환경 설정 → 모델 선택 → 데이터 준비 → 학습 및 튜닝 → 활용까지 순서대로 나아간다.언어모델 분야에서 “SLM”이라는 개념이 중
BFF(Backend for Frontend)는 이름 그대로 특정 프론트엔드 애플리케이션에 최적화된 백엔드 레이어입니다.즉, “하나의 거대한 API 게이트웨이” 대신 각 클라이언트(웹, 모바일, IoT 등)에 맞춤형 백엔드를 두어 API를 설계하는 방식입니다.웹 프론트
Docker를 활용해 애플리케이션을 운영하다 보면 반드시 마주치는 개념이 \*\*네트워크(Network)\*\*입니다.특히 컨테이너 간 통신을 어떻게 구성할지에 따라 서비스 구조가 달라지기 때문에, bridge, host, overlay 같은 네트워크 드라이버의 차이를
7월 마지막날 31일더운 날씨월요일에 에어컨에서 밖으로 물을 내보내는 호스가 중간에 끊겨서 가동시킬 수 없는 상황이 와버렸다.그래서 부랴부랴 예약을 했지만 목요일에 방문이 가능하다고 해서, 오늘 오후에 고쳤다.너무 더운 방에서 잠을 푹 잘 수 없어서 그런지 계속 피곤한
원격 저장소의 변경사항을 가져오되, 내 로컬 브랜치에는 적용하지 않음단지 .git 디렉토리 내부의 정보를 최신화git log origin/main 혹은 git diff origin/main 등으로 확인 가능변경사항을 확인하고 싶지만, 아직 내 코드에 적용하고 싶지 않을

가드는 인터페이스를 구현하는 데코레이터 @Injectable()로 주석이 달린 클래스입니다.가드는 단일 책임을 갖습니다 . 런타임에 존재하는 특정 조건(권한, 역할, ACL 등)에 따라 주어진 요청을 경로 처리기가 처리할지 여부를 결정합니다. 이를 권한 부여(autho
Nest에는 애플리케이션 전체에서 처리되지 않은 모든 예외를 처리하는 내장 예외 계층이 있습니다. 애플리케이션 코드에서 예외를 처리하지 못하면 이 계층에서 해당 예외를 포착하여 사용자에게 친숙한 적절한 응답을 자동으로 전송합니다. 기본적으로 이 작업은 내장된 전역
미들웨서 (Middleware) 미들웨어는 라우트 핸들러 보다 먼저 호출되는 함수입니다 . 미들웨어 함수는 요청 및 응답 객체에 접근할 수 있으며, next()애플리케이션의 요청-응답 주기에서 미들웨어 함수에 접근할 수 있습니다. Nest 미들웨어는 기본적으로 E

모듈은 데코레이터로 주석이 달린 클래스입니다.이 데코레이터는 Nest가 애플리케이션 구조를 효율적으로 구성하고 관리하는 데 사용하는 메타데이터를 제공합니다.모든 Nest 애플리케이션에는 최소 하나의 모듈, 즉 루트 모듈 이 있으며, 이 모듈은 Nest가 애플리케이션 그

공급자는 Nest의 핵심 개념입니다. 서비스, 저장소, 팩토리, 헬퍼와 같은 많은 기본 Nest 클래스는 공급자로 취급될 수 있습니다. 공급자의 핵심 아이디어는 종속성으로 주입 될 수 있어 객체가 서로 다양한 관계를 형성할 수 있다는 것입니다. 이러한 객체를 "연결"하

출처NestJS에서는 Spring과 마찬가지로 controller에서 들어오는 요청을 처리하고 클라이언트에게 응답을 다시 보내는 역할을 합니다 .Controller에서는 애플리케이션의 특정 요청을 처리합니다.NestJS에서의 Controller는 Spring과 마찬가지

NestJS에 대해서 처음 접했던 건 아르바이트로 참여했던 프로젝트에서 사용했던 스택으로 시작합니다. 기존에는 Spring 또는 전자정부프레임워크로 진행하는 SI 프로젝트에 참여하고 있었습니다.Javascript로 기존의 화면 기능에대한 부분을 개발하고 있었기 때문에
다요소 인증(多要素認證, Multi-factor authentication, MFA)은 적어도 다음 분류 중 두 가지에 한해 별도의 여러 증거 부분을 인증 매커니즘에 성공적으로 제시한 이후에만 사용자가 접근 권한이 주어지는 컴퓨터 접근 제어 방식의 하나이다: 지식(kn
통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 통신 프로토콜은 신호 체계, 인증, 그리고 오류 감지 및 수정 기능을 포함할 수 있다. 프로토콜은 형식, 의미론, 그리고 통신의 동기 과정 등을 정의하기는
HTTP(HyperText Transfer Protocol)는 웹 브라우저(클라이언트)와 웹 서버 간에 정보를 주고받기 위한 통신 규약입니다. 1989년 팀 버너스 리(Tim Berners-Lee)가 CERN에서 하이퍼텍스트 기반의 정보 공유를 위해 개발하였으며, 이후