OpenAI - OpenAI DevDay 2024 | Balancing accuracy, latency, and cost at scale
앱의 사용자 기반이 빠르게 확장됨에 따라 지속 가능한 확장이 필요합니다. 1,000명의 사용자에게 효과적이었던 전략이 100만 명에게도 효과적이지 않을 수 있습니다. OpenAI의 Colin Jarvis와 Jeff Harris는 앱 확장을 위한 일반적인 함정과 기술을 다루며, 최적화 아이디어를 제공합니다. 초기에는 정확성을 최적화하고, 목표에 도달하면 지연 시간과 비용을 최적화합니다. 정확성 목표를 설정하고, 평가를 통해 모델의 성능을 측정하며, 최적화 기술로는 프롬프트 엔지니어링, RAG, 미세 조정 등이 있습니다. 비용 절감과 지연 시간 개선을 위해 네트워크 지연, 프롬프트 지연, 출력 지연을 분석하고, 프롬프트 캐싱과 BatchAPI를 활용할 수 있습니다. 이러한 기술을 통해 비용을 절감하고, 더 많은 요청을 처리할 수 있습니다.
Key Points:
- 정확성 목표 설정 후 최적화 시작
- 프롬프트 엔지니어링, RAG, 미세 조정 활용
- 네트워크, 프롬프트, 출력 지연 분석
- 프롬프트 캐싱과 BatchAPI로 비용 절감
- 지속 가능한 확장을 위한 최적화 전략 제공
Details:
1. 🚀 앱 성장과 확장 도전
- 앱의 사용자 기반이 빠르게 확장되고 있으며, 두 배 이상 증가하고 있습니다.
- 성장이 멈추지 않고 있으며, 지속 가능한 확장을 위한 도전이 필요합니다.
- 1,000명의 사용자에게 효과적이었던 것이 100만 명에게는 적용되지 않을 수 있습니다.
- 사용할 LLM을 결정하고, 비용을 예측 및 관리하는 방법을 결정해야 합니다.
- 응답 시간을 빠르게 유지하는 방법을 고려해야 합니다.
- 기술적 도전 과제에는 서버 확장, 데이터 처리 최적화, 사용자 경험 개선 등이 포함됩니다.
- 성공적인 확장을 위해서는 사용자 피드백을 적극 반영하고, 데이터 기반 의사 결정을 통해 전략을 조정해야 합니다.
2. 📚 최적화의 중요성과 모델 개선
- GPT-4o는 4 Turbo보다 두 배 빠르며, 비용 절감을 위해 지속적으로 노력하고 있음.
- 2022년에 출시된 text-davinci-003 모델 이후, 토큰당 비용이 약 99% 감소함.
- GPT-4의 32k 버전에서 백만 토큰의 비용이 $120였으나, 현재 GPT-4o mini로는 60센트로 200배 개선됨.
- GPT-4o mini 출시 이후, 플랫폼의 토큰 소비량이 두 배 이상 증가함.
- 이러한 개선은 사용자에게 더 빠르고 경제적인 AI 솔루션을 제공하여, 다양한 산업에서의 활용도를 높임.
3. 🎯 정확성 최적화 전략과 평가 기반 개발
3.1. 정확성 향상 전략 소개
3.2. 정확성 목표 설정 및 평가
3.3. 정확성 목표 달성을 위한 최적화
3.4. 평가 기반 개발의 중요성
4. 🤖 고객 서비스 네트워크 테스트와 정확성 목표 설정
4.1. 고객 서비스 네트워크의 복잡성
4.2. 고객 서비스의 일반적인 사용 사례
4.3. LLM을 활용한 고객 시뮬레이션
4.4. 고객 서비스 네트워크의 구조
4.5. 네트워크 테스트와 확장
4.6. 정확성 목표 설정과 비용 모델링
5. 🛠️ 최적화 기술 탐색과 RAG 활용
5.1. LLM과 인간의 정확도 비교
5.2. 최적화 목표 설정
5.3. 최적화 기술의 단계
5.4. 모델의 실패 원인 분석 및 해결
5.5. 프롬프트 최적화와 메타 프롬팅
6. 🔧 파인튜닝과 실제 사례를 통한 최적화
6.1. o1과 메타 프롬프트 활용
6.2. RAG 응용 프로그램 최적화
6.3. 검색 확장 및 평가
6.4. 파인튜닝 전략
6.5. 실제 사례를 통한 최적화
7. ⏱️ 지연 시간과 프롬프트 최적화
7.1. 지연 시간 최적화 전략
7.2. 입력 및 출력 지연 시간 최적화
7.3. 프롬프트 최적화 전략
8. 💰 비용 절감 전략과 BatchAPI 활용
- 프롬프트 캐싱을 통해 반복적인 프롬프트 요청의 속도를 높일 수 있으며, 이는 비용 절감에도 기여한다.
- 토큰 간 시간(latency)을 줄이기 위해서는 공급과 수요의 균형을 맞추는 것이 중요하다. 주말에는 수요가 적어 속도가 빠르며, 주중 아침 시간대에는 수요가 많아 속도가 느려진다.
- 모델별로 설정된 지연 시간 목표를 통해 최적화가 가능하며, 예를 들어 월요일 오전 8시에는 GPT-4o 모델이 최소 22 토큰/초의 속도를 유지해야 한다.
- 출력 토큰 수를 줄이는 것이 요청 처리 속도를 높이는 데 큰 차이를 만들 수 있다. 예를 들어, 1000개의 출력 토큰을 생성하는 요청은 100개의 출력 토큰을 생성하는 요청보다 10배 더 오래 걸린다.
- 프롬프트 길이를 줄이는 것도 생성 속도에 영향을 미친다. 짧은 프롬프트는 처리 속도를 높일 수 있다.
- 작은 모델을 선택하는 것이 응용 프로그램의 속도를 높이는 간단한 방법이다.
- 프롬프트 캐싱을 통해 비용을 절감할 수 있으며, 캐시된 토큰에 대해 최대 50%의 비용 절감이 가능하다.
- 프롬프트 캐싱은 프리픽스 매칭을 통해 작동하며, 프롬프트의 고정된 부분을 앞에 배치하는 것이 중요하다.
- 프롬프트 캐시는 5~10분 동안 유지되며, 일정한 요청 간격을 유지하면 캐시율을 높일 수 있다.