agent/on-device agent

octo-planner 논문리뷰

jinuklee 2024. 7. 5. 21:42

nvidia A100 gpu 1개 사용

 

planner-action 프레임워크

두개의 요소로 나눠진다

1. planner agent

엣지 디바이스를 위해 최적화된 octo-planner

2. action agent

function 실행을 위한 octupus 모델을 사용한 action agent

 

서브 스텝들(sub-steps)의 시퀸스로 나눠진 task의 질문(query)에 대한 응답을 planner가 생성하고 이를 실제로 실행하는 과정으로 이루어진다

리소스가 제한된 환경에서 실행(성능 최적화 및, 컴퓨팅 최적화)시키기 위해 in-context 능력에 집중하기 보단(스케일링의 증가로 나타남) finetuning을 통한 모델을 사용한다.

실제 데스크탑에서 12퍼센트 모바일 앱에서 46퍼였던 성능이 파인튜닝이후 훈련 데이터와 유사한 task에서 80퍼센트의 성공률을 보였다.

이런 on-device ai agent의 장점으로는 적은 지연률(latency), 오프라인 실행(네트워크 x, 데이터 및 와이파이), 보안상 이점, 적은 비용등을 들 수있는데 기존의 octopus v2같은 action model의 경우 95퍼센트의 function 호출 수행률을 지닌 반면 on-device planning model은 존재하지 않았는데 octo-planner가 이를 제공하고자 한다.

 

planner 훈련 데이터를 만들기 위해 gpt 4를 사용했으며 이를 통해 phi3 mini를 finetune했다. in-domain 테스트 결과 이는 planning 성공률을 97퍼센트까지 향상시켰음을 입증했다. 하지만 이는 단일 도메인에 제한된것으로 multi-도메인의 planning을 수행하기 위해서 multi - LoRA 방법을 사용했는데 이를 통해 리소스가 제한된 엣지 디바이스에서의 컴퓨팅 최적화를 유지할 수 있었다.

https://arxiv.org/abs/2311.11501

 

MultiLoRA: Democratizing LoRA for Better Multi-Task Learning

LoRA achieves remarkable resource efficiency and comparable performance when adapting LLMs for specific tasks. Since ChatGPT demonstrated superior performance on various tasks, there has been a growing desire to adapt one model for all tasks. However, the

arxiv.org

1)planner step

{τ1, τ2, ..., τn} = plan(q; F)

F = 사용가능한 function들에 대한 묶음, q = query를 planner의 input으로 사용함

2) action phase 

O = 현재 상태에 대한 관찰 (e.g 현 화면 이미지)

 

기존의 그냥 LLM과 agent의 차이

실제 플래너 phi3-mini 사용결과이다

응답으로 task의 substep을 생성해낼수있음을 확인할수있다

실제 데이터셋 생성과정

평가하기 위한 eval 벤치마크 

평가는 신중하게 구성된 테스트 데이터셋에 의존

이 데이터셋은 실제 planning의 복잡성을 나타내기 위해 자동 생성, 전문가 검증(expert validation), 실증적 테스트(emperical test)를 통합한 다단계 접근 방식을 사용해서 만들어진다

먼저 GPT-4를 사용하여 1,000개의 데이터 포인트로 구성된 초기 데이터셋을 자동으로 생성한다. 그런 다음 이 데이터 포인트들은 integrety과 관련성을 보장하기 위해 엄격한 품질 보증 과정(qualtiy assesment criteria을 거친다.

 

품질 평가 기준

  • 각 단계(sub step)는 기존의 function에 대응해야 합니다.
  • 단계의 순서는 올바르게 구성되어있어야 합니다.

평가의 신뢰성을 보장하기 위해 추가적인 수동 검증 단계도 진행한다

 

그외특징

총 function개수에 x800로 데이터사이즈 구성

학습률 5 * 10^-6

배치사이즈 4, warmup ratio 0.2 with 2 epoch