728x90
반응형
주제 소개
애플리케이션 설명
- 기능: 사용자가 기분, 상황, TPO 등을 설명하면 적절한 옷 코디 제안
- 입력: 사용자의 기분/상황/TPO 설명(자연어)
- ex) 겨울비가 와서 기분이 울적할 때, 소극장에서 하는 친구 공연을 보러 갈 때
- 출력: 해당 입력 값에 알맞은 옷 코디(자연어) + 색상 배합(이미지)
- ex) 전체적인 코디 스타일 및 색상 조합
애플리케이션 개발 FLOW
- 파이프라인 아웃라인
- 각 기능별 필요한 세부 기능 확인
- 프론트엔드 설계
- input과 output을 중심으로 디자인
- 구현 및 디버깅
애플리케이션 파이프라인 아웃라인
- 사용자 Input(자연어): 질문, 혹은 요청의 형태
- 생성 AI (LLM): 시스템 프롬프트 조정
- 생성된 Output(자연어): 사용자 요청에 알맞은 코디
- 색상 배합(이미지): 제안한 코디 시각화
프론트엔드 설계
- 사용자 Input / LLM이 생성한 Output / 색상 배합 이미지
- 기본적으로 챗봇 형태 + 색상 배합 시각화
구현 및 디버깅
- 간단한 Python 앱 데모 프레임워크인 Streamlit 사용
- LLM은 API로 제공되는 모델(ChatGPT, Claude 등) 중에서 선택
- 구현이 편리하고 인퍼런스(모델 Output 생성)가 효율적이며 성능도 우수
- 색상은 생성 AI의 output에서 추출하여 별도로 시각화
주제에 적합한 모델 선택 가이드
Open Source vs Proprietary
- 현재 거대 언어모델은 크게 오픈 소스(누구나 무료로 사용) 모델과 사유(API를 통해 유료로 사용) 모델로 나뉨
- 사유 모델들이 오픈 소스 모델에 비해 성능 측면에서 더 뛰어난 경향
- 오픈 소스 모델들도 최근 빠르게 발전하고 있음
Open Source LLM
- 학습된 모델의 파라미터들을 공개하여 누구라도 이를 추가 학습 추론 등에 활용할 수 있음
- 구체적인 사용 제한은 해당 모델의 License 부분 확인(특히, 상업적 이용)
- 일반적으로 무료로 사용할 수 있다는 장점이 있으나, 인퍼런스 파이프라인을 직접 구현해야 함
- 경우에 따라 인퍼런스 서빙 비용이 클 수 있음
- LLaMA, MPT, Alpaca, Vicuna, Falcon 등이 대표적
Proprietary LLM
- 모델의 파라미터는 공개하지 않고 대신 API end point를 제공하여 권한이 있는 유저들이 편하게 사용할 수 있도록 함
- API 사용량에 따라 비용이 발생하나, 모델 인퍼런스 관련해서 신경 쓸 것이 없음
- 구현이 편리하고 MS Azure 등의 우월한 클라우드 인프라의 혜택을 받을 수 있음
- 현재 기준으로는 오픈 소스 모델들에 비해 성능도 뛰어난 편
- ChatGPT(Open AI), Claude(Anthropic), Bard(Google) 등이 대표적
LLM 리더보드
- LLM은 그 output 특성상 평가가 쉽지 않지만 몇 가지 랭킹들이 공개되고 있음
사유 언어모델 간 비교
- GPT-3.5 Turbo가 Claude Instant와 유사(가격, 성능, 속도)
- GPT-4는 Claude 2와 유사
- 성능 측면에서는 전반적으로 GPT가 우위
- Claude는 가격과 Context Length가 장점
모델 선택
- 이번 프로젝트에서는 OpenAI의 GPT-3.5 Turbo(4K) 선택
- 흔히 ChatGPT라고 알려진 모델
- 영어 기준 1K token이 약 750 단어 정도이므로, 본 애플리케이션에서는 4K로 충분
- 750 단어를 생성하는데 $0.002 이므로, 비용적으로도 크게 부담이 되지 않음
기본 코드 구조 및 UI 확인
OpenAI API
- User input을 prompt로 입력받아 GPT 답변을 반환하는 함수
- openai.ChatCompletion API 활용
Streamlit
- Input text, Output text, image를 위한 프론트엔드 구현
UI 확인
- 챗봇 + 이미지 형태의 프론트엔드 UI 확인
728x90
반응형
'IT 공부 > 생성형 AI' 카테고리의 다른 글
[생성형 AI] 컴퓨터 비전(Computer Vision)과 Diffusion (3) | 2024.11.20 |
---|---|
[생성형 AI] 프롬프트 엔지니어링 애플리케이션 구현 (1) | 2024.11.20 |
[생성형 AI] 애플리케이션 개발을 위한 생성AI 활용 프로세스 이해하기 (6) | 2024.11.11 |
[생성형 AI] 미드저니, AI IMAGE (8) | 2024.11.11 |
[생성형 AI] 프롬프트 비식별화 (5) | 2024.11.09 |
댓글