본문으로 건너뛰기

Bengaluru에서 본 PyTorch 인프라의 다음 단계

Bengaluru 기술 행사가 PyTorch 인프라를 만드는 오픈소스 기여의 경로를 한자리에 모았습니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

Red Hat과 Hugging Face가 Bengaluru에서 170명 이상의 학생·엔지니어·연구자·오픈소스 기여자를 대상으로 PyTorch와 대규모 ML 시스템을 다루는 기술 행사를 열었습니다. 발표는 PyTorch profiling, SGLang 기반 LLM inference, OpenEnv와 Repo2RLEnv를 활용한 RL environment, DeviceMesh·DTensor·FSDP2를 이용한 composable distributed training, zero-copy GPU 통신으로 이어졌습니다. 각 주제는 모델 사용법보다 profiler, runtime, kernel, reward infrastructure, sharding, communication layer를 직접 만드는 역량에 초점을 맞췄습니다. 행사의 핵심 메시지는 인도가 AI 소비자를 넘어 open ML stack의 builder와 maintainer로 참여해야 하며, 이런 시스템 계층의 기여가 모델 규모 확대를 뒷받침한다는 점입니다.

섹션별 상세

01
Red Hat과 Hugging Face가 주최한 Bengaluru 행사는 170명 이상의 학생, 엔지니어, 연구자, 오픈소스 기여자를 모아 PyTorch와 대규모 ML 인프라를 다뤘습니다. 발표 구성은 API 호출이나 모델 Fine-tuning보다 inference 효율, RL 학습 환경, distributed training, communication primitive의 내부 구조에 맞춰졌습니다. 인도가 AI 기술의 소비자에 머물지 않고 profiler, runtime, kernel, training abstraction을 만드는 주체가 되어야 한다는 문제의식이 전체 세션을 관통했습니다.
02
Aritra Roy Gosthipaty는 PyTorch profiling을 반복 가능한 성능 측정 절차로 구성했습니다. `torch.profiler.record_function`으로 관심 영역을 표시하고 `torch.profiler.profile`과 wait·warmup·active schedule로 실행을 수집한 뒤 trace와 집계 표에서 CPU overhead와 GPU 작업을 구분하는 흐름입니다. 작은 workload에서는 GPU kernel보다 CPU의 launch와 orchestration 비용이 커질 수 있어, 모델 코드를 고치기 전에 실제 병목이 어느 계층에 있는지 측정해야 한다는 의미를 남겼습니다.
python
torch.profiler.record_function

PyTorch profiler에서 측정하려는 코드 영역을 표시하는 데 사용하는 API입니다.

python
torch.profiler.profile

PyTorch 실행을 감싸 CPU와 GPU 작업을 수집하고 trace와 집계 결과를 생성하는 profiler API입니다.

03
Adarsh의 SGLang 세션은 수천 개 동시 요청을 처리하는 LLM inference에서 prefill과 decode의 계산 특성이 다르다는 점을 출발점으로 삼았습니다. SGLang은 scheduling, continuous batching, attention backend를 제공하고 RadixAttention은 반복되는 prefix의 KV cache를 radix tree와 LRU 정책으로 보존해 공유 prompt를 재사용합니다. Transformers가 model definition, tokenizer, template, weight format의 기준을 맡고 SGLang이 빠른 serving 경로를 맡는 구조는 Hub 모델을 별도 runtime으로 일일이 포팅하지 않고 제공하는 기반이 됩니다.
text
Repo2RLEnv

공개 repository를 검증 가능한 RL environment로 변환하는 방향을 가리키는 이름입니다.

