분류 전체보기 123

시험대비2

Hugging Face Transformers 라이브러리를 사용하여 **Large Language Model (LLM)**을 학습하는 예시 코드를 제공하겠습니다. 이 코드는 문자열 데이터를 사용하여 GPT-2 모델을 파인튜닝하는 방법을 다룹니다.아래 코드는 Trainer API를 사용하여 간단한 학습을 설정합니다. 이 예시에서는 단일 GPU에서 파인튜닝을 진행하며, 텍스트 데이터를 기반으로 GPT-2 모델을 훈련합니다. 사용하려는 LLM에 맞게 코드를 수정할 수 있습니다.Hugging Face Transformers를 이용한 LLM 학습 코드 예시1. 필요한 라이브러리 설치먼저 필요한 라이브러리를 설치합니다.bash복사편집pip install transformers datasets torch 2. 코드 ..

카테고리 없음 2025.05.08

시험대비 ㅎㅎ

1. AI 데이터 전처리1-1. 결측치 처리 방법 세 가지 비교·설명삭제(Complete-case analysis)방법: 결측치가 있는 행(row) 또는 열(column)을 통째로 제거장점: 구현이 간단하다단점: 데이터 소실이 심해질 수 있고, 삭제로 인한 편향(bias) 가능평균/중앙값 대체(Mean/Median imputation)방법: 수치형 변수의 결측치를 해당 변수의 평균 또는 중앙값으로 채움장점: 데이터량 유지단점: 분산이 과소평가될 수 있고, 분포 왜곡 우려예측모델 기반 대체(Model-based imputation)방법: 다른 변수들을 이용해 회귀/트리 등 예측모델을 학습한 뒤 결측치를 예측값으로 채움장점: 보다 정교한 대체, 변수 간 관계 반영단점: 구현 복잡, 과적합 위험1-2. SMO..

카테고리 없음 2025.05.08

vLLM LoRA adapter 띄우기

vLLM을 이용하여 LoRA Adapter 모델 서빙하기최근 업무를 진행하다가 vLLM을 이용해 LoRA Adapter 모델을 서빙해야 했던 상황이 있었다. 그런데 팀원이 base 모델 없이 LoRA Adapter의 경로만 전달해서 처음에는 약간 혼란스러웠다.LoRA Adapter를 vLLM에서 사용하기 위해서는 Base Model과 LoRA Adapter 모델 두 가지를 모두 명시적으로 제공해줘야 한다. 공식 vLLM 문서에서 관련된 내용을 찾긴 했지만, 실제 구현에 대한 레퍼런스가 부족해서 시행착오 끝에 성공한 내용을 공유하고자 한다.평소에는 주로 Kubernetes 환경에서 yaml을 통해 모델을 서빙했었는데, 이번 사례는 Docker 환경에서 작업을 진행했기 때문에 Docker 명령어 기반으로 설..

카테고리 없음 2025.03.12

02. 데이터베이스 시스템

1. 데이터 베이스 시스템의 구성 요소 데이터 베이스 시스템 데이터베이스 사용자, 데이터 언어, 데이터베이스 관리 시스템, 데이터베이스 서버, 데이터 모델, 데이터 베이스 1.1 데이터베이스 시스템 개념 저장소를 뜻하는 데이터 베이스와 이를 관리하는 DBMS는 다르다. 1.2 데이터베이스 사용자 일반 사용자, 응용 프로그래머, 데이터베이스 관리자 일반사용자 데이터 검색, 입력, 수정, 삭제 수행 응용 프로그래머 전문지식을 가지고 응용 프로그램을 개발할 목적으로 접근하는 사용자 데이터베이스 관리자 슈퍼 사용자로서 데이터베이스 시스템의 관리 총괄 보안, 백업, 회복, 성능 감시, 표준화 및 민원 조정 1.3 데이터 언어 데이터 정의어(DDL) 새로운 데이터베이스 구조를 정의하거나 기존 데이터베이스 구조 변경..

카테고리 없음 2023.05.15

[VUE] if, else 최소화

