분류 전체보기 46

패스트캠퍼스 환급챌린지 : '파인튜닝과 RAG로 완성하는 도메인 맞춤형 LLM 서비스 개발' 강의 최종 후기

※ 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. ※ 안녕하세요😊 드디어 환급챌린지의 마지막! 파이널 미션 포스팅을 작성하게 되었습니다!처음 시작할 때만 해도, 매일 매일 꾸준히 블로그 포스팅을 이어갈 수 있을까 걱정이 많습니다.퇴근하고 집에 오면 늘 지쳐서 “오늘은 그냥 쉴까?”라는 유혹이 컸거든요.그런데 막상 도전을 시작해보니, 어느새 공부한 내용을 글로 정리하고 있는 저 자신을 발견했답니다.이렇게 꾸역꾸역 포스팅을 이어가다 보니 “꾸준함”이라는 근육이 조금씩 붙은 것 같아요. 지금 돌아보니 괜한 걱정이었구나 싶습니다. 그래서 오늘은, 뿌듯한 마음을 안고 이번 포스팅에서는 환급챌린지에 참여한 이유부터 앞으로의 계획까지 가볍게 정리해보려고 합니다 😏 🐥 환급챌린지에 참여한 이..

패스트캠퍼스 환급챌린지 50일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기

※ 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. ※ 안녕하세요, 어느덧 마지막 챌린지 포스팅이네요ㅠ좀 더 열심히 할 수 있었겠다는 아쉬움이 많이 남습니다.그래도 어떻게 챕터7까지 잘 마무리 하할 수 있어서 다행이네요 😏(앞으로는 다른 주제로 포스팅을 올릴 예정입니다!)오늘은 드디어 모델 서빙(serving) 단계입니다. 🎉지금까지 데이터를 전처리하고, 파인튜닝을 거쳐 평가까지 마쳤는데요. 결국 우리가 원하는 건 이 모델을 실제 환경에서 쓸 수 있도록 배포하는 거겠죠. 과연 어떻게 모델을 서빙할 수 있을지... 가볍게 정리해 보겠습니다 :) 🚀 캐릭터와 에피소드 데이터 만들기푸와 친구들의 캐릭터 설명과 수많은 에피소드들을 characters, episodes, episodes2..

패스트캠퍼스 환급챌린지 49일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기

※ 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. ※ 안녕하세요 49일차 포스팅...입니다...😂네... 44일차부터 48일차는 개인적인 일정으로 공부를 할 시간이 없어서 작성을 못했습니다ㅠ그렇게 100% 환급은 물 건너 갔지만...! 그대로 포기하기는 아쉽죠.50%환급은 45개 포스팅을 작성하면 가능한 것으로 알고 있어서 포기하지 않고, 듣던 강의를 이어 들었답니다. 지난번(43일차)까지는 데이터 전처리와 학습 과정에 집중했는데요. 오늘은 그다음 단계, 즉 "우리 모델이 잘 작동하는지" 확인하는 "테스트"와 "평가"에 대해 이야기를 해보려 합니다.테스트 없이 학습만 하면, 결국 “그림의 떡 🍰” 이겠죠? 모델이 진짜로 곰돌이 푸 페르소나를 갖고 말하는지, 아니면 그냥 또 다른 L..

패스트캠퍼스 환급챌린지 43일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기

※ 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. ※ 오늘은 곰돌이 푸의 성격과 말투를 담은 페르소나 챗봇을 본격적으로 만들기 위해 지난 시간에 준비한 학습용 데이터를 가지고 파인튜닝을 진행해봤습니다.세 가지 단계로 나눠서 정리해봤는데요.데이터 전처리부터 학습, 그리고 테스트까지 대략적으로 정리해봤습니다.캐릭터 페르소나 LLM 챗봇을 만들고 싶은 분께 작은 도움이라도 되면 좋겠네. 😊 📦 데이터 전처리 먼저 Hugging Face에 강사님께서 지난 시간 실습 결과로 업로드 해둔 'winnie-complete-chat-dataset'을 불러왔습니다.그리고 곰돌이 푸가 어떤 캐릭터인지, 어떤 말투로 대답해야 하는지를 알려주는 system prompt를 구체적으로 작성했죠.물론,..

패스트캠퍼스 환급챌린지 42일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기

※ 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. ※ 오늘은 지난 시간에 이어서 곰돌이 푸 페르소나 챗봇 데이터셋에서 마지막 단계인 검색 기반 RAG 데이터 생성 작업을 진행했습니다.😏이 단계는 단순히 대화를 만들어주는 것이 아니라, 검색된 문서를 참고해서 답변을 생성하는 구조를 학습 데이터에 녹이는 과정이기 때문에이전에 생성했던 싱글턴, 멀티턴 데이터와 통합하여 좀 더 풍부한 학습 효과를 챙길 수 있게 됩니다 :) 🔍 검색 기반 응답 설계먼저, 기존에 만들어 둔 질문 리스트에서 하나씩 꺼내 벡터 검색을 수행했습니다.OpenAIEmbeddings을 사용해 질문과 문서를 숫자 벡터로 변환했고,Chroma 벡터스토어에서 상위 5개의 연관 문서를 찾도록 했습니다.embedding = ..

