OpenPipe/ART

Agent Reinforcement Trainer: train multi-step agents for real-world tasks using GRPO. Give your agents on-the-job training. Reinforcement learning for Qwen3.6, GPT-OSS, Llama, and more!

OpenPipe / ART – 에이전트 강화 학습 트레이너

무엇인가요 – ART(에이전트 강화 학습 트레이너)는 대규모 언어 모델(LLM)을 강화학습(RL)으로 훈련된 에이전트로 전환할 수 있는 오픈소스 파이썬 라이브러리입니다. 기존 코드가 호출할 수 있는 가벼운 OpenAI 호환 클라이언트와, 무거운 추론과 LoRA 기반 RL 업데이트(그로포 알고리즘 사용)를 수행하는 별도의 서버를 제공합니다. 전체 루프는 로컬 GPU에서 실행하거나, Weights & Biases(W&B) 백엔드를 통해 관리되는 서버리스 백엔드에서 실행할 수 있어, 클러스터를 자체 프로비저닝할 필요가 없습니다.


핵심 아이디어

개념 당신에게 의미하는 바
GRPO 냉각된 기본 모델 위에 LoRA 어댑터를 업데이트하는 정책-기반 방법(일반화된 보상 기반 정책 최적화)
서버리스 RL ART는 W&B 백엔드를 통해 클라우드에서 일시적인 GPU 환경을 생성하고, 자동으로 확장, 체크포인트, 추론 서빙을 처리할 수 있습니다.
클라이언트-서버 분리 애플리케이션은 OpenAI 채팅 API처럼 보이는 가벼운 클라이언트에 연결합니다. 서버는 실제로 vLLM을 통해 모델 추론과 RL 훈련을 수행합니다.
트래잭토리 및 보상 에이전트의 각 롤아웃은 시스템/사용자/어시스턴트 메시지의 시퀀스로 기록됩니다. 롤아웃이 끝난 후 스칼라 보상을 할당하며, 서버는 이를 사용해 정책 기울기를 계산합니다.

빠른 시작 (일문장)

from art.serverless.backend import ServerlessBackend
import art

model = art.TrainableModel(
    project="voice‑agent",
    name="agent‑001",
    run_name="agent‑001",
    base_model="Qwen/Qwen3.6-27B"
)
backend = ServerlessBackend(api_key="YOUR_WANDB_KEY")
model.register(backend)   # 관리형 GPU 환경 시작
# 이제 OpenAI 채팅 클라이언트처럼 model 사용 가능
response = model.chat([{"role": "user", "content": "Schedule a meeting tomorrow"}])

위 코드는 LoRA 지원 모델을 생성하고, 서버리스 백엔드에 등록한 후 즉시 프롬프트를 전송할 수 있습니다. 백엔드에서는 ART가 다음을 수행합니다:

  1. 최신 LoRA를 vLLM으로 사용해 프롬프트 실행.
  2. 상호작용을 트래잭토리로 저장.
  3. 나중에 model.train()을 호출하거나(또는 클라이언트가 일정 수의 롤아웃 후 자동 훈련), 서버는 GRPO로 LoRA를 업데이트하고 새로운 체크포인트를 즉시 사용 가능하게 만듭니다.

주목할 만한 노트북 (실습 예제)

작업 노트북 사용 모델 볼 수 있는 내용
이메일 검색 에이전트 (ART·E) train‑art‑e.ipynb Qwen‑3.8 27B + RULER 에이전트가 관련 이메일을 검색하도록 학습; 훈련 곡선 표시.
2048 플레이 2048.ipynb Qwen‑3.8 27B RL로 훈련된 에이전트가 수천 번의 롤아웃을 거쳐 점수 향상.
틱택토 tic‑tac‑toe.ipynb Qwen‑2.5 3B 간단한 턴 기반 게임; 승률 증가 시각화.
코다네임즈 Codenames_RL.ipynb Qwen‑2.5 3B 에이전트가 힌트를 주고 단어를 추측하도록 학습; 승률 그래프.
SFT + RL 요약기 sft‑rl.ipynb Qwen‑2.5 7B 감독 학습으로 초기화 후, 더 나은 요약을 위한 RL 훈련.

