본문 바로가기

연구 과제 (끝나면 해당 카테고리로 이동)

(7)
챗봇 만들기 3탄 (특정 도메인을 학습시켜 보기) # 나만의 LLM 만들기나만의 LLM을 만들어보자. 1. 데이터 셋 만들기일단 데이터가 필요하니까, 데이터는 검색문을 파라미터로 하여 구글에서 크롤링을 해오자.아래와 같이 크롤링이 실행된다.크롤링이 완료되면 일단 CSV 파일로 저장한다.아래와 같이 저장이 된다.2. 생성된 데이터 셋을 가지고 학습하기데이터 셋 경로를 아래와 같이 크롤링 후 저장된 파일 경로와 파일로 지정한다.해당 파일의 경로를 참고로 학습이 이루어진다.학습을 시작하기 전에 새롭게 학습된 데이터는 아래와 같이 별도의 폴더로 생성되도록 구현했다.학습을 시작기본 모델에 크롤링한 데이터만 학습시키는 것이기 때문에 학습 시간은 사양 낮은 노트북을 에 비해 그리 오래 걸리진 않는다. 약 7분 소요.3. 학습된 결과를 가지고 테스트학습된 결과를 가지..
챗봇 만들기 2탄 (질문과 응답을 개선) # 챗봇 만들기 2탄챗봇을 만들어보자, 질문과 응답을 개선해 보자.1. 데이터 셋데이터 셋을 바꿔서 전처리를 수행하고 질문과 응답을 구현했다.데이터 셋의 데이터는 아래의 링크에서 활용했다.https://github.com/songys/Chatbot_data GitHub - songys/Chatbot_data: Chatbot_data_for_KoreanChatbot_data_for_Korean. Contribute to songys/Chatbot_data development by creating an account on GitHub.github.com2. 코드파이썬 코드는 아래와 같다.이전에 생성한 코드에서 데이터 셋의 경로와 데이터 셋 전처리 부분만 바꾼 후 테스트 데이터 약 1000개를 별도로 저장 ..
ChatBot(챗봇) 만들어보기 # 챗봇을 만들어보자.skt/kogpt2-base-v2 라는 한국어 모델을 활용해서 데이터를 학습 시켜보고 챗 봇을 만들어보자. 음 일단 학습을 시키기엔 내 노트북이 사양이 좋지 않으니, 학습 데이터 양을 조절해서 진행을 해야한다.학습 데이터의 양은 약 700개 정도이다. 원래 학습 해야할 데이터 셋의 약 10%정도를 학습을 시켜서 챗봇을 만들어 보고자 한다. 700개 학습 시키는데도 30분정도가 걸린다... 1. 데이터 셋 준비일단 데이터 셋을 준비 해야 하는데, 인터넷에서 잠시 찾아보면 쉽게 찾을 수 있다.예를들면 캐글에서 챗봇 데이터를 찾는다면 아래와 같이 쉽게 찾을수 있다. 이외에도 데이터는 많다. 깃헙만 가봐도 많이 찾을수 있다.https://www.kaggle.com/code/pinooxd/g..
LLM 파인튜닝 해보기 # 파인튜닝을 해보자skt/kogpt2-base-v2 모델을 활용하여, 파인튜닝을 진행해 보기로 했다. 학습전 상태학습 전에 아래와 같이 몇가지 질문을 던져보면, 어뚱한 답변을 한다. 아주 간혹 그럴듯한 답변을 하지만, 음... 이상하다.AI: 로로드밸런서가 뭔지 알아????????????????????????????????????사용자: l4AI: l4ml, 500ml, 500ml, 500ml, 500ml, 500ml, 500ml, 500ml, 500ml, 500ml, 500ml, 500ml, 500ml, 500ml, 500ml, 500ml,사용자: l4 l7AI: l4 l7Lv.1 lv.1 lv.1 lv.1 lv.1140 lv.1 lv.1 lv.1140 lv.1 lv.1 lv.1140 lv.1사용자:..
분산 트랜잭션 (2) 사이드카 패턴에 대해서 알아보고 이것저것 해보다가 문뜩 분산 트랜잭션에 대해서 궁금증이 생겼다.일단 트랜잭션이란 무엇인지 잠깐 정리하자면, 트랜잭션은 데이터베이스에서 하나의 논리적 작업 단위를 의미하며, 여러 개의 데이터베이스 연산을 하나의 작업으로 묶어 처리하는것을 의미한다. 트랜잭션의 주요 특징은 ACID 속성으로 요약된다.BEGIN TRANSACTION: 트랜잭션의 시작을 알린다. COMMIT: 트랜잭션을 성공적으로 완료하고, 모든 변경 사항을 데이터베이스에 영구적으로 반영을 수행 한다.ROLLBACK: 트랜잭션을 취소하고, 모든 변경 사항을 원래 상태로 되돌리는 작업을 수행한다. SAVEPOINT: 트랜잭션 내에서 특정 지점을 저장하여, 필요 시 해당 지점으로 롤백할 수 있게 한다. 1. 분산 환..
Sidecar-Pattern with 여러가지 (1) 이전 프로젝트에서 한가지 의문점이 있었는데, API 통신을 하기 위해서는 무조건 GateWay를 거쳐야 한다는 점이었다.예를들어 A pod와 B pod가 API를 통해서 데이터를 주고 받으려면 A pod > API GW > B pod 이런식의 플로우를 가지는데, 다이렉트로 pod대 pod통신을 하면 좀 더 효율적이지 않을까 싶은 생각 을 했었다.관련 내용을 찾아보던중 Sidecar Pattern 이라는 디자인 패턴을 보게 되었는데, 역시 사람들은 이미 몇년전에 해당 패턴을 가지고 테스트를 많이 했더라... 암튼, 사이드카 패턴은 우리가 잘알고  있는 isto나 aws사의 app-mesh 같은 서비스가 널리 사용이 되고 있다.이전 프로젝트도 사이드카로 datadog agent를 올려서 pod에서 발생하는 ..
Google SSO 인증 구현하기 # Google SSO 인증 구현1. 구글에 Application 등록https://console.cloud.google.com/  Google 클라우드 플랫폼로그인 Google 클라우드 플랫폼으로 이동accounts.google.com- 프로젝트 생성"프로젝트 만들기 또는 선택" 을 클릭하여 새로운 플젝을 하나 만든다.이름은 아무거나 입력.2. Application 등록- API 및 서비스 검색 > 사용자 인증 정보 > 사용자 인증 정보 만들기 > OAuth 클라이언트 ID 클릭. - 동의 화면 구성 > User Type : 외부 > 만들기 클릭. - 앱 정보(앱 이름, 사용자 지원 이메일) 입력 + 개발자 연락처 정보 입력 > 저장 후 계속. - 범위 추가 또는 삭제 클릭 > 범위는 기본값 email..