Upgrade to Pro — share decks privately, control downloads, hide ads and more …

​고군분투 LLM 프로덕트 적용기: Blind Prompting 부터 Agent까지

Hoon Heo
November 24, 2023

​고군분투 LLM 프로덕트 적용기: Blind Prompting 부터 Agent까지

VESSL AI November에서 발표한 Liner가 1년 간 LLM을 제품에 적용하며 배운 점들 공유

Hoon Heo

November 24, 2023
Tweet

More Decks by Hoon Heo

Other Decks in Programming

Transcript

  1. 자세한 내용은 OpenAI Prompt Engineering Guide와 같은 자료를 참조하면 좋으며,

    모델마다 활용 테크닉이 조금씩 다를지 언정 크게 다르지는 않다고 보고 있음
  2. “지금 고친 프롬프트가 실제로 더 나은 프롬프트인가?” “프롬프트 수정으로 일반화

    된 성능 개선이 이루어지고 있는가?” “이제 막 발견한 오류 케이스에 대한 단순 대응은 아닌가?” …
  3. "Blind Prompting" is a term I am using to describe

    the method of creating prompts with a crude trial-and-error approach paired with minimal or no testing and a very surface level knowledge of prompting. Prompt Engineering vs. Blind Prompting
  4. 많은 분들이 아시다시피 OpenAI API는 Deterministic 하지 않음 이는 동일한

    입력에 매번 다른 값이 반환될 수 있다는 것
  5. RAG

  6. 갖추고 있는 임베딩 모델의 성능에 따라 다르지만, Ada와 같은 범용

    임베딩 모델을 사용하는 경우 벡터 서치에서 생각하는 것만큼의 성능을 기대하기는 어려움
  7. 결국 Term-matching search와 Vector search를 함께 활용하는 Hybrid search로 눈을

    돌리게 됨 (Function score로 스코어 조합해 활용)
  8. 실제로 Function score가 어떤 분포로 형성되고, 어떤 조각들이 답변에 활용되고

    있는지 보기 위해 Retrieval 관련 요청과 결과를 로깅하여 Grafana를 통해 시각화하여 관리
  9. 이상적인 구조는 단일 키로 Rate limit을 관리하는 것이고, DevDay 이후

    기본 Rate limit이 올라갔을 뿐 아니라 증량 요청 처리가 상대적으로 수월해짐
  10. 실제로 지난 주 2시간 가량의 API Outage가 발생하였고, 이는 OpenAI

    API 의존도가 큰 경우 서비스가 함께 다운될 수 있다는 치명적인 약점을 드러내기도 함
  11. 이같은 Fall-back 로직은 비용과 성능에 영향을 줄 수 밖에 없기

    때문에 설계를 하는 과정에서 이같은 고려가 필수적으로 포함되어야 함
  12. 이후 비용, 속도 최적화 위해 LLaMA 2, PaLM 2 등의

    파운데이션 모델로 Reasoning 역량 크게 필요하지 않은 컴포넌트부터 일부 변경