훈련 루프의 동작 방식

  1. 추론 – 애플리케이션은 model.chat(...)를 호출합니다. 요청은 ART 서버로 전송되며, 현재 LoRA를 vLLM으로 기반 모델 위에서 실행하고 완료를 반환합니다. 모든 메시지는 트래잭토리로 저장됩니다.
  2. 보상 할당 – 롤아웃이 완료된 후 숫자 보상(예: 성공/실패, 점수, 또는 RULER 시스템이 생성한 보상)을 부여합니다.
  3. 배치 및 전송 – 충분한 트래잭토리가 모이면 클라이언트는 이를 배치화하여 서버에 전송합니다.
  4. GRPO 업데이트 – 서버는 보상을 사용해 정책 기울기를 계산하고, LoRA 어댑터를 업데이트, 새로운 체크포인트를 작성하고 추론 엔진에 다시 로드합니다.
  5. 루프 반복 – 새로 업데이트된 정책으로 추론이 재개되며, 목표 반복 횟수나 성능 기준에 도달할 때까지 이 과정이 반복됩니다.

저자들이 주장하는 주요 이점

  • 비용 효율성 – 공유 추론 클러스터로 인해 실행당 비용 약 40% 절감.
  • 속도 – 2000개 이상의 동시 요청 처리 가능, 단일 GPU 설정 대비 약 28% 빠른 벽시계 훈련.
  • 제로 오퍼레이션 – 서버리스 백엔드는 GPU 노드를 자동 프로비저닝하고, 건강 상태를 모니터링하며, 자동으로 종료합니다.
  • 즉시 체크포인트 접근 – 모든 LoRA 체크포인트는 동일한 클라이언트를 통해 즉시 추론에 사용 가능.
  • 플러그 앤 플레이 – vLLM/HuggingFace-transformers에서 작동하는 모델(대부분의 인과적 LLM)과 호환. README에는 Gemma 3는 현재 미지원이라고 명시되어 있음.

설치 및 기본 사용법

pip install openpipe-art   # 라이브러리와 vLLM/GRPO 종속성 다운로드

그런 다음 클라이언트(art.TrainableModel)를 가져오고, 선택적으로 백엔드(art.serverless.backend.ServerlessBackend로 W&B, 또는 art.local.backend.LocalBackend로 로컬 GPU)를 지정합니다.

생태계 통합

  • W&B – 관리형 서버리스 RL, 실험 추적, 추론 배포에 사용.
  • LangGraph – 최신 통합으로, RL로 LangGraph 기반 에이전트 그래프를 훈련할 수 있음.
  • Langfuse – 프롬프트, 응답, 보상의 가시성 제공.
  • OpenPipe – ART의 개발사인 OpenPipe는 추가 호스팅 서비스를 제공(오픈소스 라이브러리에는 필수 아님).

ART를 사용할 만한 사람

  • 연구소 – 복수 단계의 LLM 에이전트(이메일 어시스턴트, 도구 사용 봇, 게임 플레이 에이전트)를 구축하고, RL 파인튜닝이 필요한 사람.
  • 제품 팀 – 이미 LLM 기반 워크플로우를 보유하고 있지만, 경험 기반 학습으로 개선하고 싶지만, 자체 RL 인프라를 구축하고 싶지 않은 사람.
  • 교육자/학생 – LLM을 위한 RL을 위한 즉시 사용 가능한 샌드박스를 찾는 사람. Colab 노트북은 원클릭 시작 가능.

라이선스 및 인용

  • 라이선스: Apache‑2.0 (허용성 높고 상용 사용에 적합).
  • 인용: 학술용 BibTeX 항목 제공.

결론

ART는 LLM 에이전트의 LoRA 기반 정책 최적화에 필요한 복잡한 작업을 추상화한 목적 지향적 RL 프레임워크입니다. 가벼운 클라이언트와 확장 가능한 서버(옵션으로 W&B를 통한 서버리스)를 분리함으로써, 개발자는 환경, 롤아웃, 보상 함수 정의에 집중할 수 있고, 라이브러리는 추론, 트래잭토리 로깅, GRPO 업데이트를 처리합니다. LLM을 자가 개선형 에이전트로 전환하고 싶지만, RL 파이프라인을 처음부터 구축하고 싶지 않다면, ART는 실용적이고 프로덕션 준비된 옵션입니다.

관련

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