행사 발표 화면에 SGLang, Transformers Backend, and Kernels라는 세션 제목이 표시되어 있습니다.
Screenshot이미지는 SGLang과 Transformers backend, kernels를 함께 다룬 inference 발표 현장을 보여줍니다. 본문에서 설명한 serving runtime과 kernel infrastructure의 역할 분담이 발표 주제로 시각적으로 확인됩니다.
04
Adithya S Kolavi는 programmatically verifiable reward를 활용하는 post-training에서 RL environment가 학습의 실행 기반이 된다고 설명했습니다. environment는 task, state, tool, observation, reward logic, execution backend, episode control을 묶고 OpenEnv는 MCP tool과 task, reward rubric을 TRL에 연결해 이 구성을 재사용 가능한 형태로 만듭니다. 코드 task는 repository, test, issue, execution sandbox로 성공 여부를 검증하기 쉬워 `Repo2RLEnv`처럼 공개 repository를 RL 문제로 바꾸는 기여 영역을 열어 둡니다.
행사 발표 화면에 RL Environments 101과 What Is an Env? to Training Your Own이라는 제목이 표시되어 있습니다.
Screenshot이미지는 RL environment의 개념과 자체 학습 환경 구축을 다룬 발표 슬라이드를 보여줍니다. 본문에서 OpenEnv, tool, reward, task를 연결해 post-training 기반을 구성하는 흐름과 직접 이어집니다.
05
Mansi Agarwal은 DeviceMesh, DTensor, FSDP2를 사용해 여러 병렬화 축을 조합하는 distributed training의 방향을 설명했습니다. DeviceMesh가 cluster를 n차원 topology로 표현하고 DTensor가 tensor의 분산 placement를 인식하며 FSDP2가 그 위에서 sharding을 in-place transform으로 적용해, process group과 통신 코드를 병렬화 차원마다 다시 작성하는 부담을 줄입니다. 다만 DTensor의 eager-mode overhead, 불완전한 operator coverage, greedy sharding propagation의 한계도 함께 언급되어 composability가 실용화되는 과정의 비용을 드러냈습니다.
발표 화면에 data parallel, fully sharded, tensor parallel, pipeline parallel을 비교하는 병렬화 도식이 표시되어 있습니다.
Diagram이미지는 서로 다른 parallelism 축을 나란히 비교하고 이를 조합하는 문제를 시각화합니다. 본문에서 DeviceMesh와 DTensor가 병렬화 차원과 tensor placement를 공통 구조로 다루려는 이유를 보여주는 자료입니다.
06
Arkadip Maitra의 마지막 세션은 PyTorch의 `c10d` 통신 계층에서 GPU 간 중간 복사를 줄이는 zero-copy 경로를 다뤘습니다. GPUDirect RDMA, NVLink, topology-aware training fabric이 발전하면서 copy와 thread overhead가 더 뚜렷해졌고, 불필요한 복사 단계를 제거하면 thread-block 소비와 medium-message 통신 비용을 낮출 수 있다는 흐름입니다. 이 발표는 높은 수준의 model performance가 training loop 밖의 통신 substrate와 하드웨어 경로에도 좌우된다는 점을 행사 전체의 결론으로 연결했습니다.
발표 화면에 Zero-Copy GPU to GPU Communication in PyTorch라는 세션 제목이 표시되어 있습니다.
Screenshot이미지는 PyTorch의 GPU 간 zero-copy 통신을 다룬 발표 현장을 보여줍니다. 본문에서 c10d, 중간 복사 제거, thread overhead 감소, medium-message 통신 개선을 다룬 마지막 세션과 직접 연결됩니다.

용어 해설

RadixAttention
SGLang이 요청에서 반복되는 prefix의 KV cache를 radix tree 구조에 저장하고 LRU 방식으로 재사용하는 메커니즘입니다. 공유 prompt와 높은 동시 요청 환경에서 중복 계산을 줄여 serving 효율을 높이는 데 쓰입니다.
KV 캐시(KV cache)
LLM이 이전 token의 Key와 Value 상태를 저장해 다음 token 생성 때 다시 계산하지 않도록 하는 메모리 구조입니다. Decode 단계에서는 이 캐시를 반복적으로 읽고 갱신하는 비용이 커져 메모리 대역폭과 serving 성능에 영향을 줍니다.
DeviceMesh
여러 장치를 n차원 토폴로지로 표현해 data parallelism, tensor parallelism 같은 병렬화 축을 하나의 구조로 관리하는 PyTorch 추상화입니다. 장치 배치와 병렬화 차원을 명시적으로 다뤄 분산 학습 구성을 조합하기 쉽게 만듭니다.
DTensor
분산된 장치 배치 정보를 tensor의 의미에 포함하는 PyTorch 추상화입니다. DeviceMesh 위에서 tensor의 placement를 표현해 여러 병렬화 방식과 sharding을 조합할 수 있지만, 글에서는 eager-mode overhead와 불완전한 operator coverage를 제약으로 제시합니다.
OpenEnv
LLM post-training을 위한 RL environment의 공통 형태를 정의하는 접근입니다. MCP로 tool을 노출하고 task와 reward rubric을 제공한 뒤 TRL 같은 training library에 연결해 환경 구축을 일회성 코드가 아닌 재사용 가능한 구성 요소로 바꿉니다.
Zero-Copy 통신(Zero-Copy Communication)
GPU 간 데이터 전송에서 불필요한 중간 복사 단계를 제거해 통신 경로의 thread와 copy 비용을 줄이는 방식입니다. PyTorch의 분산 통신 계층에서 medium-message 구간과 대규모 학습의 통신 효율을 높이는 저수준 최적화로 다뤄집니다.

기술

  • PyTorch
  • Hugging Face
  • Red Hat
  • torch.profiler.record_function
  • torch.profiler.profile
  • SGLang
  • Transformers
  • RadixAttention
  • Hugging Face Kernels
  • RLHF
  • OpenEnv
  • MCP
  • TRL
  • Repo2RLEnv
  • DeviceMesh
  • DTensor
  • FSDP2
  • c10d
  • GPUDirect RDMA
  • NVLink

활용 사례

  • 대규모 LLM inference serving
  • 공유 prompt가 많은 동시 요청 처리
  • programmatically verifiable reward 기반 LLM post-training
  • repository와 test를 활용한 coding RL environment 구축
  • DeviceMesh 기반 multi-dimensional distributed training
  • zero-copy GPU-to-GPU communication
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 09. 07.수집 2026. 09. 07.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.