LLM - 지연 시간 최적화 예제

JunMyung Lee·2025년 1월 31일
0

LLM

목록 보기
7/7

이전에 작성한 14. LLM - 지연 시간 최적화에서 어떤식으로 최적화를 진행하는지 확인합니다.

OpenAI Docs

아키텍처

  1. 사용자가 진행 중인 대화의 일부로 메세지를 보냅니다.
  2. 마지막 메세지는 독립적인 쿼리로 변환됩니다.
  3. 해당 질의에 응답하기 위해 추가(검색된) 정보가 필요한지 여부를 결정합니다.
  4. 검색이 수행되어 검색 결과가 생성됩니다.
  5. Assistant는 사용자의 질의와 검색 결과에 대해 추론하고 응답을 생성합니다.
  6. 응답이 사용자에게 다시 전송됩니다.

튜닝 - 더 적은 검색 요청하기

쿼리를 독립형 쿼리로 변경하는 프롬프트와 검색 조회를 수행해야 하는지에 대한 여부를 확인하는 프롬프트를 결합하여 두가지 작업을 하나의 프롬프트로 수행합니다.

{
	query:"[contextualized query]",
	retrieval:"[true/false - whether retrieval is required]"
}

튜닝 - GPT3.5 활용하기

독립형 쿼리나 검색에 대한 여부는 간단하고 잘 정의된 작업이므로 미세조정된 모델을 사용 할 수도 있다.
GPT-3.5로 전환하면 토큰을 GPT-4에 비해 더 빠르게 처리할 수 있습니다.

튜닝 - Assistant prompt 병렬화

GPT-4 수준의 추론이 필요하지 않는 Assistant prompt로 나누거나, 단순히 개수를 나누어 병렬 처리합니다.

예시는 원문 예제를 참고하도록 합니다.


프롬프트 테스트

해당 페이지에서는 Assistant prompt에 대해서는 테스트 하지 않습니다.

Query contextualization prompt

사용자 쿼리를 독립형 검색 쿼리로 다시 작성합니다.

이전 대화를 고려하여 마지막 사용자 쿼리를 다시 작성하여 필요한 모든 컨텍스트를 포함하도록 합니다.

# Example 
History: [{"role": "user", "content": "여행 캐리어에 물건을 잘 넣는 법은?"},{"role": "assistant", "content": "여행 캐리어에 물건을 잘 넣는 몇 가지 팁을 소개드릴게요.\n\n1. 리스트 작성하기: 먼저 여행에 필요한 물품 리스트를 작성하세요. 이는 짐을 빠뜨리지 않도록 도와주고, 불필요한 물건을 줄이는 데 도움이 됩니다.\n\n2. 묶음 및 구획화: 작은 물건은 투명 지퍼백이나 파우치에 모아 두세요. 이렇게 하면 찾기 쉽고 공간 활용도 높일 수 있습니다. 옷은 롤링하여 공간을 절약할 수 있습니다.\n\n3. 무거운 물건 아래에 두기: 캐리어 바닥에 전자기기나 책 같은 무거운 물건을 배치하여 무게중심을 낮추세요. 이는 이동 시 캐리어가 더 안정적으로 유지되도록 도와줍니다.\n\n4. 신발 내부 활용: 신발 내부에는 양말이나 작은 액세서리를 넣어 공간을 절약하세요.\n\n5. 여백 활용: 남은 작은 공간에는 속옷이나 휴대용 용품을 채워 빈틈으로 인한 물품의 흔들림을 최소화하세요.\n\n6. 여행용 세면도구: 액체 세면도구는 여행용 소형 용기에 담아 가져가세요. 이는 무게를 줄이고, 번거로움을 줄이며 보안 검사 시 시간을 절약합니다.\n\n이러한 방법들을 활용하시면 짐을 보다 효율적으로 정리할 수 있을 것입니다. 즐거운 여행 되세요!"}] 
User Query: "여섯번째에 대해 용량 제한이 있어?" 
Response: "여행 캐리어에 여행용 세면도구를 넣을때 용량 제한이 있을까요?" 

