TorchCode 소개
Meta, Google DeepMind, OpenAI 같은 기업들은 AI/ML 엔지니어 분야 지원자들에게 채용 면접에서 핵심 연산을 화이트보드에 직접 구현할 것을 요구합니다. 논문을 읽고 이해하는 것만으로는 충분하지 않고, softmax, LayerNorm, MultiHeadAttention, 완전한 Transformer 블록까지 코드로 작성할 수 있어야 합니다. 이러한 배경에서 탄생한 TorchCode는 PyTorch 핵심 연산과 아키텍처를 직접 구현하며 연습할 수 있는 LeetCode 스타일의 오픈소스 플랫폼입니다.
TorchCode는 Jupyter Notebook 기반으로 동작하며, Docker를 통해 로컬 환경에 셀프 호스팅하거나 Hugging Face Spaces에서 온라인으로 바로 사용할 수 있습니다. GPU 없이도 모든 문제를 풀 수 있다는 점이 특징이며, 문제를 제출하면 자동 채점기(Judge)가 정확성 검사, 그래디언트 검증, 실행 시간 측정까지 즉각적으로 수행합니다. 경쟁 프로그래밍처럼 각 테스트 케이스별로 컬러로 표시된 통과/실패 결과를 확인할 수 있어 학습 피드백이 매우 직관적입니다.
현재 40개의 엄선된 문제가 제공되며, 이는 실제 ML 인터뷰에서 가장 자주 출제되는 주제들로 구성되어 있습니다. 막힐 때는 정답 없이 방향만 제시하는 힌트 기능을 사용할 수 있고, 풀이 후에는 최적화된 레퍼런스 솔루션을 공부할 수 있습니다. 각 문제는 풀이 횟수, 최고 시간 등 진행 상황을 추적하며, 툴바의 원클릭 초기화 버튼으로 같은 문제를 몇 번이든 다시 연습할 수 있습니다.
TorchCode의 주요 기능 및 특징
40개의 엄선된 PyTorch 문제
TorchCode에는 실제 ML 인터뷰에서 빈출하는 주제들로 구성된 40개의 문제가 포함되어 있습니다. softmax, LayerNorm 같은 기본 연산부터 MultiHeadAttention, GPT-2 전체 아키텍처 구현까지 난이도별로 구성되어 있어 단계적으로 실력을 키울 수 있습니다. 각 문제는 Jupyter Notebook 형식으로 제공되며, 빈칸 채우기 방식으로 핵심 구현부를 직접 작성하는 구조입니다.
자동 채점 및 즉각적인 피드백
문제를 제출하면 자동 채점기가 다음 항목을 검사합니다.
정확성 검사로 구현한 결과가 정답과 일치하는지 검증하고, 그래디언트 검증으로 역전파가 올바르게 동작하는지 확인하며, 실행 시간 측정으로 구현의 효율성을 평가합니다. 결과는 경쟁 프로그래밍 스타일로 각 테스트 케이스별 통과/실패가 색상으로 표시됩니다.
셀프 호스팅 및 온라인 실행
# Docker로 로컬 실행
make up
# 접속: http://localhost:7860
Google Colab에서도 실행 가능합니다. 모든 Notebook에 "Open in Colab" 배지가 포함되어 있어 별도 설정 없이 즉시 시작할 수 있습니다.
학습 지원 기능
힌트 시스템은 정답을 공개하지 않고 방향만 제시하는 단계별 힌트를 제공하고, 레퍼런스 솔루션으로 풀이 후 최적화된 구현 예시를 학습할 수 있습니다. 진행 상황 추적 기능으로 풀이한 문제, 최고 기록, 시도 횟수를 대시보드에서 확인하며, 원클릭 초기화로 언제든 같은 문제를 처음부터 다시 연습할 수 있습니다.
TorchCode 설치 및 시작
Docker로 실행
git clone https://github.com/duoan/TorchCode
cd TorchCode
make up
설치 완료 후 http://localhost:7860 에서 접속합니다. GPU 없이도 모든 문제를 풀 수 있습니다.
Hugging Face Spaces에서 온라인 사용
별도 설치 없이 Hugging Face Spaces에서 바로 사용할 수 있습니다:
라이선스
TorchCode 프로젝트는 MIT License로 공개 및 배포되고 있습니다.

