본문으로 건너뛰기

[sglang] NPU CI 최적화: PyTorch 의존성 캐싱으로 설치 속도 개선

PR 링크: sgl-project/sglang#21470 상태: Merged | 변경: +5 / -2

들어가며

CI에서 패키지 설치 속도는 전체 파이프라인 시간에 큰 영향을 미칩니다. SGLang의 NPU CI는 Ascend NPU 환경에서 실행되는데, 기존에는 외부 PyPI 미러(tsinghua)에 의존하고 있었습니다. 이번 PR은 내부 캐시 서비스로 완전히 전환하여 외부 네트워크 의존성을 제거합니다.

핵심 코드 분석

pip 설정 변경

Before:

run: |
  pip config set global.index-url http://${CACHING_URL}/pypi/simple
  pip config set global.extra-index-url "https://pypi.tuna.tsinghua.edu.cn/simple"
  pip config set global.trusted-host "${CACHING_URL} pypi.tuna.tsinghua.edu.cn"

After:

env:
  TORCH_CACHE_URL: "http://cache-service.nginx-pypi-cache.svc.cluster.local/whl/cpu"
  PYPI_CACHE_URL: "http://cache-service.nginx-pypi-cache.svc.cluster.local/pypi/simple"
  GITHUB_PROXY_URL: "https://gh-proxy.test.osinfra.cn/"
run: |
  pip config set global.index-url http://${CACHING_URL}/pypi/simple
  pip config set global.trusted-host "${CACHING_URL}"

외부 미러(pypi.tuna.tsinghua.edu.cn)를 제거하고, 환경변수로 캐시 서비스 URL을 명시적으로 정의합니다.

왜 이게 좋은가

  1. 외부 의존성 제거: 외부 미러 장애 시 CI 실패를 방지합니다.
  2. 보안 강화: trusted-host에서 외부 도메인을 제거하여 공급망 공격 표면을 줄입니다.
  3. 환경변수 명시화: TORCH_CACHE_URL, PYPI_CACHE_URL 등을 env 블록에 선언하여 설정의 가시성을 높입니다.

정리

5줄 변경의 인프라 최적화 PR입니다. CI에서 외부 네트워크 의존성을 줄이는 것은 안정성과 보안 모두에 기여합니다.

참고 자료

⚠️ 알림: 이 분석은 AI가 실제 코드 diff를 기반으로 작성했습니다.

댓글

관련 포스트

PR Analysis 의 다른글