# Conversation 
History: [{\n    "role": "user",\n    "content": "일본 교토의 관광지 3개만 알려줘"\n},\n{\n    "role": "assistant",\n    "content": "교토 - 뵤도인\n유네스코 세계문화유산입니다. 일본 10엔짜리 동전에 봉황당이 그려져 있으며, 연못에 떠 있는 봉황당이 매우 아름답습니다. 봉황당을 지나면 국보로 지정된 범종과 여러 문화재를 볼 수 있는 호쇼관(박물관)이 있습니다. 간사이 쓰루패스 이용자에게는 매표소에서 뵤도인 엽서 2장을 기념품으로 제공합니다.  \n\n교토 - 금각사  \n정식 명칭은 로쿠안지이며 쇼코쿠지의 탑두 사원 중 하나입니다. 사리전 ‘금각’이 특히 유명하여 일반적으로는 금각사라고 불립니다. 이 사원은 금각을 중심으로 한 정원과 건축은 극락정토를 구현했다고 알려져 있습니다.  \n\n교토 - 기요미즈데라  \n오토와산 뒤에 있는 법상종의 총본산 사찰이자 교토 대표 관광지입니다. '물이 맑은 절'이라는 의미로 ‘청수사’라는 이름으로도 불립니다. 여러 번의 화재 소실을 겪다가 1633년에 현재의 모습으로 재건됐습니다. 봄, 여름, 가을, 겨울 각 계절마다 아름다운 자연경관을 자랑합니다.  \n"\n}]

# User Query 
User Query: "알려준거에서 2번째에 대해 좀더 자세히 설명해줘" 
{
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "\"교토의 관광지 중 두 번째로 알려준 금각사에 대해 좀 더 자세히 설명해줘.\"",
                "refusal": null
            },
            "logprobs": null,
            "finish_reason": "stop"
        }
    ]
}

검색 확인 프롬프트

쿼리가 응답하기 위해 검색을 수행해야 하는지 여부를 결정합니다.

사용자 쿼리가 주어지면 실시간 조회를 수행하여 응답해야 하는지 여부를 확인합니다. 질문에 지역이나 장소에 대한 설명이면 실시간 조회를 수행합니다.

# Example 
User Query: "인도네시아 발리에서 유명한 관광지를 추천해줘" 
Response: "true" 

User Query: "고마워요!" 
Response: "false" 

# User Query 
User Query: "교토의 관광지 중 두 번째로 알려준 금각사에 대해 좀 더 자세히 설명해줘" 
{
	"choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "Response: \"true\"",
                "refusal": null
            },
            "logprobs": null,
            "finish_reason": "stop"
        }
    ]
}

결합된 쿼리 문맥화 및 검색 확인 프롬프트

쿼리 문맥화와 검색 확인 프롬프트를 하나의 프롬프트로 처리 합니다.

이전 대화를 고려하여 마지막 사용자 쿼리를 다시 작성하여 모든 필요한 맥락을 포함합니다. 
그런 다음 실시간 조회를 수행하여 응답해야 하는지 여부를 확인합니다. 

# Instructions
- 사용자 쿼리가 지역이나 장소에 대한 것이면 실시간 조회를 수행합니다.
- 사용자 쿼리가 여행에 관련된 것이면 실시간 조회를 수행합니다. 
- 사용자 쿼리가 나머지에 관해서는 실시간 조회를 수행하지 않습니다.

# Format
{
    query:"[문맥화된 쿼리]",
    retrieval:"[true/false - 실시간 조회가 필요한지 여부]"
}

