분산 AI를 위한 Ray
Ray는 Python 및 AI 워크로드를 노트북에서 수천 대의 머신 클러스터로 쉽게 확장할 수 있게 해주는 오픈 소스 프레임워크입니다.
개요
It matters because it gives a simple, unified way to distribute training, tuning, data processing, and serving without rewriting your code for each.
심층 분석
Ray의 핵심 아이디어는 최소한의 변경으로 일반적인 Python 함수와 클래스를 분산 단위로 바꾸는 것입니다. 원격 '작업'으로 표시된 기능은 클러스터의 모든 작업자에서 비동기식으로 실행됩니다. 원격 '배우'로 표시된 클래스는 작업자에 거주하는 상태 저장 서비스가 됩니다. Ray는 경량 미래(객체 참조)를 반환하고 예약, 공유 객체 저장소를 통한 데이터 이동 및 내결함성을 처리합니다. 이 핵심 위에는 분산 모델 훈련을 위한 Ray Train, 하이퍼파라미터 검색을 위한 Ray Tune, 스트리밍 데이터 파이프라인을 위한 Ray Data, 강화 학습을 위한 RLlib, 확장 가능한 모델 제공을 위한 Ray Serve가 있습니다. 이를 통해 하나의 클러스터가 전체 ML 워크플로를 엔드 투 엔드로 처리할 수 있습니다.
기술적 통찰력
주요 기본 요소는 작업(상태 비저장, 병렬 함수 호출) 및 행위자(로드된 모델 또는 카운터와 같은 항목을 보유하는 상태 저장 작업자)입니다. 원격 작업을 호출하면 Ray는 즉시 future를 반환하고 사용 가능한 CPU/GPU에 걸쳐 작업을 예약합니다. ray.get()을 호출하여 결과를 가져옵니다. 복사가 필요 없는 공유 메모리를 갖춘 분산형 인메모리 개체 저장소는 작업자 간에 배열과 같은 대규모 개체를 효율적으로 이동하여 반복적인 직렬화를 방지하고 데이터 집약적인 AI 파이프라인을 빠르게 만듭니다.
전략적 영향
비용 및 예산
아키텍처 결정은 수년 동안 성능과 운영 비용을 결정합니다.
더 명확한 결정들
기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다.
품질 관리
더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다.
분산 AI를 위한 Ray의 미래
Ray는 대규모 AI의 중추가 되었으며, 특히 대규모 언어 모델을 훈련하고 제공하는 데 사용됩니다. LLM 관련 서비스(vLLM이 포함된 Ray Serve), 이기종 GPU 스케줄링, KubeRay를 통한 데이터 레이크 및 Kubernetes와의 긴밀한 통합, 급증하는 생성 워크로드에 대한 자동 확장의 증가를 기대합니다. 모델이 성장함에 따라 다중 노드 교육, RLHF 파이프라인 및 수천 개의 가속기에 대한 일괄 추론을 조율하는 Ray의 역할이 확장될 가능성이 높습니다.
실제 구현
Ray Tune을 실행하여 GPU 클러스터 전체에서 수백 개의 하이퍼매개변수 조합을 병렬로 검색하여 최상의 모델 구성을 찾습니다.
Ray Train을 사용하여 최소한의 코드 변경으로 딥 러닝 모델 교육을 여러 GPU 및 노드에 분산
Ray Data를 사용하여 일괄 추론 파이프라인을 구축하여 클러스터 전체의 모델을 통해 스트리밍하여 수백만 개의 레코드에 점수를 매깁니다.
다양한 프로덕션 트래픽을 처리하기 위해 Ray Serve를 사용하여 단일 자동 확장 엔드포인트 뒤에 여러 모델 배포
위험 및 가드레일
하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다.
인프라 및 유지 관리 비용은 종종 과소평가됩니다.
시스템이 더욱 복잡해짐에 따라 보안 및 관찰 가능성의 격차가 커질 수 있습니다.
구현 로드맵
구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요.
현실적인 로드 및 데이터 조건에서 벤치마킹합니다.
오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링.
확장하기 전에 롤백 및 사고 대응 경로를 준비하세요.
계속 탐색하세요
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Ray for Distributed AI quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
다음 가이드
그라데이션 체크포인트
자주 묻는 질문
What is Ray for Distributed AI?
Ray는 Python 및 AI 워크로드를 노트북에서 수천 대의 머신 클러스터로 쉽게 확장할 수 있게 해주는 오픈 소스 프레임워크입니다. 각각에 대해 코드를 다시 작성하지 않고도 훈련, 조정, 데이터 처리 및 서비스를 배포하는 간단하고 통합된 방법을 제공하기 때문에 중요합니다.
Ray는 주로 어떤 문제를 해결합니까?
Ray는 각 워크로드 유형에 대해 코드를 다시 작성하지 않고도 여러 시스템에 계산을 분산시키는 통합되고 간단한 방법을 제공합니다.
Ray에서 '과제'와 '배우'의 차이점은 무엇인가요?
작업은 병렬로 실행되는 상태 비저장 원격 함수인 반면, 액터는 로드된 모델처럼 상태를 유지하는 수명이 긴 객체입니다.
원격 작업을 시작하면 Ray가 즉시 무엇을 반환합니까?
Ray는 가벼운 future를 즉시 반환하므로 작업이 비동기식으로 실행됩니다. 필요할 때 실제 결과를 검색하려면 ray.get()을 호출합니다.
분산 하이퍼파라미터 검색을 위해 설계된 Ray 라이브러리는 무엇입니까?
Ray Tune은 클러스터 전반에 걸쳐 많은 초매개변수 시험을 병렬로 실행하는 것을 전문으로 합니다.
Ray의 객체 저장소는 어떻게 데이터 집약적인 AI 파이프라인을 효율적으로 만들까요?
공유 메모리 내 객체 저장소는 무복사 읽기를 사용하므로 비용이 많이 드는 재직렬화 없이 작업자가 대규모 배열에 액세스할 수 있습니다.