[천재교육] 프로젝트 기반 빅데이터 서비스 개발자 양성 과정 9기
학습일 : 2024.11.18
📕 학습 목록
- LLM
- RAG
- AI Agent
📗 기억할 내용
1. LLM
1) 정의
- LLM(Large Language Model)은 대규모 언어 모델을 의미하며, 자연어 처리(NLP)를 위한 AI 모델임
- 방대한 양의 텍스트 데이터를 학습하여 인간처럼 텍스트를 생성하고 이해할 수 있도록 설계된 모델
2) 주요 특징
① 대규모 데이터 학습
- 인터넷, 책, 논문 등 방대한 양의 텍스트 데이터를 기반으로 학습
- 다양한 언어, 주제, 맥락을 이해하고 처리할 수 있음
② 딥러닝 기반 구조
- 주로 Transformer 구조를 기반으로 설계됨
- Transformer는 자연어 이해와 생성에서 뛰어난 성능을 보임
③ 문맥과 맥락 이해
- 단순히 단어를 나열하는 것이 아니라, 문맥을 이해하고 자연스러운 문장을 생성
- 질문에 적합한 답을 제공하거나, 복잡한 텍스트를 요약 가능
④ 범용성
- 특정 도메인에 국한되지 않고, 법률, 의료, 교육 등 다양한 분야에 활용 가능
- 추가 학습(파인튜닝)을 통해 특정 작업(예: 요약, 번역)에 최적화 가능
3) LLM의 주요 역할
- 텍스트 생성: 소설, 기사, 이메일, 코드 등을 자동 생성
- 질의응답: 질문에 대한 답변 생성
- 문서 요약: 대량의 텍스트를 간결하게 요약
- 번역: 다국어 간의 텍스트 번역
- 감정 분석: 텍스트에서 감정을 분석(긍정, 부정 등)
- 추천 시스템: 사용자 선호를 바탕으로 콘텐츠 추천
4) 대표적인 LLM
- GPT (Generative Pre-trained Transformer):
- OpenAI에서 개발한 모델
- ChatGPT, GPT-4 등이 포함됨
- BERT (Bidirectional Encoder Representations from Transformers):
- Google에서 개발
- 텍스트 이해 작업에 강점
- PaLM (Pathways Language Model):
- Google의 최신 LLM
- LLaMA (Large Language Model Meta AI):
- Meta에서 개발한 언어 모델
- Claude:
- Anthropic에서 개발된 LLM
5) LLM의 작동 원리
- 프리트레이닝(Pre-training)
- 대량의 데이터를 기반으로 언어 패턴과 구조를 학습
- 예: "고양이는 ___"에서 빈칸에 "귀엽다"와 같은 단어를 예측
- 파인튜닝(Fine-tuning):
- 특정 도메인(의료, 법률 등)이나 작업(번역, 요약)을 위해 추가 학습
- 입력-출력 처리
- 입력: 사용자가 텍스트를 입력
- 출력: 입력의 맥락을 이해하고 적합한 답변이나 결과를 생성
6) LLM의 한계
- 사실성 부족: 학습 데이터가 오래되거나 잘못된 정보일 경우, 부정확한 답변을 생성
- 큰 자원 요구: 훈련과 추론에 고사양의 GPU 및 대량의 메모리 필요
- 윤리적 문제: 부적절한 콘텐츠 생성이나 편향성
7) LLM의 활용 분야
- 교육: 학생의 질문에 답변하거나 학습 자료 생성
- 비즈니스: 고객 서비스 챗봇, 이메일 자동화
- 의료: 의학 논문 요약, 환자 질의 응답
- 법률: 판례 검색 및 요약
- 콘텐츠 제작: 기사 작성, 소셜 미디어 콘텐츠 생성
2. RAG
1) 정의
- RAG(Retrieval-Augmented Generation) 는 언어 모델(LLM)과 정보 검색(Retrieval) 기술을 결합하여 보다 정확하고 신뢰할 수 있는 텍스트를 생성하는 방법론
- RAG는 대규모 언어 모델의 한계를 보완하고, 최신 정보나 대규모 외부 데이터에 기반한 응답을 제공하기 위해 고안됨
2) 작동 방식
① 사용자의 입력(질문)
- 사용자가 질문을 입력하면, 모델은 이를 기반으로 외부 데이터베이스에서 필요한 정보를 검색
② 정보 검색 단계 (Retrieval)
- 검색 엔진이나 데이터베이스에서 질문과 관련된 문서를 가져옴
- ex: 내부 문서, 논문, 웹 검색 등
③ 생성 단계 (Generation)
- 검색된 정보를 언어 모델(LLM)이 활용하여 최종적인 응답을 생성
- LLM은 검색된 정보를 참조하여 질문에 정확하고 문맥적으로 적합한 답변을 제공
3) RAG의 구성 요소
- 정보 검색 시스템
- RAG의 첫 번째 단계로, 사용자의 입력과 관련된 문서를 가져옴
- ex: Elasticsearch, BM25, Dense Retrieval(BERT 기반 검색)
- 언어 모델 (LLM)
- 검색된 문서를 기반으로 텍스트를 생성하는 역할
- GPT-3, GPT-4, T5, BERT 등의 모델이 사용됨
- 통합 메커니즘
- 검색된 정보를 언어 모델에 입력하여 답변 생성
- LLM은 검색된 데이터의 문맥을 분석하여 답변을 생성하거나 데이터를 보강
4) RAG의 장점
- 최신 정보 활용
- LLM은 학습된 데이터에 기반하지만, RAG는 외부 검색을 통해 최신 정보 반영 가능
- 신뢰성 향상
- 언어 모델만 사용할 경우 발생할 수 있는 "할루시네이션(사실과 다른 응답 생성)" 문제를 줄임
- 검색된 데이터를 바탕으로 응답을 생성하기 때문에 신뢰성이 높아짐
- 대규모 데이터 처리
- 검색 시스템을 통해 모델이 직접 학습하지 않은 대규모 데이터와 연계
- 도메인 특화
- 특정 분야(의료, 법률 등)의 데이터를 검색하고 활용함으로써 전문적인 답변 생성
5) RAG의 한계
- 검색 품질 의존
- 검색 시스템이 관련 없는 데이터를 반환할 경우, 최종 응답 품질이 낮아질 수 있음
- 실시간성
- 검색 과정이 추가되므로 일반적인 언어 모델보다 응답 시간이 더 길 수 있음
- 정확도 문제
- 검색된 데이터가 부정확하거나 편향된 경우, 최종 응답도 부정확할 가능성이 있음
6) RAG의 주요 활용 사례
- 고객 서비스
- 회사의 내부 FAQ, 문서 데이터를 기반으로 고객 질문에 실시간으로 답변
- ex: Zendesk와 GPT 통합
- 법률 및 의료
- 판례나 의학 논문 데이터베이스를 검색하여 사용자가 이해할 수 있는 답변 생성
- ex: Casetext(법률) 및 IBM Watson Health(의료)
- 교육
- 대규모 데이터베이스를 검색하여 학생 질문에 맞춤형 답변 제공
- ex: AI 기반 학습 도우미
- 기업 검색 엔진
- 회사 내부 문서와 데이터를 활용하여 직원의 질문에 정확한 답변 제공
- ex: 기업 내 지식 관리 시스템(KMS)과 RAG 통합
- 연구 및 논문 작성:
- 최신 연구 데이터나 논문을 검색하여 작성을 보조
7) RAG와 전통적인 LLM의 차이점
3. AI Agent
1) 정의
- AI Agent는 특정 작업이나 문제를 해결하기 위해 설계된 지능형 시스템
- 주어진 목표를 달성하기 위해 환경과 상호작용하며 의사결정을 내리고 행동
- 즉, AI가 목표 지향적으로 행동하는 "디지털 에이전트"
2) 주요 구성 요소
① Perception (지각)
- 외부 환경을 감지하고 데이터를 수집
- ex: 카메라, 센서, 사용자 입력 등을 통해 정보를 획득
② Reasoning (추론)
- 입력 데이터를 분석하고 의사결정을 내림
- ex: 머신러닝 알고리즘, 규칙 기반 시스템
③ Action (행동)
- 의사결정 결과를 기반으로 환경에 영향을 미치는 행동을 수행
- ex: 로봇의 움직임, 시스템 명령 실행
④ Learning (학습)
- 경험으로부터 학습하고, 시간이 지남에 따라 성능을 개선
- ex: 강화학습, 지도학습, 비지도학습
⑤ Memory (기억)
- 과거 데이터를 저장하고 이를 기반으로 추후 의사결정을 지원
- ex: 사용자의 이전 질문을 기억해 컨텍스트를 유지
3) AI Agent의 유형
- Reactive Agent (반응형 에이전트)
- 단순히 현재 상태를 기반으로 행동
- 과거 데이터를 저장하거나 학습하지 않음
- ex: 자동문 센서
- Deliberative Agent (계획형 에이전트)
- 환경 정보를 기반으로 복잡한 계획을 세우고 행동
- ex: 자율주행 자동차
- Learning Agent (학습형 에이전트)
- 경험으로부터 학습하고, 성능을 점진적으로 개선
- ex: AI 챗봇, 개인화된 추천 시스템
- Multi-Agent System (다중 에이전트 시스템)
- 여러 에이전트가 협력하거나 경쟁하여 문제를 해결
- ex: 로봇 군집 시스템, 스마트홈 시스템
4) AI Agent의 주요 기능
- 문제 해결
- 특정 문제를 분석하고 최적의 해결책을 제안
- ex: 물류 최적화, 경로 계획
- 의사결정
- 주어진 상황에서 가장 적합한 행동을 선택
- ex: 금융 거래 시스템
- 자동화
- 사람이 수행해야 할 반복적인 작업을 자동화
- ex: 이메일 필터링, 작업 스케줄링
- 상호작용
- 사용자 또는 다른 시스템과의 실시간 상호작용
- ex: 고객 서비스 챗봇
5) AI Agent의 주요 활용 사례
- 가상 비서 (Virtual Assistant)
- ex: Siri, Google Assistant, Alexa
- 자연어 처리(NLP)를 통해 사용자의 질문에 답변하고 작업을 실행
- 자율주행 (Autonomous Driving)
- AI 에이전트가 차량의 환경을 인식하고, 주행 결정을 내림
- ex: Tesla의 자율주행 시스템
- 게임 에이전트 (Game AI)
- 플레이어와 상호작용하거나 독립적으로 게임을 수행
- ex: AlphaGo, OpenAI의 Dota 2 에이전트
- 로봇 공학 (Robotics)
- 물리적 환경에서 작업을 수행하는 로봇 제어
- ex: Boston Dynamics의 Spot 로봇
- 고객 지원 (Customer Support)
- AI 챗봇이 고객의 질문을 이해하고 답변 제공
- ex: Zendesk AI, ChatGPT 기반 상담 시스템
- 의료 (Healthcare)
- 환자의 데이터를 분석하여 치료를 지원
- ex: IBM Watson Health
6) AI Agent와 LLM, RAG의 관계
- LLM (Large Language Model)
- AI Agent가 언어를 기반으로 상호작용할 때, 언어 이해와 생성 능력을 제공
- ex: 고객 질문에 대한 응답 생성
- RAG (Retrieval-Augmented Generation)
- AI Agent가 외부 데이터 검색을 통해 최신 정보를 활용하도록 지원
- ex: 법률 문서 검색 후 요약 제공.
📙 내일 일정
- 최종 프로젝트
'TIL _Today I Learned > 2024.11' 카테고리의 다른 글
[DAY 87] Django REST Framework & 중간 프로젝트 (0) | 2024.11.21 |
---|---|
[DAY 86] 중간 프로젝트_ 채점 기준 선정 (0) | 2024.11.20 |
[DAY 83] 중간 프로젝트_ KST 알고리즘의 활용 (0) | 2024.11.15 |
[DAY 82] 중간 프로젝트_ KST 알고리즘의 활용 (0) | 2024.11.14 |
[DAY 81] 중간 프로젝트_ 영어 발음 채점 서비스 구현 (1) | 2024.11.13 |