callous-youth/BOAT

A Compositional Operation Toolbox for Gradient-based Bi-Level Optimization

해결하는 문제

BOAT는 이중 최적화(BLO)의 구현을 간소화합니다. 이론적인 수학적 모델에서 실용적인 코드로 전환하는 과정이 종종 복잡하기 때문입니다. 고정된 몇 가지 소프트웨어 루틴을 제공하는 대신, 연구자가 핵심 모델 코드를 다시 작성하지 않고도 다양한 BLO 소프트웨어를 구축하고 실험할 수 있는 모듈식 시스템을 제공합니다.

작동 방식

BOAT는 BLO 워크플로우를 원자적이고 재사용 가능한 기울기 연산으로 분해합니다. 이를 세 가지 모듈식 라이브러리로 정리합니다:

  1. 기울기 매핑(GM-OL): 하위 문제의 반복적 궤적을 재구성합니다.
  2. 수치 근사(NA-OL): 자동 미분 또는 수치 역산과 같은 방법을 사용하여 은유적 또는 하이퍼 기울기를 계산하는 병목 문제를 처리합니다.
  3. 일차 근사(FO-OL): 중첩된 문제를 단일 수준의 목적 함수로 재정의하여 비용이 큰 헤시안 계산을 피합니다.

사용자는 JSON 설정 파일을 통해 최적화 전략과 목적을 정의합니다. BOAT는 이러한 원시 연산을 자동으로 조합하여 기능하는 소프트웨어(19개의 원자적 연산에서 85가지 이상의 변형)를 생성하고, PyTorch 모델 및 최적화기와 통합합니다.

대상 사용자

메타러닝, 하이퍼파라미터 최적화, 신경망 아키텍처 탐색과 같은 중첩 최적화가 필요한 작업에 종사하는 AI 연구자 및 실무자에게 적합합니다.

주요 특징

  • 조합형 설계: 소프트웨어를 모듈식 단계로 분해하여 유연한 조립을 가능하게 합니다.
  • 생성형 소프트웨어: 설정 파일만 변경하여 새로운 하이브리드 소프트웨어를 간단히 생성할 수 있습니다.
  • 설정 기반: JSON을 사용해 알고리즘 논리를 모델 정의에서 분리합니다.
  • 광범위한 응용 지원: 데이터 중심(예: 데이터 정제), 모델 중심(예: PEFT), 전략 중심(예: RLHF) AI 작업에 적용 가능합니다.
  • 다중 백엔드 지원: 주로 PyTorch 기반이지만, Jittor 및 MindSpore용 버전도 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트