2024년 9월 19일
작성자 : 남상민
<용어>
랭체인(LangChain)으로 AI 웹서비스 만들기 with ChatGPT, LLaMA 2
- 랭체인이란?
- 초거대 언어모델(LLM) 어플리케이션 개발 프레임워크
- LLM 개발용 도구 모음(LLM 프레임워크)
- LLM 프레임워크 중 현재 기준으로 가장 많이 사용.
- 초거대 언어 모델(Large Language Model, LLM)
- GPT-3(1750억)
- PaLM2(3400억)
- LLaMA(70억, 130억)
- LLA, Chat?
- LLA : complit LLA mode. 사용자가 내용을 입력하면 그에 대한 AI가 확률적으로 적절한 응답 자동 완성시켜 준다.
- Chat : system, user, assistant로 분류하여 채팅 방식으로 ai가 응답하는 방식
- system : 시스템 설정으로 챗의 방식을 정한다.(예를들어. 성격, 어떻게 응답해줘야하는지를 정한다.)
- user : 사용자 입력한 내용
- assistant : system을 기준으로 user 내용에 대한 AI 응답 내용.
- Fine-tuning
- LLM : 초거대 언어모델. ex) ChatGPT, Llama2
- LangChain : LLM 프레임워크
- LangServe : LangChain 앱을 REST API로 배포하는 데에 도움을 줌
- Ngrok : 로컬 개발 환경을 외부에서 접근할 수 있도록 해주는 터널링 소프트웨어
- 개발 중인 웹 서버나 애플리케이션을 로컬에서 실행하면서 외부에서 접근하여 테스트 가능
- Lora : 대규모 언어 모델을 미세 조정할 때 모델 전체의 가중치를 변경하는 대신, 작은 크기의 어댑터 행렬을 추가 하여 학습하는 방법이다. 이를 통해 학습해야 할 파라미터수를 줄여 학습 속도를 높이고 메모리 사용량을 줄일 수 있다. 이렇게 하면 메모리 요구량과 계산 비용을 크게 절감할 수 있다.
<모델>
<학습 데이터셋 추출 및 JSON으로 변환>
- Chat GPT를 이용하여 프롬프트 작성 => 그에 따른 AI가 질문 및 답변 생성 => JSON형식으로 변환 => hugging face에 데이터셋을 업로드