EcoAssistant: LLM 도우미를 보다 저렴하고 정확하게 사용
AutoGen 웹사이트에서 우리 블로그를 확인해 보세요!
최신 AutoGen이 포함된 단순화된 버전은 simplified_demo.py
에 있습니다.
EcoAssistant는 코드 기반 질문 답변을 위해 LLM 도우미를 보다 저렴하고 정확하게 만들 수 있는 프레임워크입니다. 이는 보조 계층 구조 및 솔루션 시연 아이디어를 기반으로 합니다. AutoGen을 기반으로 구축되었습니다.
LLM 도우미는 ChatGPT 및 GPT-4와 같은 대화형 LLM이 지원하는 도우미 에이전트이며 대화에서 사용자 쿼리를 처리할 수 있습니다.
코드 기반 질문 답변은 LLM 보조자가 질문에 답변하기 위해 외부 API를 호출하는 코드를 작성해야 하는 작업입니다. 예를 들어, "향후 5일 동안 X 도시의 평균 기온은 얼마입니까?"라는 질문이 있을 경우 어시스턴트는 특정 APIS를 통해 날씨 정보를 가져오고 다음 5일 동안 X 도시의 평균 기온을 계산하는 코드를 작성해야 합니다. 5일.
코드 기반 질문 답변에는 반복적인 코딩이 필요합니다. 인간과 마찬가지로 LLM도 첫 번째 시도에서 올바른 코드를 작성하기 어렵기 때문입니다. 따라서 어시스턴트는 사용자와 상호 작용하여 피드백을 받고 코드가 정확할 때까지 반복적으로 코드를 수정해야 합니다. 우리는 LLM 보조자가 자동으로 코드를 실행하고 출력을 LLM 보조자에게 반환할 수 있는 코드 실행기 에이전트와 결합되는 2 에이전트 대화 프레임워크를 기반으로 시스템을 구축했습니다.
보조 계층은 LLM 보조의 순위가 비용에 따라 결정되는 보조 계층입니다(예: GPT-3.5-터보 -> GPT-4). 사용자 쿼리를 처리할 때 EcoAssistant는 먼저 가장 저렴한 보조자에게 쿼리에 응답하도록 요청합니다. 실패할 때만 더 비싼 어시스턴트를 호출합니다. 고가의 보조자 사용량을 줄여 비용을 절감할 수 있도록 설계되었습니다.
솔루션 데모는 과거에 성공한 쿼리-코드 쌍을 활용하여 향후 쿼리를 지원하는 기술입니다. 쿼리가 성공적으로 처리될 때마다 쿼리-코드 쌍을 데이터베이스에 저장합니다. 새로운 쿼리가 오면 데이터베이스에서 가장 유사한 쿼리를 검색한 다음 해당 쿼리와 관련 코드를 상황 내 데모로 사용합니다. 과거에 성공한 쿼리-코드 쌍을 활용하여 정확도를 향상시키도록 설계되었습니다.
보조 계층 구조와 솔루션 데모의 조합은 고성능 모델의 솔루션이 특정 설계 없이도 약한 모델을 안내하는 데 자연스럽게 활용되기 때문에 개별 이점을 증폭시킵니다.
날씨, 재고, 장소에 대한 쿼리의 경우 EcoAssistant는 GPT-4 비용의 50% 미만으로 개별 GPT-4 도우미보다 성공률이 10포인트 더 높습니다. 자세한 내용은 우리 논문에서 확인할 수 있습니다.
모든 데이터는 이 저장소에 포함되어 있습니다.
keys.json
에서 API 키만 설정하면 됩니다.
필수 라이브러리를 설치합니다(Python3.10 권장).
pip3 install -r requirements.txt
우리는 Mixed-100 데이터세트를 예로 사용합니다. 다른 데이터세트의 경우 다음 명령어에서 데이터세트 이름을 google_places/stock/weather/mixed_1/mixed_2/mixed_3으로 변경하세요.
출력된 결과는 results
폴더에서 확인할 수 있습니다.
다음 명령은 섹션 4.5에 설명된 인간 피드백이 없는 자율 시스템을 위한 것입니다.
GPT-3.5 터보 어시스턴트 실행
python3 run.py --data mixed_100 --seed 0 --api --model gpt-3.5-turbo
GPT-3.5 터보 어시스턴트 + 생각의 사슬 실행
cot
침대 켜 줘
python3 run.py --data mixed_100 --seed 0 --api --cot --model gpt-3.5-turbo
GPT-3.5-터보 어시스턴트 + 솔루션 시연 실행
solution_demonstration
켜기
python3 run.py --data mixed_100 --seed 0 --api --solution_demonstration --model gpt-3.5-turbo
보조 계층 실행(GPT-3.5-turbo + GPT-4)
model
gpt-3.5-turbo,gpt-4
로 설정
python3 run.py --data mixed_100 --seed 0 --api --model gpt-3.5-turbo,gpt-4
EcoAssistant 실행: 보조 계층 구조(GPT-3.5-turbo + GPT-4) + 솔루션 데모
python3 run.py --data mixed_100 --seed 0 --api --solution_demonstration --model gpt-3.5-turbo,gpt-4
사람의 피드백 활성화
사람이 판단하는 시스템의 경우 다음 예제 명령과 같이 eval
human
(기본적으로 llm
)로 설정하세요.
python3 run.py --data mixed_100 --seed 0 --api --solution_demonstration --model gpt-3.5-turbo,gpt-4 --eval human
섹션 4.4에 설명된 대로 우리가 수집한 Mixed-100에 대한 골드 코드를 실행합니다.
이 스크립트는 코드 출력을 인쇄합니다.
python3 run_gold_code_for_mix_100.py
이 저장소가 유용하다고 생각되면 다음을 인용해 보세요.
@article { zhang2023ecoassistant ,
title = { EcoAssistant: Using LLM Assistant More Affordably and Accurately } ,
author = { Zhang, Jieyu and Krishna, Ranjay and Awadallah, Ahmed H and Wang, Chi } ,
journal = { arXiv preprint arXiv:2310.03046 } ,
year = { 2023 }
}