📌 What is Generative AI?
📝 what is GenAI?
딥러닝의 한 분야로, 레이블이 없는 데이터를 바탕으로 학습해 텍스트, 이미지 등 새로운 콘텐츠를 만들어내는 인공지능을 의미한다.
📝 Foundation Model
대량의 데이터로 학습된 범용 AI 모델로, 다양한 작업에 맞게 추가학습(fine-tuning)하여 활용할 수 있는 기본모델을 의미한다. (몇몇 기업은 자체기반 모델을 만들어 학습하며, 오픈소스를 제공하는 기업도 있다.)
📝 Large Language Model(LLM)
기초모델에 의존하여 인간과 유사한 Text 생성을 위해 설계된 모델이다. 광범위한 언어 작업 수행이 가능하다.
📝 Generative Language Model
GenAI의 핵심 구성요소 중 하나로, 사람이 쓴 것처럼 자연스러운 텍스트를 생성하는 인공지능 모델이다. 주어진 프롬프트를 바탕으로 다음에 올 단어나 문장을 예측하여 생성할 수 있다.
Non-deterministic(비결정적) : 결과가 고정되지 않고, 여러 가능성 중 하나가 선택될 수 있는 시스템이나 과정일 의미 (즉, 동일한 프롬프트를 사용하는 모든 사용자에게 반드시 동일한 답변이 제공되는건 X)
📝 Diffusion Model

