
오픈소스(RLlib) 문제 발견부터 컨트리뷰션까지
두줄요약
RLlib의 사용자 지정 포트 분산 학습 오류 원인을 ML-Agents의 포트 연결 방식에서 분석했습니다. worker_id 증가와 유닛 테스트를 추가해 PR로 수정 사항을 반영했습니다.
문제 상황
- RLlib Unity3D Wrapper에서 사용자 지정 포트 사용 시 분산 학습 환경 전체에 동일 포트 할당
- 첫 번째 환경만 실행되고 나머지 환경의 포트 점유 대기
원인 분석
- 사용자 지정 포트를
base_port로 고정하면서 각 환경의worker_id를 모두 0으로 설정 - ML-Agents의
base_port + worker_id연결 방식 미활용
해결 방법
- Unity3D 에디터와 컴파일된 앱의 기본 포트를 구분하고 환경별
worker_id증가 - 사용자 지정 포트에서도 환경마다 서로 다른 최종 연결 포트 생성
- 포트 및
worker_id조합 검증 유닛 테스트 추가
성능/운영 포인트
- 유지관리자 요청에 따른 CI 스크립트와 requirements 갱신
- PR 머지로 RLlib에 버그 수정 반영