패스트캠퍼스 환급챌린지 41일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기

※ 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. ※ 어느덧, 패스트 캠퍼스 강의를 들은지 40일이 훌쩍 넘었어요.이제 일주일 정도 뒤면 챌린지도 마무리되는데, 아마 'Part 7의 페르소나 챗봇 구현을 위한 파인 튜닝(캐릭터 챗봇)'과 'Part 8의 고객 응대 에이전트 파인튜닝'까지 공부한 여정?을 블로그에 올릴 수 있을거 같아요. 그럼, 오늘부터 Hugging Face와 LoRA를 활용해, 곰돌이 푸 스타일로 대화하는 페르소나 챗봇을 직접 파인튜닝한 과정을 정리해보겠습니다 😗 🐻 페르소나 설계 이번에 만들 페르소나 챗봇은 '곰돌이 푸'의 ‘말투’를 흉내내볼 예정입니다.시스템 프롬프트에 푸의 성격, 대화 속도, 문장 구조, 자주 쓰는 표현 등을 정의했습니다예를 들어, 짧은 문..

패스트캠퍼스 환급챌린지 40일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기

※ 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. ※ 파인튜닝한 LLaMA 모델을 이제 RAG에 올려 가볍게 챗봇을 만들어보는 실습을 진행해봤습니다.이번 실습의 핵심은 vLLM과 LangChain을 이용해, PDF 기반 문서 검색 + 응답 생성 파이프라인을 만드는 것이었습니다 😋 그럼, 시작해볼까요? 📂 PDF 데이터 로드 및 전처리가장 먼저, RAG 검색 대상으로 활용될 자료를 준비했습니다.강의에서 예제로 준비해준, '미국 ICT 정책 보고서' PDF를 다운받아 활용을 했습니다.데이터 전처리 과정은 이전에 실습했던 것과 다르지 않았는데요.아래의 과정을 거쳐 작업을 진행했습니다 :)PDF 파일 다운로드LangChain PyPDFLoader로 문서 로드RecursiveCharact..

패스트캠퍼스 환급챌린지 39일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기

※ 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. ※ 어제 실습까지 모델 파인튜닝이 마무리되었습니다. 😗하지만! LoRA 학습을 진행했기 때문에 학습된 어댑터를 베이스 모델에 병합했어야 했는데요.어댑터를 베이스 모델에 병합하고 저장하는 실습과 함께, LLM 성능 분석까지 진행해보았습니다. 🔀 LoRA 어댑터 병합 및 저장이번 파트의 파인튜닝 실습은 LoRA 방식으로 진행되었습니다.그렇기 때문에, 학습된 파라미터는 어댑터(adapter_model.bin) 형태로 저장되어 있었죠.이를 기반 모델에 머지를 해줘야 비로소 하나의 완성된 모델로 사용할 수 있게 됩니다.from transformers import AutoModelForCausalLMfrom peft import PeftMod..

패스트캠퍼스 환급챌린지 38일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기

※ 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. ※ 오늘은 NCSOFT에서 제공한 LLaMA 모델을 Hugging Face에서 내려받아 LoRA 파인튜닝 과정을 실습했습니다.RAG 응답 형식, 문서 인용 처리, 데이터 전처리부터 모델 테스트까지 꽤 탄탄한 흐름을 실습해보면서, RAG 모델의 튜닝과정을 정리해 볼 수 있는 시간이었습니다 😗 🧩 사용 모델과 환경 구성모델: NCSOFT/Llama-VARCO-8B-Instruct튜닝 방식: LoRA(Low-Rank Adaptation)런타임 환경: RunPod A100 GPU (50GB container disk) RunPod에서 A100 GPU 1대를 사용했습니다.파인튜닝은 Full fine-tuning이 아닌 PEFT(부분 파인튜..

패스트캠퍼스 환급챌린지 37일차 : 파인튜닝과 RAG로 완성하는 맞춤형 LLM 서비스 개발 강의 후기

※ 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. ※ RAG(Retrieval-Augmented Generation, 검색 기반 생성) 시스템을 사용하다 보면,검색 결과에 답이 없을 때도 있겠습니다.그런데 이때, LLM이 답을 하려 들면 문제가 생기죠.이를 바로 환각, 즉 할루시네이션(Hallucination)현상 이라고 말하는데요.사실이 아닌 내용을 마치 있는 것 처럼, 그럴듯하게 말해버리는 현상이죠.오늘은 이런 상황을 막기 위해 "No Answer 데이터셋" 을 제작하는 실습을 진행했습니다. 😇 🧩 No Answer 질문 생성 방식이번 실습은 다음과 같은 흐름으로 진행됐습니다.각 샘플마다 문서 5개를 묶어서 모델에 입력각 문서와 관련된 질문을 1개씩 생성하되, 5개 문서 중 그..