이미지 출처 : https://xoft.tistory.com/32
최근 가장 인기있는 이미지 생성 방식으로, 노이즈가 낀 이미지를 점점 복원해가며 새로운 이미지를 생성하는 딥러닝 모델을 말한다.
📌 Amazon Bedrock
📝 Amazon Bedrock
AWS에서 생성형 AI Application을 구축할때 사용하는 완전 관리형 서비스이다.
- 모델 훈련에 사용되는 모든 데이터 제어 가능
- 통합 API 사용 가능
- RAG, LLM agent 같은 고급 기술과 함께 사용 가능
- 보안, 개인정보보호, 거버넌스 제공
📝 Amazon Bedrock - Foundation Model
- AI21, Labs, Cohere 등의 기초모델을 제공
- 기초모델은 사용자 자체 데이터로 미세조정이 가능
- 이 모든것은 통합된 API를 이용해 엑세스 가능
📝 How to choose FM?
- 성능요구사항, 기능, 제약조건등 다양한 요인을 기준으로 기반모델을 선택
- 기반모델에 따른 지연시간은 서로 상이할 수 있다.
- AWS에서 직접 제공하는 FM은
Amazon Titan
- 작은 모델일수록 비용 효율성은 증가
- Max Token은 모델에 입력으로 사용할 수 있는 토큰수를 의미한다.
📌 Amazon Bedrock - Fine-tuning a Model
📝 Amazon Bedrock - Fine-tuning Model
기초모델에 자신의 데이터를 사용해 특정 도메인에 맞춰 맞춤화하는 기능을 의미한다.
- 고객이 제공한 소량의 고품질 데이터를 이용해 동일한 프롬프트에도 고객 맞춤 응답 생성이 가능
- S3 버킷에 데이터를 업로드하여 조정하는 방식을 이용
프로비저닝된 처리량(Provisioned Throughput) : Amazon Bedrock에서 모델을 실행할때 성능을 보장하는 방식으로, 지정된 처리량을 예약하여 예측 가능한 성능을 보장받는다.
- 모든 모델이 Fine-tuning이 가능한건 아님
📝 Instruction-Based Fine-tuning (명령어 기반 미세조정)
최근 생성형 AI에서 널리쓰이는 모델 훈련 기법 중 하나로, 모델이 명령어를 이해하고 따르도록 학습시키는 맞춤형 파인튜닝 방식이다.
- 레이블이 지정된 예제 (프롬프트-응답쌍)을 이용해 조정
📝 Continued Pre-training(사전학습)
지속적인 사전학습을 의미하며, 도메인 특화 비지도 데이터(레이블이 지정되지 않은 데이터)를 이용해 사전학습을 이어가는 방식이다.
📝 싱글턴(Single-turn) 메시징과 멀티턴(Multi-turn) 메시징
대화형 AI 모델을 파인튜닝하거나 평가할 때 사용하는 대화 방식의 분류 방법으로 파인튜닝에서 매우 중요하게 다뤄지는 개념이다. 명령어 기반 미세조정의 하위 집합으로 분류된다.
- 싱글턴 메시징 : 1개의 질문과 1개의 응답쌍만 학습 또는 처리
- 다중턴 메세징 : 연속된 문맥을 고려한 대화. 여러 차례의 대화를 주고 받음
📝 Transfer Learning (전이학습)
기존 학습된 모델을 활용해 새로운 작업에 적용하는 방식으로, 이미지 분류 및 자연어 처리에 사용된다. 미세조정은 전이학습의 한 종류로 분류된다.
- 특정성격, 목적의 챗봇 개발이나 회사 독점 데이터 활용, 최신 데이터 반영을 위해 사용한다.
📝 학습 항목 별 비용 순위
- 지속적 사전학습
- 파인튜닝
- 명령어 기반 미세조정
- 전이학습
📌 Amazon Bedrock - FM Evaluation
📝 모델 자동 평가
- Bedrock의 자동평가 기능은 품질관리를 위해 모델을 평가하는것을 의미
- 텍스트 요약 연습, 질문과 답변, 텍스트 분류 등 내장된 작업 유형을 선택해 평가
- 평가를 위한 프롬프트 데이터셋을 직접 제공하거나, Amazon에서 제공하는 데이터셋을 사용하는것도 가능
- 점수 계산 방식 : BERT, F1 Score
📝 벤치마크 데이터셋
- 언어 모델의 성능을 평가하기 위해 설계된 데이터셋으로, 다양한 주제와 복잡성을 포함
- 모델의 정확성, 속도, 확장성, 편향 및 차별 가능성을 탐지
- 특정 비즈니스 요구사항에 맞는 맞춤형 데이터셋도 생성 가능
📝 사람 직접 평가
- 자동평가 외 사람이 직접 평가하는 방식도 존재
- 직원이나 전문가가 모델 생성 응답을 검토, 평가
- 평가방식 : 좋아요/싫어요, 순위매기기
- 더 자유로운 맞춤형 평가 가능
📝 FM 평가 지표
- ROUGE : Text 모델 평가 지표, 자동요약이나 기계 번역 평가에 사용
- BLEU : 기계 번역 품질 평가
- BERT : 단순 단어 비교가 아닌 문맥과 의미적 유사성 평가
- PPL(Perplexity) : 모델이 다음 단어를 얼마나 잘 에측하는지 평가
📌 Amazon Bedrock - RAG & knowledge Base
📝 Amazon Bedrock - RAG
RAG란 검색 기반 생성이라는 의미로 LLM이 외부 지식을 검색해 가져온 뒤, 그 정보를 바탕으로 답변을 생성하는 방식을 의미한다.
- 자주 바뀌는 데이터 + 내부 전용 정보가 필요한 경우 RAG를 추천
📝 Amazon Bedrock - 지식베이스(knowledge Base)
구조화되었거나 비구조화된 문서 정보를 저장해두는 데이터 저장소로, AI가 질문에 답하기 위해 검색할 수 있는 지식 창고를 의미한다. RAG에서는 지식베이스가 LLM이 참고할 외부 문서 저장소의 역할을 한다.
벡터 데이터베이스 : RAG나 AI 응답 시스템에서 지식베이스와 함께 사용되는 구성 요소로, 지식베이스는 정보의 집합을 의미하며 벡터 데이터베이스는 그 정보를 검색할 수 있게 임베딩(벡터화)한 후 저장/조회하는 기술적인 저장소를 의미한다. (ex. openSearch, Document DB, Aurora...)
임베딩 모델 : 문서를 벡터로 바꾸는데 사용하는 모델로 Amazon Titan, Cohere등이 있다. (응답을 생성하는 파운데이션 모델과는 서로 다른 모델을 사용해도 된다.)
지식은 지식베이스에, 검색은 벡터 데이터베이스에서 진행된다고 생각하면 된다!
또, 벡터 DB에 넣기 위해 숫자 벡터로 변환하기 위해서는 임베딩 모델을 사용한다.
📌 More GenAI Concepts
📝 GenAI Concepts - 토큰화
텍스트를 AI가 처리할 수 있는 토큰으로 쪼개는 과정을 의미한다. 즉, AI는 단어 자체가 아닌 숫자토큰을 처리하게 된다.
📝 GenAI Concepts - Context Window
한번에 모델이 기억할 수 있는 토큰수를 의미한다. Context window가 클수록 긴 질문, 문서 흐름을 더 잘 이해할 수 있다.
📝 GenAI Concepts - 임베딩
단어, 문장 같은 텍스트를 고차원 숫자 벡터로 바꾸는 과정을 의미한다. 이로 인해 단어의 의미, 역할, 감정, 유사성등을 수치로 담을 수 있게 된다.
임베딩 + 벡터 데이터베이스 = 검색 가능!
(벡터 데이터베이스에 단어 벡터를 저장해두면, 유사한 의미를 가진 다양한 단어들을 벡터 데이터베이스에서 검색 가능)
📌 Amazon Bedrock - GuardRails
📝 Amazon Bedrock - GuardRails
사용자가 파운데이션 모델을 사용할떄 더 안전하게 사용할 수 있도록 제약을 걸어주는 기능으로, 특정 주제나 유형의 질문을 차단하거나 필터링 하는것을 도와준다.
주요 기능으로는,
- 주제 제한
- PII(개인 식별 정보) 자동 제거
- 환각 감소
- 모니터링 가능
📌 Amazon Bedrock - Agent
📝 Amazon Bedrock - agent
질문에 답하는것을 넘어서, 스스로 생각하고 여러 단계를 수행하며 실제 시스템과 상호작용하는 지능형 도우미
- 단순 답변 제공을 넘어서 복잡한 일을 스스로 판단해 처리하는것이 가능하다.
Agent Monitoring : Agent가 어떤 순서로 작업을 수행했는지 추적이 가능하다.
📌 Amazon Bedrock & CloudWatch
📝 Amazon Bedrock & CloudWatch
- 모델 호출 로그 기록 확인 가능
- CloudWatch Log Insight 기능으로 실시간 로그 분석 가능
- CloudWatch Metrics 기능으로 지표 수집 및 경고 기능 사용 가능
- 알림 설정 가능
📌 Amazon Bedrock - 가격
📝 Amazon Bedrock - 가격
온디맨드 모드 : 사용한 만큼 가격 부담, 예측 불가능한 경우 유용
배치 모드 : 한번에 여러 요청을 받으며 실시간 응답 제공 X (단, 저렴함), 대량처리/빠른 응답이 필요하지 않을 경우 유용
사전 할당 처리량 : 일정기간 동안 예약된 처리량 구매, 비용절감보다는 성능/확장 처리량 보장 용도
📝 Amazon Bedrock - 모델 개선 기술 비용 비교
프롬프트 엔지니어링 : 프롬프트 개선, 비용 거의 X
RAG : 외부 벡터 DB 사용, 벡터 DB 비용만 받으니 비교적 저렴
미세조정 파인튜닝 : 특정 지침을 반영한 파인 튜닝으로 비교적 저렴
도메인 맞춤 파인튜닝 : 도메인 맞춤형 전체 재학습 방식으로 높은 가격
📝 Amazon Bedrock - 비용 절감 전략
- 온디맨드 모드 사용
- 배치 모드 사용
- 프롬프트 최적화
- 작은 모델 사용
- 모델 매개변수 조정