Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- aiagent
- Streamlit
- amazonlinux
- kafka
- ubuntu
- SQL
- 설치
- RAG
- Dag
- grafana
- 오블완
- 루프백주소
- docker
- airflow설치
- Python
- sparkstreaming
- Redshift
- airflow
- dockercompose
- hadoop
- javascript
- pySpark
- vectorDB
- milvus
- jmx-exporter
- prometheus
- BigQuery
- MSA
- spark
- metadabatase
Archives
- Today
- Total
데이터 노트
[LLM & RAG & AI Agent] 각각의 정의, 특징, 구성요소 및 작동 방식을 이해해보자. 본문
회사에서 LLM을 위한 ETL 파이프라인을 만드는 프로젝트에 참여하게 되었다.
아직은 시작 단계는 아니지만, 관련 용어들에 대한 기본적인 정의가 부족한 듯 하여, 내용을 정리하게 되었다.
LLM
정의
- LLM(Large Language Model) : 대규모 언어 모델
- 방대한 양의 텍스트 데이터를 학습하여 인간의 언어를 이해하고 생성할 수 있는 AI 모델
특징
- 대규모 데이터 학습 : 수십 테라바이트의 텍스트 데이터로 학습된다.
- 언어 이해 및 생성 : 자연어를 이해하고 생성할 수 있다.
- 다목적성 : 다양한 언어 관련 작업을 수행할 수 있다.
작동 방식
- 트랜스포머 아키텍처
- LLM은 주로 트랜스포머라는 신경망 아키텍처를 기반으로 한다.
- 자기 주의 메커니즘 (self-attention 메커니즘)
- 트랜스포머 모델은 자기 주의 메커니즘을 사용하여 텍스트의 맥락을 이해한다.
- 딥러닝
- 여러 층의 신경망을 통해 데이터 패턴을 학습한다.
- 확률적 예측
- 학습한 패턴을 바탕으로 다음에 올 가능성이 높은 단어나 문장을 예측한다.
- 파인튜닝
- 특정 작업에 맞게 추가 학습을 통해 성능을 최적화한다.
⇒ 그런데 AI 모델이란 대체 뭘까?
AI 모델
정의
- 대량의 데이터를 학습하여, 특정 작업을 수행하거나 예측을 생성하는 알고리즘 기반 시스템.
- 인간의 개입 없이 자율적으로 패턴을 인식하고 결정을 내릴 수 있다.
구성
데이터 | 모델 학습에 사용 되는 대규모 데이터 세트 |
알고리즘 | 데이터를 처리하고 패턴을 학습하는 수학적 로직 |
학습된 패턴 | 알고리즘이 데이터에서 추출한 특정 패턴이나 규칙 |
파라미터 | 모델의 성능을 조정하는 변수들 |
작동 방식
- 데이터 입력 : 대량의 데이터를 모델에 입력한다.
- 패턴 인식 : 알고리즘이 데이터에서 패턴과 관계를 파악해낸다.
- 학습 : 인식된 패턴을 바탕으로 모델이 학습을 수행한다.
- 예측 또는 의사결정 : 학습된 내용을 바탕으로 새로운 데이터에 대한 예측이나 결정을 수행한다.
유형
머신러닝 모델 (ML 모델) | 데이터를 기반으로 학습하여 예측이나 결정을 수행. |
딥러닝 모델 (DL 모델) | 심층 신경망을 사용하여 복잡한 패턴을 학습. |
규칙 기반 모델 | 미리 정의된 규칙에 따라 결정을 내린다. |
⇒ 그럼 이제 LLM 모델과 같이 많이 나오는 용어, RAG에 대해 알아보자.
RAG
정의
- RAG(Retrieval-Augmented Generation)
- LLM의 성능을 향상시키기 위해 외부 지식을 활용하는 기술
구성 요소
Query/Prompt | 사용자의 입력 쿼리나 프롬프트 |
Retriever | 지식 베이스에서 관련 정보를 검색하는 컴포넌트 |
Knowledge Base | 검색될 정보를 포함하는 외부 데이터 소스 |
LLM | 쿼리와 검색된 정보를 바탕으로 출력을 생성하는 강력한 언어 모델 |
작동 방식
- 사용자의 쿼리를 받는다.
- Retriever가 지식 베이스에서 관련 정보를 검색한다.
- 검색된 정보와 원래 쿼리를 LLM에 입력한다.
- LLM이 이 정보를 바탕으로 응답을 생성한다.
⇒ 그럼 모든 것과 연관 혹은 기반이 되는 생성형 AI에 대해서도 정리해보자.
생성형 AI
정의
- 텍스트 뿐만 아니라 이미지, 음성, 음악 등을 생성해내는 AI 모델 통칭
- 모든 생성형 AI가 텍스트를 입력값 / 출력값으로 가지는 것은 아니다.
주요 용어
- 프롬프트
- 질문.
- 어떻게 질문을 잘하느냐에 따라 출력값이 달라지기 때문에 ‘질문. 프롬프트’가 중요.
- 파라미터 (매개변수)
- 모델들이 얼마나 정교하고 다양한 질문에 대답을 해주는지 가늠을 해주는 중요한 지표
- 파라미터 개수가 많을수록 다양한 질문에 대해 정교하게 상황에 맞는 최적의 답변을 해준다.
- 예시로, GPT3이 1750억, GPT4가 1조개 이상, 라마 80/800/4000억 …
- 10억 = Billion → 80B, 70B, 400B 로도 표한한다.
- 토큰
- AI 모델 입장에서 이해하는 가장 작은 텍스트 단위
- 가장 기본적인 과금 단위
- 파운데이션 모델 / 파인튜닝
- 파운데이션 모델 : LLM 그 자체.
- LLM 이다 하면 파운데이션 모델이 기반이 된다.
- 질보다는 많은 양과 시간이 중요. GPT3 자체가 파운데이션 모델.
- 만드는데 비용도 비싸고 시간도 많이 소요 된다.
- 파인 튜닝은 파운데이션 모델을 기반으로 특정 목적에 맞게 추가 학습을 시킨 모델.
- 모델 뒤에 ~instruct라고 붙는 경우가 많다.
- gpt3가 파인튜닝이 되어서 chat gpt.
- 빠르면 하루 만에도 만들 수 있음.
- 컨텍스트 길이
- LLM이 입력값으로 받아들일 수 있는 최대 토큰 수.
- 예를 들어, chatgpt 같은 경우, 1번 채팅방에서 내이름을 알려주고 그 다음 질문을 하면 대답을 해주는데 그것은 학습된 것이 아니라 chatgpt가 동작할 때 앞의 대화 내용까지 다 문맥 전체를 인풋으로 주기 때문에 가능한 것. 2번 채팅창에서 내 이름 뭐야라고 질문하면 답 못함.
- 입력값이 받아들일 수 있는 토큰 수가 많을 수록 더 최적화된 답변을 해 줄수 있다.
그래서 초반에는 파인튜닝으로 LLM 자체를 정교하게 하는 것에 집중했다면, 그건 시간과 비용도 많이 들기 때문에 컨텍스트 길이를 늘려 입력값을 풍부하게 하려고 하고 있고, 그 다양한 방법 중 대표적인데 RAG.
⇒ 그럼 AI Agent라는 것은 뭘까?
▪︎ AI Agent
정의
- 인공지능 기술을 활용하여 자율적으로 작업을 수행하고 의사결정을 내릴 수 있는 지능형 소프트웨어 시스템
특징
- 자유렁 : 인간의 직접적인 개입 없이 독립적으로 의사결정하고 행동할 수 있다.
- 환경 인식 : 센서를 통해 주변 환경을 인식하고 데이터를 수집한다.
- 목표 지향성 : 주어진 목표를 달성하기 위해 계획을 수립하고 실행한다.
- 학습 능력 : 경험을 통해 지속적으로 학습하고 성능을 개선한다.
구성 요소
센서(Sensors) | 환경으로부터 데이터를 수집하는 인터페이스 |
프로세서(Processors) | 수집된 데이터를 처리하고 의사결정을 수행 |
액추에이터(Actuators) | 결정된 행동을 실제로 실행하는 구성요소 |
지식베이스(Knowledge Base) | 에이전트가 보유한 정보와 경험을 저장 |
작동 방식
- 인식 : 데이터 피드, 사용자 입력, 센서 등을 통해 주변 환경을 감지합니다1.
- 의사결정 : 인식한 데이터를 기반으로 AI가 의사결정을 내립니다1.
- 실행 : 결정이 내려지면, 직접 이메일을 보내는 등 실제 액션을 취합니다
예시
아래 글 내에 기재되어있는 예시들을 보면 AI 에이전트에 대해 보다 이해하기 좋았다.
https://app.dalpha.so/blog/ai-agent/
LLM, RAG, AI Agent를 이해하고 이에 필요한 데이터를 적재하기 위한 데이터 플로우를 만드는 것에 대해 공부해나가자.