엄청나거나 대단한건 아니고 실무를 하면서 빠르게 빠르게 작업하다보니 if 문이 19개가 넘어가고 앞으로 운영함에 있어 100개가 넘어갈 수 있을 것 같아 개선해보고자 흔한 아이디어를 사용해봤다. 문제점 goEventRead(eventId){ if (eventId == 1) { // soonyang 이벤트 1 document.documentElement.scrollTop = 0; this.$router.push({ name: 'soonyang', params: { "event_id": eventId } }).catch((error) => { if (error.name === 'NavigationDuplicated') { location.reload(); } }); }, else..

카테고리 없음 2022.12.26

Entity 와 DTO 차이 (간단 요약 포함)

Entity Entity는 실제 DB 테이블과 매핑되는 핵심 클래스 데이터베이스의 테이블에 존재하는 컬럼들을 필드로 가지는 객체 (1:1로 테이블과 매핑되며, 테이블이 가지지 않는 컬럼을 필드로 못가짐) Entity → persistent의 목적, 즉 Request or Response 값을 전달하는 클래스로 사용하는 것은 안좋음 setter 사용 지양 변경되지 않는 인스턴스에 대해서도 setter로 접근이 가능해져서 객체의 일관성, 안전성을 보장하기 힘들어짐. Builder setter 대신 초기화 하는 기능으로 멤버 변수가 많아져도 내가 필요한 값만을 넣을수 있음. 예로 프로젝트 때 member 다 선언하고 밑에서 내가 필요한것만 따로 //Entity @Builder @Getter @Entity @N..

카테고리 없음 2022.10.11

추천시스템

추천시스템 개요 AI를 활용하는 분야가 대표적으로 이미지, 자연어, 추천 으로 분리되있다고 생각했다. 왜냐하면 취업 시장에서 위 세 가지를 개별적이나 조합해서 많이 구직하고 있기 때문이다. 이미지로 AI를 시작했지만 사람들이 좋아하는, 그리고 필요할 때 나타내주는 추천시스템 또한 꼭 배우고 싶은 기술이였다. 또 수학과 연관이 깊기 때문에 전공을 살려 공부를 할 겸 익혀야 필요성을 항상 염두에 두고 있었다. 그래서 그 개념부터 정리해보려한다. 추천시스템이란? 추천 시스템은 사용자의 스타일을 파악하고 그것에 따라 상품을 추천해 주는 것이다. 예로 유튜브, 넷플릭스, 홈쇼핑 등에서 사람들이 남긴 흔적들을 이용해 나도 모르는 사이 나에게 딱 맞는 서비스들을 제공해준다. 특히 넷플릭스는 추천시스템을 강조하면서 추..

카테고리 없음 2022.06.28

파이썬 Class

클래스를 사용하는 이유? 계산기를 떠올리자. 3+4+3 = 7 + 3 =10 인데 7의 결과값을 항상 저장하고 있어야한다. result = 0 def add(num): global result result += num return result print(add(3)) print(add(4)) >> 3 >> 7두 개의 계산 값을 가져야 할 때는 두개의 계산기가 필요하다 result1 = 0 result2 = 0 def add1(num): global result1 result1 += num return result1 def add2(num): global result2 result2 += num return result2 print(add1(3)) print(add1(4)) print(add2(3)) pr..

카테고리 없음 2022.06.07

(통계) 중심극한정리 - 왜 가우시안 분포를 쓸까?

모집단과 표본집단 모집단 : 우리가 관심있는 대상 전체 표본집단 : 모집단으로부터 추출된 모집단의 부분집합 중심극한정리(CLT) 중심극한정리 표본평균의 표본 분포에 관한 것 개념 : 모집단의 평균이 $\mu$이고 표준편차가 $\sigma$인 임의의 분포를 따른다고 할때, 모집단으로부터 추출된 ‘표본의 크기가 충분히 크다(n>30)면 표본 평균들이 이루는 분포는 평균이 $\mu$이고 표준편차가 $\frac{\sigma}{\sqrt(n)}$ 인 정규분포의 근사한다. 중요한 것은 그냥 무수힌 많이 뽑아서 모수를 추정한다기 보다 표본의 평균 이 가우시안 분포로 표현된다. 특히 위 식의 값을 갖는다. 라고 생각해야한다. 한줄평 : 그냥 집단에서 30개 이상 뽑으면 대충 평균과 표준편차를 짐작할수 있다. 중요한 이..

통계 2022.06.06