본문 바로가기
개발/LLM

[논문 리뷰][LLM] AIOS

by ▶ Carpe diem ◀ 2024. 4. 17.

AI 기반 어플리케이션 개발을 위한 운영 체제에 대한 논문을 접할 기회가 있었는데, 내용이 흥미로워서 정리해보았습니다.

 

AIOS: LLM Agent Operating System
AIOS: LLM Agent Operating System

 

 

 

목차

     

     

    AIOS (LLM Agent Operating System)

    AIOS는 AI 어플리케이션 개발을 위한 운영 체제로, LLM (Large Language Model)을 커널로 활용하여 자연어 기반의 명령어와 프로그래밍 인터페이스를 제공합니다. 이를 통해 개발자는 복잡한 코딩 없이 자연어로 어플리케이션을 개발하고 관리할 수 있으며, 다양한 AI 기능을 통합하여 활용할 수 있습니다.

     

    AIOS 아키텍처

    AIOS 아키텍처는 대규모 언어 모델(LLM) 기반 에이전트의 개발과 배포를 촉진하는 데 중점을 두고 설계되었습니다. 이 아키텍처는 Application Layer, Kernel Layer, 그리고 Hardware Layer으로 구성되어 있으며, 각 계층은 에이전트와 시스템 사이의 복잡성을 추상화하고 모듈화를 증진시킵니다. 이를 통해 개발자들은 에이전트 응용 프로그램을 보다 쉽게 개발할 수 있으며, 다양한 에이전트 운영을 위한 효율적인 자원 관리와 스케줄링을 지원합니다.

     

    AIOS Layers

    AIOS는 Application Layer, Kernel Layer, Hardware Layer으로 구성됩니다. 

    An overview of the AIOS architecture.

     

    • Application Layer: 여행 에이전트나 수학 에이전트와 같은 에이전트 응용 프로그램이 개발되고 배포됩니다
    • Kernel Layer: OS 커널과 LLM 커널로 나뉘어져 있으며, LLM 커널은 대규모 언어 모델과 관련된 특정 작업을 처리합니다 .
    • Hardware Layer: CPU, GPU 등 물리적 구성 요소를 포함하며, 이 계층은 OS의 시스템 호출을 통해 간접적으로 관리됩니다 .

    이 구조는 모듈성을 향상시키고 시스템 간의 상호 작용을 단순화합니다.

     

    AIOS Implementation

    AIOS 내 LLM 커널의 각 모듈의 설계와 구현에 대해 설명합니다. Agent Scheduler, Context Manager, Memory Manager, Storage Manager, Tool Manager, Access Manager, 그리고 LLM System Call 등 주요 컴포넌트의 기능과 작동 원리를 다루며, AIOS SDK를 통해 개발자가 에이전트 응용 프로그램을 더욱 효과적으로 개발할 수 있도록 지원하는 방법을 소개합니다.

    • Agent Scheduler: 에이전트의 요청을 효율적으로 관리합니다. 여러 스케줄링 알고리즘을 통해 동시 실행을 지원하며, 대기 시간과 처리 시간을 균형있게 조절합니다.
      An illustration of the agent scheduler.
      An illustration of the agent scheduler.
    • Context Manager: LLM에 제공되는 컨텍스트를 관리합니다. 중단된 작업을 정확히 재개할 수 있도록 스냅샷 및 복원 기능을 제공합니다.
      Context snapshot and restoration, where we use beam search (beam width = 1) as an example search algorithm to illustrate this generative decoding process.
      Context snapshot and restoration, where we use beam search (beam width = 1) as an example search algorithm to illustrate this generative decoding process.
    • Memory Manager: 에이전트의 활성 기간 동안 짧은 기간의 메모리를 관리하여 데이터를 효율적으로 처리하고 접근을 제어합니다.
    • Storage Manager: 데이터의 장기 보존을 관리하며, 정보의 무결성과 접근성을 보장합니다.
    • Tool Manager: 다양한 API 도구를 관리하여 LLM의 기능을 강화합니다. 이 도구들은 에이전트 개발을 지원합니다.
    • Access Manager: 에이전트 간의 접근 제어를 관리하고, 권한 그룹을 통해 자원 접근을 제어합니다.
    • LLM System Call: 에이전트 요청과 커널 모듈의 실행 사이를 연결하는 기능을 제공합니다.
    • AIOS SDK: 개발자가 에이전트 응용 프로그램을 개발할 수 있도록 다양한 기능을 제공하는 도구 모음입니다.
      The list of SDK functions in AIOS SDK
      The list of SDK functions in AIOS SDK

    실험 결과

    AIOS에서 단일 및 다중 에이전트 모드에서 출력의 일관성을 확인하기 위해 BLEU와 BERT 점수를 이용한 결과, 두 모드 간 완벽한 일치를 보여 일관성이 높음을 확인하였고, FIFO 스케줄링을 적용한 AIOS는 비스케줄링 접근법에 비해 대기 시간과 처리 시간을 효과적으로 줄여 성능을 향상시킨 것을 확인하였습니다.

     

    Consistency Analysis

    세 개의 에이전트를 각각 개별적으로 실행한 후 병렬로 실행하여 출력 결과를 비교합니다. BLEU 점수와 BERT 점수를 사용하여 일관성을 평가하며, 두 점수 모두 1.0을 달성하여 완벽한 일치를 보여줍니다. 이는 다중 에이전트 구성에서의 우수한 일관성을 입증합니다.

    Consistency of LLM generated responses when running multiple agents in parallel compared with LLM generated responses when running a single agent one by one.
    Consistency of LLM generated responses when running multiple agents in parallel compared with LLM generated responses when running a single agent one by one.

     

    Performance Analysis 

    FIFO 스케줄링을 사용한 AIOS와 비스케줄링 접근 방식을 비교 분석합니다. 스케줄링 없이는 초기 에이전트의 성능이 좋지만, 순서가 뒤에 있는 에이전트는 대기 시간과 처리 시간이 길어집니다. 반면, AIOS의 스케줄링 메커니즘은 대기 시간과 처리 시간을 효과적으로 조절하여 효율성을 높입니다.

    Effectiveness of agent scheduling, compared with non-scheduled (sequential) execution.
    Effectiveness of agent scheduling, compared with non-scheduled (sequential) execution.

     

    결론

    이 논문은 AIOS 아키텍처를 제안하고 있으며, 이는 LLM 기반 에이전트의 개발 및 배포를 용이하게 하고, 보다 효과적이고 효율적인 AIOS-에이전트 생태계를 조성할 잠재력을 보여줍니다. 향후 연구는 고급 스케줄링 알고리즘, 컨텍스트 관리의 효율성 향상, 메모리 및 저장 아키텍처 최적화, 안전성 및 개인 정보 보호 강화 등 다양한 분야에서 AIOS의 기능을 확장하고 개선할 방법을 모색할 수 있습니다. 이러한 연구는 분야 전반에 걸쳐 기여할 수 있습니다.