본문 바로가기

AI/AI TECH

(12)
[AWS] VPC - EC2 초기 설정 VPC (Virtual Private Cloud)여러 IP를 제공할 수 있는 가상 클라우드 공간VPC 공간 안에서 Public과 Private Subnet을 분리하고, EC2와 연결.외부 요청은 Public Subnet의 웹 서버 (EC2)가 받고, 실제 데이터 처리는 Private Subnet의 서버나 DB에서 수행하는 형태VPC의 기능서브넷(Subnet) : VPC를 다시 쪼갠 작은 네트워크 단위IP 그룹Private Subnet과 Public Subnet 있음.Private은 DB용으로 많이 사용함.EC2를 생성해서 EC2와 Public Subnet과 연결하면 외부에서 접근 가능한 EC2가 됨.그 반대로 EC2와 Private Subnet과 연결하면 내부에서만 접근 가능한 EC2가 됨.인터넷 게이트..
[플레이데이터 SK네트웍스 Family AI 캠프 21기] 1월 2주차 회고 - 3차 프로젝트 RAG 수업이 끝나갈때쯤 3차 프로젝트 팀이 발표되었다. 3차 프로젝트에 주어진 시간은,,, 2일,,,😱짧은 시간안에 RAG를 설계부터 개발까지 해야하는 상황이라 팀원들과 미리 모여서 주제선정하고 프로젝트 구성까지는 미리 잡고 시작하기로 했다. RAG 기반 AI Agent 개발Chatbot 형태로 대화 가능한 어플리케이션 구현 (화면 필수 아님, 터미널 가능)RAG는 검색 기반으로 출처가 명확한 정보 제공을 하는 AI Agent니까 그만큼 데이터 주제가 명확해야한다고 생각했다.법률, 요리 레시피, AI 모델들 검색해서 비교해주는 Agent 등 여러가지 의견들이 나왔고, 이야기하다보니 가장 명확한건 우리도 실제로 쓸 수 있는 Agent를 만들어 보자. 했다.함께 지내는 수강생들도 팀원들도 수업 내용을 복..
[LLM] Finetuning 양자화와 PEFT LLM Finetuning은 기존의 모델을 특정 분야에서 더 잘하게 만들기 위해서 진행된다. 특히 법률QA나 의료 상담, 사내 문서등에 사용된다.그럼 RAG랑 LLM Finetuning이랑 비슷한 역할 아닌가❓ 할 수 있지만 엄연히 다르다.RAG는 모델이 학습되어있는 정보 외에 외부 지식을 제공하여 출처 정확한 답변을 주도록 하는 역할이다. 검색 tools를 추가하여 최근 뉴스 정보를 가져오고 답변을 해주는 역할도 있다.RAG를 통해 AI Agent를 만들었는데 그게 성능 개선이 필요한데 이미 RAG에서 할 수 있는걸 다했고 리트리버에서 출력된 문서도 이미 너무 잘 찾은 상태이고 모델도 여러가지 바꿔봤고,,, 프롬프트도 개선하면서 진행을 하는데!!!!!!model이 추측 답변을 한다거나 잘 찾은 문서에대..
[RAG] Advanced RAG ✨✨✨✨ RAG는 구현은 쉽다 ➡️ 잘하는게 중요하다!!!! ✨✨✨✨Naive RAG의 문제점 : 답변 품질이 안좋다😓검색이 "비슷한 것"은 찾는데 "정답 근거"를 제대로 못하는 경우Generate : 근거가 있어도 LLM이 "hallucination(환각)" 현상이 있는 경우DB 구축 단계에서 split : 검색한 문서가 너무 길고 복잡해서 정답에 필요한 chunk를 LLM이 찾지 못하는 경우단순 검색 질문이 아닌 비교/조건/절차/근거 요구가 많은 질문인 경우, 최신성/정확성 중요한 경우, 근거가 확실한 결과여야하는 경우+ 문서가 많고 구조가 복잡하면 Adcanced RAG (고도화 설계)가 필요하다.1. DB구축 단계 고도화ParentDocumentRetriever저장할 때부터 "작은 조각(Chil..
[플레이데이터 SK네트웍스 Family AI 캠프 21기] 12월 1주차 회고 이번주에는 토크나이징 ➡️ 벡터화 ➡️ 임베딩 ➡️ RNN/LSTM/GRU ➡️ Seq2Seq 까지 NLP 처리 과정에대해 배웠다.📌 어휘 사전(Vocabulary)과 Out Of Vocabulary (OOV)어휘사전(Vocab)은 토크나이저(Tokenizer)가 사용하는 모든 토큰의 집합이며, 각 토큰을 고유한 정수 ID에 매핑한 사전이다.OOV는 어휘사전에 포함되지 않은 토큰으로 [UNK]로 대체해서 처리한다.Korpora : 한국어 NLP 실습을 위한 다양한 말뭉치 패키지Kiwi : 형태소 분석/토크나이저 패키지📌 Subword Tokenization(하위 단어 토큰화)BPE (Byte-Pair Encoding): 자주 등장하는 문자 쌍 (Byte-Pair)을 반복적으로 병합하여 subword를..
[플레이데이터 SK네트웍스 Family AI 캠프 21기] 11월 4주차 회고 - 2차 단위프로젝트 벌써 어느새,,, 머신러닝 모델 종류들과 딥러닝 역전파에대해서 배울 수 있었다. 특별히 이번주는 팀프로젝트도 진행해서 엄청 빨리 지나갔다.1차 프로젝트는 자동차 관련 자유 주제였는데 2차 프로젝트는 가입 고객 이탈 예측하는 모델을 개발하는것이었다. 가입 고객 이탈 예측 데이터를 찾기에는 아무래도 공개해주는 기업이 많이 없고 종류도 많이 없기때문에 어떤 데이터로 개발을 진행할지에대한 고민이 많았다.Kaggel 데이터셋 중 사용할 수 있는 데이터들 목록을 추렸고 Churn 예측 연구에서 가장 많이 쓰는 표준 데이터셋은 Telco Customer Churm 이었다. 다른 팀에서 무조건 겹칠 주제로 생각이 되어서 제외시켰다. Spotify 주제로 결정을 했으나 이것또한 다른 팀에서 이미 한다고 해서 다른 주제로..
[sklearn.metrics] 분류형 평가지표 자세히 분석하기 ✔ confusion_matrix실제 값(y_true)과 예측 값(y_pred)을 비교하여 오차 행렬을 반환한다.ConfusionMatrixDisplay : 오차 행렬을 시각화 할 수 있는 모듈from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplaycm = confusion_matrix(y_test, y_pred)disp = ConfusionMatrixDisplay(confusion_matrix=cm)disp.plot(cmap="Blues")cm 오차행렬 : train set [[1167 45] [ 27 108]] 여러 모델을 학습 시켜보면서 오차행렬을 구하고, 오차행렬을 통해 평가지표를 만든다.각 모델마다 평가지표를 비교해..
[플레이데이터 SK네트웍스 Family AI 캠프 21기] 11월 1주차 회고 이번주에 드디어 머신러닝이 시작했다. 먼저 기존 프로그램 방식과 머신러닝의 프로그램 방식의 차이점에대해서 이해하고 실제 데이터 분석 실습까지 진행했다.🤖 AI, 머신러닝, 딥러닝의 차이AI (인공지능) : 딥러닝 & 머신러닝 기술로 사용자들에게 서비스를 제공하는 형태.Machine Learning (머신러닝) : 대부분 정형 데이터. 학습 데이터를 통해 규칙(함수)를 만들어내 결과를 예측하거나 분류하는 기술 분야.Deep Larning (딥러닝) : 인공신경망 알고리즘 기반으로 머신러닝의 한 분야. 비정형 데이터에서 뛰어난 성능을 나타냄.딥러닝 🆚 기존 프로그래밍 방식 vs 머신러닝 방식기존 프로그래밍 방식 : 데이터 / 프로그램 (함수, 알고리즘) -> 컴퓨터 -> 결과 (Output)머신러닝 프로..