? 환영! 이것은 논문 Reevo와 함께 제공되는 코드베이스입니다. 반사 진화를 가진 과다 습격으로 큰 언어 모델 .
Reevo 5 분을주고 최신 알고리즘을 받으십시오!
우리는 언어 초고대학 (LHHS) , HHS (Hyper-Heuristics)의 신흥 변형 인 HHS (Heuristic Generation을위한 LLM을 활용하여 최소한의 수동 개입 및 개방형 휴리스틱 공간을 특징으로합니다.
LHHS를 강화하기 위해, 우리는 반사 진화 (Reevo) , 인간 전문가의 반사 설계 접근법을 모방하는 동시에 확장 가능한 LLM 추론, 인터넷 규모 도메인 지식 및 강력한 진화 적 검색으로 인간의 능력을 능가하는 일반적인 검색 프레임 워크를 제시합니다.
다음 유형의 알고리즘을 개선 할 수 있습니다.
다음 문제에 대해 :
블랙 박스 및 화이트 박스 설정이 모두 포함되어 있습니다.
./outputs/main/
에 저장됩니다../problems/*/test.ipynb
에 제공됩니다. pip install -r requirements.txt
통해 위의 종속성을 설치할 수 있습니다.
문제 별 의존성 :
tsp_aco(_black_box)
: pytorch, scikit-learncvrp_aco(_black_box)
/ mkp_aco(_black_box)
/ op_aco(_black_box)
/ NCO
: pytorchtsp_gls
: numba == 0.58 # e.g., for tsp_aco
python main.py
problem=tsp_aco # problem name
init_pop_size=4 # initial population size
pop_size=4 # population size
max_fe=20 # maximum number of heuristic evaluations
timeout=20 # allowed evaluation time for one generation
더 많은 옵션은 ./cfg/
를 확인하십시오.
tsp_aco
, tsp_aco_black_box
, tsp_constructive
, tsp_gls
, tsp_pomo
, tsp_lehd
cvrp_aco
, cvrp_aco_black_box
, cvrp_pomo
, cvrp_lehd
bpp_offline_aco
, bpp_offline_aco_black_box
, bpp_online
mkp_aco
, mkp_aco_black_box
op_aco
, op_aco_black_box
dpp_ga
./cfg/problem/
에서 문제를 정의하십시오../problems/
에서 평가 파이프 라인을 구현하십시오../prompts/
에 function_description, function_signature 및 seed_function을 추가하십시오.기본적으로 :
f"./problems/YOUR_PROBLEM/gpt.py"
로 작성되며, reevo._run_code
에서 불리는 ./problems/YOUR_PROBLEM/eval.py
(예 : tsp_aco)로 가져올 것입니다. ../problems/YOUR_PROBLEM/eval.py
(예 : tsp_aco의 경우)는 메타 객체 값을 stdout의 마지막 줄로 인쇄해야하며, 이는 휴리스틱 평가를 위해 reevo.evaluate_population
에 의해 구문 분석됩니다. CLI 매개 변수 llm_client
사용하여 LLM API 제공 업체 및 llm_client.model
지정하여 사용할 모델을 결정하십시오. 예를 들어,
$ export LLAMA_API_KEY=xxxxxxxxxxxxxxxxxxxx
$ python main.py llm_client=llama_api llm_client.model=gemma2-9b
지원되는 LLM API 제공 업체 및 모델이 포함됩니다 (채팅 모델 만 지원됩니다).
당사 코드를 사용하는 데 어려움이있는 경우 주저하지 말고 문제를 제출하거나 직접 문의하십시오!
궁금한 점이 있거나 우리와 Reevo에 대해 토론하고 싶다면 우리는 또한 여유가 있습니다. 우리는 협업에 개방되어 있으며 귀하의 의견을 듣고 싶습니다.
우리의 일이 도움이된다면 (또는 당신이 우리에게 격려를 제공 할 정도로 친절하다면) 스타를주고 논문을 인용하는 것을 고려하십시오.
@inproceedings { ye2024reevo ,
title = { ReEvo: Large Language Models as Hyper-Heuristics with Reflective Evolution } ,
author = { Haoran Ye and Jiarui Wang and Zhiguang Cao and Federico Berto and Chuanbo Hua and Haeyeon Kim and Jinkyoo Park and Guojie Song } ,
booktitle = { Advances in Neural Information Processing Systems } ,
year = { 2024 } ,
note = { url{https://github.com/ai4co/reevo} }
}
귀중한 토론과 피드백에 대해 Yuan Jiang, Yining MA, Yifan Yang 및 AI4CO 커뮤니티에 매우 감사합니다.
또한 우리의 작업은 다음과 같은 프로젝트를 기반으로합니다.