딥러닝 컴파일러 프론트엔드 버그의 실체 규명: LLM을 활용한 경험적 연구
요약
PyTorch 2의 TorchDynamo 프론트엔드에서 발생하는 딥러닝 컴파일러 버그를 LLM을 활용해 체계적으로 분석한 연구입니다. 123개의 버그를 분석하여 7개의 근본 원인 분류 체계를 구축하고, LLM 기반의 타겟 테스트 케이스 생성 방법론을 제안했습니다.
핵심 포인트
- TorchDynamo 프론트엔드 버그에 대한 최초의 체계적 경험적 연구 수행
- LLM을 활용하여 7개의 근본 원인 및 15개의 하위 범주 분류 체계 구축
- LLM 기반 근본 원인 인지형 테스트 케이스 생성 방법론 제안
- 최근 릴리스에서 23개의 새로운 버그를 발견하여 방법론의 효용성 입증
딥러닝 컴파일러 (Deep learning compilers, DLCs)는 딥러닝 프로그램을 최적화된 하드웨어 특화 코드로 변환하도록 설계되었습니다. 일반적으로 DLC 프론트엔드 (frontends)는 최적화를 가능하게 하기 위해 프로그램을 그래프 기반의 중간 표현 (intermediate representations, IRs)으로 변환합니다. 이 단계에서 발생하는 결함 ( extit{fBug}s)은 매우 심각함에도 불구하고, 기존 연구들이 주로 저수준 API 및 연산자 (operators)에 집중하거나 DLC를 하나의 거대한 단일체 (monolithic entities)로 취급해 왔기 때문에 연구가 미흡한 실정입니다. 이러한 격차를 해소하기 위해, 본 연구에서는 가장 인기 있는 딥러닝 (DL) 프레임워크인 PyTorch 2의 기본 DLC 프론트엔드인 TorchDynamo에서 발생하는 extit{fBug}s에 대한 최초의 체계적인 경험적 연구를 수행합니다. 도메인 지식이 강화된 LLM 보조 방법론을 활용하여, 우리는 123개의 extit{fBug}s를 분석하고 7개의 근본 원인 (root cause) 범주와 15개의 하위 범주로 구성된 분류 체계 (taxonomy)를 구축했습니다. 우리의 연구 결과는 DLC 개발 및 테스트를 위한 실행 가능한 통찰력을 제공합니다. 나아가, 우리는 LLM을 활용하여 새로운 버그를 탐지할 수 있는 근본 원인 인지형 (root cause-aware) 타겟 테스트 케이스를 생성합니다. 우리는 최근 릴리스에서 8개의 (하위) 범주에 걸쳐 이전에 알려지지 않았던 23개의 extit{fBug}s를 발견하였으며 (그 중 15개 확인), 이를 통해 DLC 프론트엔드 테스트 및 강화에 있어 우리 방법론의 효용성을 입증했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기