개요
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 Tune을 실행하여 GPU 클러스터 전체에서 수백 개의 하이퍼매개변수 조합을 병렬로 검색하여 최상의 모델 구성을 찾습니다.
Ray Train을 사용하여 최소한의 코드 변경으로 딥 러닝 모델 교육을 여러 GPU 및 노드에 분산
Ray Data를 사용하여 일괄 추론 파이프라인을 구축하여 클러스터 전체의 모델을 통해 스트리밍하여 수백만 개의 레코드에 점수를 매깁니다.
다양한 프로덕션 트래픽을 처리하기 위해 Ray Serve를 사용하여 단일 자동 확장 엔드포인트 뒤에 여러 모델 배포
분산 AI를 위한 Ray의 미래
Ray는 대규모 AI의 중추가 되었으며, 특히 대규모 언어 모델을 훈련하고 제공하는 데 사용됩니다. LLM 관련 서비스(vLLM이 포함된 Ray Serve), 이기종 GPU 스케줄링, KubeRay를 통한 데이터 레이크 및 Kubernetes와의 긴밀한 통합, 급증하는 생성 워크로드에 대한 자동 확장의 증가를 기대합니다. 모델이 성장함에 따라 다중 노드 교육, RLHF 파이프라인 및 수천 개의 가속기에 대한 일괄 추론을 조율하는 Ray의 역할이 확장될 가능성이 높습니다.
실천에 옮기기
왜 중요한가요?
- 비용 및 예산. 아키텍처 결정은 수년 동안 성능과 운영 비용을 결정합니다.
- 더 명확한 결정들. 기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다.
- 품질 관리. 더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다.
조심하세요
- 하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다.
- 인프라 및 유지 관리 비용은 종종 과소평가됩니다.
- 시스템이 더욱 복잡해짐에 따라 보안 및 관찰 가능성의 격차가 커질 수 있습니다.
다음 단계
- 구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요.
- 현실적인 로드 및 데이터 조건에서 벤치마킹합니다.
- 오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링.
- 확장하기 전에 롤백 및 사고 대응 경로를 준비하세요.
계속 탐색하세요
무료 뉴스레터
일일 AI 브리핑 받기
매주 평일 아침마다 3개의 검증된 AI 스토리를 일반 영어로 작성합니다. 무료이며, 광고 없음.
매주 평일마다 한 번 이메일을 받습니다. 한 번 클릭으로 구독 해지. 주소를 판매하거나 공유하지 않습니다.
자신을 테스트해 보세요
Take the Ray for Distributed AI quiz
모든 답변에 즉각적인 피드백과, 과정을 통과하면 검증 가능한 ID가 있는 공유 가능한 인증서를 제공합니다.
무료 AI 교육을 지원합니다. AI Understanding는 501(c)(3) 비영리 단체입니다 — 광고 없음, 유료 장벽 없음, 영원히. 기부하기
자주 묻는 질문
What is Ray for Distributed AI?
Ray는 Python 및 AI 워크로드를 노트북에서 수천 대의 머신 클러스터로 쉽게 확장할 수 있게 해주는 오픈 소스 프레임워크입니다. 각각에 대해 코드를 다시 작성하지 않고도 훈련, 조정, 데이터 처리 및 서비스를 배포하는 간단하고 통합된 방법을 제공하기 때문에 중요합니다.
Ray는 주로 어떤 문제를 해결합니까?
Ray는 각 워크로드 유형에 대해 코드를 다시 작성하지 않고도 여러 시스템에 계산을 분산시키는 통합되고 간단한 방법을 제공합니다.
Ray에서 '과제'와 '배우'의 차이점은 무엇인가요?
작업은 병렬로 실행되는 상태 비저장 원격 함수인 반면, 액터는 로드된 모델처럼 상태를 유지하는 수명이 긴 객체입니다.
원격 작업을 시작하면 Ray가 즉시 무엇을 반환합니까?
Ray는 가벼운 future를 즉시 반환하므로 작업이 비동기식으로 실행됩니다. 필요할 때 실제 결과를 검색하려면 ray.get()을 호출합니다.
분산 하이퍼파라미터 검색을 위해 설계된 Ray 라이브러리는 무엇입니까?
Ray Tune은 클러스터 전반에 걸쳐 많은 초매개변수 시험을 병렬로 실행하는 것을 전문으로 합니다.
Which object type do Ray’s docs explicitly say can be read from same-node object-store memory without a copy?
Ray documents zero-copy reads for NumPy arrays stored in the object store when workers on the same node access them. Other values may require deserialization, and data requested across nodes must be transferred.