Gemma2-ko-9B 모델을 법률 QA 셋에 대해 Fine-tuning 진행 해 보았습니다.허깅페이스의 trl, peft 라이브러리를 사용하여 LoRA, SFT Tuning을 진행하였습니다. LoRA에 대한 개념을 모르시는 분은 아래 게시물을 참고해주세요🙌2024.07.24 - [AI (인공지능) Paper Review/Gen AI (Large Model)] - [LoRA] Low-Rank Adaptation of Large Language Models 논문 리뷰 [LoRA] Low-Rank Adaptation of Large Language Models 논문 리뷰LLM의 대표적인 PEFT 방법인 LoRA입니다.기존의 Fine-tuning과는 달리 일부 parameter만 fine-tuning을 ..
LangChain에서 Arxiv 논문 문서를 바로 불러올 수 있는 사실! 우선 관련 라이브러리를 설치해 주어야 합니다.pip install -qU arxiv 아카이브 라이브러리 자체가 존재하는지를 몰랐네요... https://pypi.org/project/arxiv/ arxivPython wrapper for the arXiv API: https://arxiv.org/help/api/pypi.org 해당 라이브러리를 통해 Arxiv 논문을 pdf 파일로 바로 다운로드 받을 수도 있고, API를 호출할 수도 있습니다. 특정 키워드에 대한 검색도 가능합니다.query에 특정 값을 입력해줌으로써 관련 키워드를 가진 논문을 추출해 낼 수 있습니다. 다음으로는, arxiv.org에서 라이브러리를 통해 다운로드 한..
LangChain을 이용해 RAG 와 같은 토이프로젝트를 실행해보셨던 분들이라면 익숙하실 python 모듈입니다. https://pypi.org/project/chromadb/ chromadb Chroma. pypi.org RAG를 구현하려면 벡터 데이터베이스로부터 정보를 가져와 LLM에 전달해야 하죠? 벡터 데이터베이스 역할을 하는 것이 바로 Chromadb 모듈입니다. pypi 에 나와있는 모듈 특징을 보더라도 LangChain, LlamaIndex를 위주로 하는 데이터베이스 모델임을 확인할 수 있습니다. 다음 명령어를 통해 설치할 수 있습니다. pip install chromadb https://velog.io/@dasiy/%EB%AC%B8%EC%84%9C%EB%A5%BC-%EA%B8%B0%EB%B..
LangChain 관련 프레임워크를 공부하다 보면 각종 API key들을 호출하고 관리해야 할 필요가 있습니다.특히 OpenAI API key 처럼 토큰마다 유료 결제를 해 사용해야 하는 항목들의 경우 더 예민하게 관리해야겠죠😔 예를 들어 코드를 수정하다가 Github 과 같은 오픈 레지스토리에 내 API key를 실수로 올리게 된다면... 과금 대참사가 일어날지도 모릅니다..! 또 OpenAI 관련 Cookbook 들을 실습하다 보면 종종 OpenAI API key 가 환경변수로부터 호출되도록 코드가 짜여 있는 것 처럼API, Github Token 등등... 관리는 매우 중요합니다! 그래서 오늘은 OpenAI API key를 Python-dotenv 를 이용하여 환경변수에 관리하는 방법에 대해 알아..
본 게시물은 Deeplearning.ai 코스를 수강 후 요약 및 정리한 내용입니다. 본 강의의 마지막 파트 Agent 이다 ㅎㅎ Agent의 주된 개념은 Language model 이 다음에 취할 행동 (Action)을 선택하도록 하게끔 하는 것이다. 따라서 Agent에서 Language model은 어떤 Action을 취할지 결정하는 Reasoning Engine의 역할을 한다. 앞서 우리는 QA task와 같은 많은 task들을 다뤘지만, Reasoning Engine 과 같은 기능이 LLM에 있으면 좋을 것으로 생각된다. Agent 에서 중요한 것은 Language model을 Reasoning Engine으로 사용 할 것이기 때문에 temperature=0으로 지정해두고 코드를 작성해야 한다! ..
본 게시물은 Deeplearning.ai 코스를 수강 후 요약 및 정리한 내용입니다. 우리가 LangChain 을 통해 LLM 응용 문제들을 앞서 다뤄보았다! 그렇다면 우리가 다룬 내용들이 제대로 잘 동작하고 있는지, 진행되고 있는지 확인하기 위해서는 Evaluation Metrics 와 같은 평가 지표가 필요할 것이다. 대규모 언어 모델을 통해 만든 Task들을 평가하려면 어떤 과정을 거쳐야 할까? 각각의 파트들이 어떻게 작동하는지, input output 등을 잘 알고 있어야 한다. LM이 다른 LM, Chain 등을 서로 평가할 수 있다. example question 을 생성하고 example ground truth 들을 생성해서 평가하는 방법을 거친다. 디테일하게 하나씩 실습해 보도록 하자. 먼..