# Example 
History: [{"role": "user", "content": "여행 캐리어에 물건을 잘 넣는 법은?"},{"role": "assistant", "content": "여행 캐리어에 물건을 잘 넣는 몇 가지 팁을 소개드릴게요.\n\n1. 리스트 작성하기: 먼저 여행에 필요한 물품 리스트를 작성하세요. 이는 짐을 빠뜨리지 않도록 도와주고, 불필요한 물건을 줄이는 데 도움이 됩니다.\n\n2. 묶음 및 구획화: 작은 물건은 투명 지퍼백이나 파우치에 모아 두세요. 이렇게 하면 찾기 쉽고 공간 활용도 높일 수 있습니다. 옷은 롤링하여 공간을 절약할 수 있습니다.\n\n3. 무거운 물건 아래에 두기: 캐리어 바닥에 전자기기나 책 같은 무거운 물건을 배치하여 무게중심을 낮추세요. 이는 이동 시 캐리어가 더 안정적으로 유지되도록 도와줍니다.\n\n4. 신발 내부 활용: 신발 내부에는 양말이나 작은 액세서리를 넣어 공간을 절약하세요.\n\n5. 여백 활용: 남은 작은 공간에는 속옷이나 휴대용 용품을 채워 빈틈으로 인한 물품의 흔들림을 최소화하세요.\n\n6. 여행용 세면도구: 액체 세면도구는 여행용 소형 용기에 담아 가져가세요. 이는 무게를 줄이고, 번거로움을 줄이며 보안 검사 시 시간을 절약합니다.\n\n이러한 방법들을 활용하시면 짐을 보다 효율적으로 정리할 수 있을 것입니다. 즐거운 여행 되세요!"}] 
User Query: "여섯번째에 대해 용량 제한이 있어?" 
Response: {query: "여행 캐리어에 여행용 세면도구를 넣을때 용량 제한이 있을까요?", retrieval: "false"}

# Conversation 
History: [{\n    "role": "user",\n    "content": "일본 교토의 관광지 3개만 알려줘"\n},\n{\n    "role": "assistant",\n    "content": "교토 - 뵤도인\n유네스코 세계문화유산입니다. 일본 10엔짜리 동전에 봉황당이 그려져 있으며, 연못에 떠 있는 봉황당이 매우 아름답습니다. 봉황당을 지나면 국보로 지정된 범종과 여러 문화재를 볼 수 있는 호쇼관(박물관)이 있습니다. 간사이 쓰루패스 이용자에게는 매표소에서 뵤도인 엽서 2장을 기념품으로 제공합니다.  \n\n교토 - 금각사  \n정식 명칭은 로쿠안지이며 쇼코쿠지의 탑두 사원 중 하나입니다. 사리전 ‘금각’이 특히 유명하여 일반적으로는 금각사라고 불립니다. 이 사원은 금각을 중심으로 한 정원과 건축은 극락정토를 구현했다고 알려져 있습니다.  \n\n교토 - 기요미즈데라  \n오토와산 뒤에 있는 법상종의 총본산 사찰이자 교토 대표 관광지입니다. '물이 맑은 절'이라는 의미로 ‘청수사’라는 이름으로도 불립니다. 여러 번의 화재 소실을 겪다가 1633년에 현재의 모습으로 재건됐습니다. 봄, 여름, 가을, 겨울 각 계절마다 아름다운 자연경관을 자랑합니다.  \n"\n}]

# User Query 
User Query: "알려준거에서 2번째에 대해 좀더 자세히 설명해줘" 
{
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "{\n    query: \"일본 교토의 관광지 중 금각사에 대해 좀 더 자세히 설명해줘\",\n    retrieval: \"true\"\n}",
                "refusal": null
            },
            "logprobs": null,
            "finish_reason": "stop"
        }
    ]
}
profile
11년차 검색개발자 입니다. 여러 지식과 함께 실제 서비스를 운영 하면서 발생한 이슈에 대해서 정리하고 공유하고자 합니다.

0개의 댓글

관련 채용 정보