전체 글
Vector Search
* 이 글은 패스트캠퍼스 [The RED : 프롬프트 엔지니어링, LLM(ChatGPT) 기반의 AI 서비스 개발] 강의를 듣고 작성되었습니다. 프롬프트 엔지니어링에서 답변을 위해서 적절한 컨텍스트를 제공하는 것이 가장 중요합니다. 적절한 컨텍스트를 제공하는 방법이 벡터 서치입니다. 벡터 서치에 사용되는 개념은 아래와 같습니다. Embedding 텍스트를 실수의 집합인 벡터로 만드는 것 단어가 어느 차원에 위치하는지 표현 단어가 유사한 의미를 가지면 근처에 위치하도록 함 Vector Search 임베딩 스페이스에서 서로 유사한 것들끼리 찾도록 함 각 요소간의 거리를 distance 혹은 similarity라고 함 Semantic Search는 의미 기반 서치를 의미 ANN 차원이 커지면서 고차원의 벡터를..
프롬프트 엔지니어링
* 이 글은 패스트캠퍼스 [The RED : 프롬프트 엔지니어링, LLM(ChatGPT) 기반의 AI 서비스 개발] 강의를 듣고 작성되었습니다. 모델링 혹은 파인튜닝 필요한 경우 숫자를 예측하는 선형 회귀 문제 대량의 로그성 데이터의 실시간 처리 특수 목적의 매우 높은 정밀도를 요구하는 문제 데이터의 최신성이 중요하지 않은 경우 데이터 보안이 매우 중요한 경우 프롬프트 엔지니어링이란? : 인공지능 모델이 이해하여 원하는 결과물을 제공할 수 있도록 프롬프트 입력값을 최적화하는 과정 프롬프트 엔지니어링 종류 Zero-shot: 앞의 정보 없이 명령 One-shot: 하나의 예시를 주면서 명령 Few-shot: 여러 예시를 주면서 명령 Chain of Thought: 생각하는 방식의 가이드를 제공 Zero S..
SMOTE
SMOTE는 불균형 데이터를 분류하고자 할 때 사용하는 방법으로 minority 데이터를 oversampling하는 방법입니다. T: minority 표본 수 N: Amount of SMOTE N% k: Number of nearest neighbors x점과 k-nearest neighbor 내에 있는 점 중 임의의 점 y 선택 minority 데이터 x와 임의의 점 y의 차이 diff 계산 x + gap * diff (이 때, gap은 0과 1사이의 난수) 위의 과정 N번 반복 위와 같은 과정으로 두 개의 점을 잇는 선을 따라 임의의 점을 선택하여 oversampling할 수 있습니다.