랭체인을 활용한 LLM기반의 AI서비스 개발하기-1/3
AI 기술을 알아보고 싶은분.
AI로 무엇을 만들수 있는지 알고 싶은분.
AI로 무엇을 만들어 보고 싶은분.
(전) 네이버 근무
(전) 네이버 인프라 담당자 7년 , 네이버 DNS 담당자, 네이버 초기 인프라 셋업
(전) 네이버 시스템 운영 1팀 - 네이버 만화, 영화, 뮤직 인프라 담당
(전) 한게임 시스템 운영
(전) 네이버 사내정보 시스템 운영
(전) PSINet이라는 글로벌 ISP - 네트워크 엔지니어로 7년 근무.
현재) 네이버 클라우드 마스터, SK데브오션 프로, 카카오 클라우드 테스터, AWS KRUG 비기너모임, 가비아 협업.
자격증 : AWS PRO , 네이버 클라우드 PRO , 구글 PRO , Azure Admin, CCNP(Cisco Network Pro)
AI는 원하는 것을 쉽고 빠르게 잘 만들어 주는 것이다.
기술을 이해하고 원하는 것을 만들어 사용하면 된다.
가장 많이 사용하는 챗Gpt 기술을 배워보자.
아래 내용에 대해 이론적으로 한번 설명
실습하며 한번 더 설명 됩니다.
https://brunch.co.kr/@topasvga/3865
https://brunch.co.kr/@topasvga/3871
https://brunch.co.kr/@topasvga/3899
https://brunch.co.kr/@topasvga/3910
https://brunch.co.kr/@topasvga/3932
https://brunch.co.kr/@topasvga/3998
https://brunch.co.kr/@topasvga/3848
https://brunch.co.kr/@topasvga/4155
AI 10탄-1. 디스코드 가입,미드저니 가입
AI 10탄-2. 미드저니 명령어
https://brunch.co.kr/@topasvga/4143
1
2
대형 언어 모델(LLM)은 방대한 양의 데이터를 기반으로 '사전 학습된' 초대형 딥 러닝 모델입니다.
대형 언어 모델은 기본 모델(FM)이라고 한다.
기본 모델 = 파운데이션 모델이라고 한다.
LLM은 라지 랭귀지 모델 = 대규모 언어모델이라고 한다.
텍스트로 질의하면 답변 준다.
3
동작
4
LLM 모델 생성 과정?
오랜 시간 동안 컴퓨팅 자원을 투자해 생성된다.
데이터 수집, 전처리
모델 설계
모델 학습
평가 및 검증
배포
LLL 모델 생성
5
SLM (Small Language Model)?
비용 효율적으로 요즘 많이 사용하는 추세이다.
SLM은 LLM의 성능을 어느 정도 유지하면서 모델 사이즈를 줄여 실용성에 초점을 맞춘 모델입니다. 가벼운 모델 크기로 추론에 필요한 컴퓨팅 자원이 적고, 빠른 추론 속도를 가져 실시간 응답이 필요한 서비스에 더 적합하다는 장점이 있습니다.
모델의 사이즈가 줄어들면 학습에 필요한 비용도 줄어들지만, 추론에 필요한 비용도 줄어든다는 장점이 있습니다.
6
OPENAI 모델들 ?
일반적으로 gpt-4를 사용한다.
gpt-4o-mini = SLM
dall-e = 이미지 생성
tts = text를 음성으로
whisper는 음성을 텍스트로
7
LLM에 질의하여 답을 얻습니다.
하지만, LLM은 부족한 부분이 있어, 이 부분에 대해 개선을 진행합니다.
프롬프트 엔지니어링, RAG , 파인튜닝, 재학습
프롬프트 엔지니어링?
검색 증강 생성(RAG)?
파인 튜닝?
재학습?
프롬프트 엔지니어링?
프롬프트(질문)으로 좀더 좋은 답을 찾아낸다.
그러나, 한계가 있다.
학습된 기간 이후의 데이터를 알수는 없다.
현재 미국 대통령은???
데이터 베이스에서 검색해서 질문에 가까운 정보를 더하여 LLM에 질문하여 답한다.
질문하면 LLM이 답변을 주는 게 FM이다.
그러나, 학습된 데이터에 없거나 전문성 있는 데이터가 필요한 경우는 콘텐츠 저장소를 만들어 질문을 보강하여 질문한다.
벡터 데이터 베이스가 필요하다
FM 모델 자체는 변경되지 않는다.
1
2
벡터 데이터베이스는 벡터를 고차원 포인트로 저장하고 검색하는 기능.
정보는 텍스트 문서, 리치 미디어, 오디오와 같이 비정형 정보.
애플리케이션 로그, 테이블, 그래프와 같이 정형화된 정보가 있다.
검색 증강 생성(RAG)에서 사용하는 벡터 데이터 베이스.
오프소스 벡터 데이터베이스 참고.
AWS에서도 다양한 벡터 데이터 베이스를 제공한다.
모델에 새로운 지식을 학습시키는 것은 파인튜닝.
모델 자체를 다시 쓰는 것은 파인 튜닝 = 튜닝을 하면 엔진이 변경된다~
데이터를 학습/훈련해서 만든 것이 LLM이다.
파인 튜닝은 전문적인 법률 데이터와 같은 내용을 추가 학습 하는 것이다.
기존 LLM에 데이터가 추가되는 것이다.
엔진이 변경된다.
변경된 엔진에 사용자가 질문하면 추가 학습된 내용으로 답변을 준다.
튜닝을 위한 학습 비용이 발생한다.
예)
파인 튜닝으로 법률 데이터 학습하는 과정.
1단계
데이터를 학습/훈련한다.
기본 LLM 생성된다.
2단계
파인튜닝으로 법률 데이터를 추가 학습한다.
새로운 LLM 엔진이 생성된다.
사용자는 추가 학습된 새로운 LLM에 질문하여 답변을 받는다.
1
LLM을 이용한 애플리케이션 개발 프레임워크이다.
2
랭체인은 LLM과 외부 도구를 사슬처럼 결합시켜 주는 것.
외부도구들이 다양한 역할을 한다.
앵무새 = 학습된 데이터를 기반으로 만든 LLM모델.
체인 = LLM과 외부도구(웹사이트, PDF reader, 계산기등)를 체인으로 엮은 것처럼 결합해 주는 SDK.
# 랭체인은 LLM과 외부 툴/에이전트를 결합해 주는 역할을 한다.
1
1) 모델 I/O 모듈 기능. - 프롬프트 생성, API 호출, 답변 출력 등
2) 데이터 연결 기능
3) 체인 기능
4) 메모리 기능
5) 에이전트 기능
에이전트 기능은 외부와 연계하여 실시간 정보를 가져와 서비스를 할 수 있게 해 준다. 리얼타임이 중요한 경우 연동개발의 필수 요소이다.
실습을 위해 개발 환경을 구축해야 한다.
대부분 파이썬을 이용해 개발한다.
파이썬 실습 환경을 구축하는 방법을 알아보자.
1
구글 코랩 가입
2
Windows PC에 아나콘다(파이썬)설치
3
Windows PC에 파이썬 설치, VSCode 설치
4
AWS Cloud9에 파이썬 설치
(aws에서 cloud9을 더이상 지원하지 않아, aws 신규 계정에서는 cloud9 사용불가)
LLM이 무엇인지?
프롬프트 엔지니어링?
RAG? 검색해서 보강해서 생성한다.
파인 튜닝? 특징?
랭체인이 무엇인지?
랭체인 기능 5가지
AI 개발환경 구축법 4가지
https://brunch.co.kr/@topasvga/3864