본문 바로가기

🤗허깅페이스(Hugging Face)8

Langchain 로컬 챗봇 만들기(gemma-2-2b-it) 저번시간에 gradio로 챗봇을 만들어 봤는데 파인튜닝할 때 사용하던 프롬프트가 제대로 먹히지 않아 모델 자체의 출력이 나온 것 같았다. 데이터셋을 자세히 보면 은근히 사람의 말을 '앵무새 처럼' 반복한다(...) 예를 들어 '~~~ 때문에 화가 나' 하면 '~~~ 때문에 화가 나시는군요' 이렇게 대답한다. (콱 한대 치고 싶다.)  원래 이 데이터셋은 감정분류에 사용하던 것이라 심리상담 챗봇에는 적당하지 않지만 원래 의도했던 출력을 위해 Langchain을 이용하여 로컬 챗봇을 만들어 보자. 먼저 Langchain과 Langchain huggingface를 설치해야 한다.pip install langchainpip install langchain-huggingface 사실 예전에 렝체인을 다룬 적 있었.. 2024. 11. 2.
gemma-2-2b-it 파인튜닝하기 ※ 후술하겠지만 recurrent gemma 2b it로 훈련하였더니 3시간 걸렸던 걸 24년 8월에 공개된 gemma 2 2b it로 교체하였더니 훈련이 1시간 안에 끝나면서도 성능은 훨씬 좋았다. 그래서 gemma 2 2b로 모델을 변경하였다. 1. 데이터 로드 및 전처리데이터 로드 및 전처리는 이전과 같다. 훈련 데이터와 검증 데이터를 불러오고 사람 문장(HS), 시스템 문장(SS)만 남겨 놓는다. 그리고 🤗datasets 라이브러리로 pandas 데이터를 변환한다.import pandas as pddata_path = ".\\Emotional_conversation_corpus\\"train_df = pd.read_csv(data_path+"Training.csv")valid_df = pd.re.. 2024. 10. 11.
recurrent gemma 2b 훈련을 위한 데이터 준비 및 처리하기 이전시간에 gemma 2b의 태생적 한계로 인해 프롬프트만으로 심리 상담 챗봇을 만들기에 부족함을 알았다. 파인튜닝을 위해 데이터를 준비하고 토큰화할 수 있도록 처리해야 한다. 🤗Huggingface의 🤗datasets 라이브러리를 이용해보자. 1. 데이터 구하기AI Hub의 '감성 대화 말뭉치'를 이용하였다. 용량도 20MB 정도로 그리 크지 않고 본인 컴퓨터에서 큰 무리 없이 돌릴만 하다고 판단되어 선택하게 되었다. 이 데이터를 이요하려면 회원가입 하고 몇 가지 동의 후 다운받을 수 있다.데이터 찾기 - AI 데이터찾기 - AI-Hub (aihub.or.kr) AI-Hub샘플 데이터 ? ※샘플데이터는 데이터의 이해를 돕기 위해 별도로 가공하여 제공하는 정보로써 원본 데이터와 차이가 있을 수 있으며.. 2024. 10. 3.
Recurrent Gemma 2b와 프롬프트로 심리상담 챗봇 만들기 심리상담가 챗봇을 만들 예정인데 full finetuning, lora 기법을 사용하기 전에 프롬프트로 심리상담 챗봇이 가능한지 알아봐야 한다. Recurrent Gemma 2b가 아무리 성능이 좋아졌다고 해도 태생이 2b 모델인 만큼 많은 기대를 할 수 없다. 프롬프트를 통하여 '어느 정도' 심리상담 챗봇을 구현할 수 있는지 알아보고자 한다. 1. 환경 구성하기이전 예시와 같이 모델을 불러와보자. 8bit 양자화를 했더니 출력이 잘 안된다. 4bit 양자화로 해 보자.import osfrom tqdm.auto import tqdmimport torchfrom transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfigos.env.. 2024. 10. 2.