728x90
LLM이란 Large Language Model의 약자로 대규모 데이터로 사전 학습된 초대형 딥러닝 모델을 의미합니다.
- Large의 두가지 의미
- 대규모 데이터셋을 사용
- 매우 큰 파라미터 수
- 다양한 작업을 수행하며 일반적으로 대부분 잘 답변하는 모델
LLM 챗봇?
- LLM 기술을 기반으로 만들어진 대화형 인공지능 시스템 (ChatGPT)
LLM 챗봇 설계 시 고려사항
- 이해관계자들에 대한 정의 (End User, 이해관계자)
- End User (최종 사용자)
- 실제로 서비스를 이용하는 사용자
- Stakeholder(이해 관계자)
- 프로젝트 또는 서비스에 직/간접적으로 영향을 받는 모든 사람
- EX, CEO, 기획자, 개발자 등이 포함될 수 있음
- 프로젝트의 End User와 이해관계자는 다를 수 있음
- 즉 최종 사용자가 반드시 프로젝트의 주요 이해관계자일 필요는 없으며, 프로젝트의 목표와 성격에 따라 이해관계자의 범위가 달라질 수 있음
- End User (최종 사용자)
- 서비스 유형에 따른 고려사항
- 사내용 vs 고객용 서비스 (B2B/B2C)
- 사내용 서비스:
- 이해관계자 간 기능 조정 가능
- Error / Bug 허용 가능성 높음
- 고객용 서비스 :
- B2B/B2C 여부 고려
- B2B (기업 대상 서비스)
- 실제 고객도 이해관계자로 포함될 수 있음
- B2C (일반 소비자 대상 서비스)
- 실시간 대응 필요 (속도 중요)
- 철저한 테스트 필요 (고객 요구 불확실성)
- 프로젝트 성공 기준 (Metric / KPI ) 와 시나리오별 고려
- 성공 기준 & 리스크 관리
- 오픈 or 성공 기준 (Metrics 정의 필요!)
- 최악의 시나리오: 실패 방지 위한 전략 필요
- 고려할 사항:
- 충족시켜야 할 정보는?
- 생겨선 안 되는 최악의 상황은?
- 이를 막기 위한 Metric & Test Case 설계
- Use Case 및 Test Case 설계
- Use Case 정의
- 서비스가 어떻게 사용될 것인가?
- Test Case 설계
- 사내용 서비스 -> 이해 관계자와 협의하여 버그 허용 범위 설정
- 고객용 서비스 -> 예상할 수 없는 상황 대비 (QA 강화)
- Use Case 정의
- 이해관계자들과의 커뮤니케이션 전략
- 고객/이해관계자는 원하는 것을 명확히 알지 못할 수도 있다.
- 핵심은?
- 질문을 통해 요구사항 도출
- 말, 글, 그림 & 아키텍처 다이어그램 활용
- 회의 시 일정 관리:
- 명확한 Agenda 설정 필수
- Prompt Engineering
- 원하는 응답을 유도하기 위해 prompt (모델 명령문 / 지시문) 를 정교하게 설계하는 기술
- 모델 자체를 변경하지 않고 prompt를 통한 문제 해결을 의도함
- P : 너는 훌룡한 영어 선생님이야 내가 말한 질문에 대해서 영어로 잘못된 정보가 있으면 고쳐줘
- Q : She go to school every day -> A : She goes to school every day
- RAG ( Retrieval-Augmented Generation)
- 검색 기반 응답 생성 모델
- LLM이 사용자의 질문과 관련된 정보를 검색(Retrieval)하여 응답을 생성
- 답을 하기 위해 필요한 참조 정보를 (context) 결합하여 답을 하는 방식
- P : 당신은 친절하고 전문적인 고객 지원 담당자입니다.
- Q : 딸기 배송 상태를 확인하고 싶어
- C : 딸기 배송 상태 : 도착 예정 : 2일 후
- A : 고객님의 주문은 현재 배송 중이며, 약 2일 내에 도착할 예정입니다.
- Chain / Agent / Multi-Agent
- Chain (체인 구조)
- 여러 개의 단계적인 처리를 연결하여 응답 생성
- 고객 문의 응답 시스템 ( ex. 질문 분석 -> 문서 검색 -> 정보 요약 -> 응답 생성)
- Agent (에이전트 기반)
- 다양한 기능을 수행하는 개별 AI 에이전트를 활용
- 스마트 홈 시스템 (ex. 음성 인식 agent, 자연어 처리 agent, 제어/모니터링 agent - 개별 동작)
- Multi-Agent (멀티 에이전트 구조)
- 여러 개의 AI 에이전트가 협력하여 고도화된 응답을 생성
- 자율 주행 시스템 (ex. 인지 & 판단 & 제어 & 통신 agent 협력)
- Chain (체인 구조)
- 아키텍쳐 Best Practice
- 디자인 패턴 / 베스트 프랙티스
- 이미 알려진 사례 ( 타 회사, 오픈 소스 등) 참고
- 논문, 책 등 다양한 자료 활용 가능
- 사례 조사
- 공개적으로 발표된 아키텍처 ( 예 : OpenAI, Hugging Face 사례 등)
- 자체 구현(Private) 사례
- 디자인 패턴 / 베스트 프랙티스
- LLM 종류 (Private & Public)
- Private 모델 (ex. OpenAI-gpt4)
- 장점 : 빠른 적용 (API), 업데이트 용이
- 단점 : 비용 (토큰 사용량)
- Public 모델 (ex. Meta - Llama 개열)
- 장점 : 커스텀 가능
- 단점 : 데이터 보안 이슈, 유지 비용, 인프라 필요
- Private 모델 (ex. OpenAI-gpt4)
- Embedding vs Generation ( LLM 활용 범위 )
- Embedding 모델 기준
- Context 길이 제한
- 비용 (Private/Public)
- Multi-modal 지원 여부
- 답변 Generation 모델
- 비용, 시간, context size
- GPU 리소스, API 유무, 라이선스 제한
- Human alignment, 데이터 보안
- Embedding 모델 기준
- 데이터 & API 고려사항
- API 및 Data 확보
- 이미 데이터가 존재하는지, 혹은 신규로 구축해야 하는지
- Real-time API / Async / Batch / Serverless 형태 고려
- 데이터가 없다면?
- Prompt Engineering 위주 접근
- 데이터가 있다면?
- Data Engineer, DBA, DevOps/MLOps 와 협업
- DB 구조, CDC(변경 데이터 캡처) 필요성
- API 및 Data 확보
- 스토리지(DB) & Vector Store
- File / DB 구조
- csv, json, pickle 등 파일 형태
- local DB (sqlite, duckdb 등)
- Vector Store
- OpenSearch, ChromaDB, Milvus 등
- 개인 이력 관리
- 로컬 분석용 "Sercverless db" (duckdb, sqlite)
- File / DB 구조
- Batch vs 실시간 처리
- 배치성 처리
- 정기적으로 대량 데이터 업데이트
- ETL 툴 활용 (polars, pandas, numpy, pyspark, scala 등)
- 실시간 처리
- 신규 데이터 즉시 반영
- kafka, etc.
- 배치성 처리
- LLMOps & 운영 전략
- Prompt 이력 관리
- 어떤 Prompt 가 효과적이었는지 버전 관리
- LLMOps 관련 기술
- LangChain, Ollama, Lansmith, Langfuse 등
- 가드레일(Guardrails)
- Human Alignment
- 유해 발언, 차별적 내용 필터
- Prompt 이력 관리
LLM 챗봇 설계시 고려 사항
- 주요 포인트
- 다양한 이해관계자 정의 및 커뮤니케이션
- 서비스 유형 (사내용 vs 고객용) 별 고려사항
- 프로젝트 성공 기준 (Metrics), 시나리오별 리스크 관리
- Prompt Engineering & RAG 등 주요 기법
- Chain / Agent / Multi-Agent 구조
- 아키텍처 및 모델 (Private vs Pulic) 선택 전략
- Embedding vs Generation 모델 분류
- 데이터 / 스토리지 전략 & LLMOps 운영 방안
- 개인 정보 및 보안 이슈
- 다음 단계
- 우선순위 결정 : 프로젝트의 목표와 규모에 맞춰 가장 중요한 사항부터 적용
- 프로토타입/PoC 수행 : 작은 범위에서 시범 적용 후 개선점 도출
- 확장 계획 수립 : 데이터, 인프라, 보안 정책을 종합적으로 확장
- 지속적 모니터링 : LLMOps 기반으로 Prompt 이력, 성능, 보안 업데이트
728x90
'AI' 카테고리의 다른 글
딥러닝 개요 (0) | 2025.02.21 |
---|---|
머신러닝 기초 (0) | 2025.02.21 |
# 24.10.16_ 아키텍처 설계 사례 분석 : Netfilx (7) | 2024.10.16 |
# 24.10.15_ ollama 로컬에서 사용 (0) | 2024.10.15 |
# 24.10.15_ 사전학습 모델 + GPT + BERT모델 (6) | 2024.10.15 |