[논문 리뷰] Adapting to a Cambrian AI/SW/HW explosion with open co-design competitions and Collective Knowledge
이 논문은 자동화된 자동 튜닝과 지식 공유를 통해 지속적이고 공동으로 수행되는 성능 및 비용 인식 소프트웨어 공학을 가능하게 하는 공동 작업형, 오픈소스 프레임워크인 Collective Mind(cM)를 제안한다. 소프트웨어에 경량 워핑을 적용하고 이를 공개 저장소에 연결함으로써, 파레토 경계 분석을 통해 다양한 하드웨어에서 최적화의 상호 보완 관계를 추적할 수 있으며, 실시간 다중 목표 튜닝을 가능하게 하여 컴파일러 효율성과 애플리케이션 이식성 향상을 이룬다.
The original presentation was shared via SlideShare. Slides from the ARM's Research Summit'17 about the "Community-Driven and Knowledge-Guided Optimization of AI Applications Across the Whole SW/HW Stack": cKnowledge.org cKnowledge.org/repo cKnowledge.org/repo-beta cKnowledge.org/android-apps.html cKnowledge.org/ai developer.arm.com/research/summit Co-designing the whole AI/SW/HW stack in terms of speed, accuracy, energy consumption, size, costs, and other metrics has become extremely complex, long and costly. With no rigorous methodology for analyzing performance and accumulating optimisation knowledge, we are simply destined to drown in the ever growing number of design choices, system<br> features and conflicting optimisation goals.<br> <br> We present our novel community-driven approach to solve the above problems. Originating from natural sciences, this approach is embodied in Collective Knowledge (CK), our open-source cross-platform workflow framework and repository for automatic, collaborative and reproducible experimentation. CK helps organize, unify and share representative workloads, data sets, AI frameworks, libraries, compilers, scripts, models and other artifacts as customizable and reusable components with a common JSON API.<br> <br> CK helps bring academia, industry and end-users together to gradually expose optimisation choices at all levels (e.g. from parameterized models and algorithmic skeletons to compiler flags and hardware configurations) and autotune them across diverse inputs and platforms. Optimization knowledge gets continuously aggregated in public or private repositories such as cKnowledge.org/repo in a reproducible way, and can be then mined and extrapolated to predict better AI algorithm choices, compiler transformations and hardware designs.<br> <br> We also demonstrate how we use this approach in practice together with ARM and other companies to adapt to a Cambrian AI/SW/HW explosion by creating an open repository of reusable AI artifacts, and then collaboratively optimising and co-designing the whole deep learning stack (software, hardware and models).
연구 동기 및 목표
- 다양하고 빠르게 변화하는 하드웨어 플랫폼 간 소프트웨어 최적화의 증가하는 과제를 해결한다.
- 광범위하고 탐색되지 않은 설계 공간으로 인해 전통적인 컴파일러가 최적화 기회를 활용하지 못하는 한계를 극복한다.
- 소프트웨어 및 하드웨어 구성 간 최적화 지식을 공유하고 재사용할 수 있는 확장성 있고 공동 작업 기반의 인프라를 구축한다.
- 지속적인 벤치마킹과 공동 실험을 통해 실용적이고 재현 가능하며 지속 가능한 성능 공학을 실현한다.
- 실세계 데이터와 머신러닝을 기반으로 최적의 구성 설정을 예측하여 자가 튜닝 시스템을 지원한다.
제안 방법
- 컴파일러 플래그, 스레딩 모델, 알고리즘 변형과 같은 최적화 매개변수를 노출하기 위해 소프트웨어 구성 요소(‘계산 종류’)에 경량 워핑을 개발한다.
- 실제 하드웨어에서 성능 및 비용 메트릭을 수집하기 위해 워핑을 공개된 Collective Mind(cM) 자동 튜닝 인프라 및 저장소에 통합한다.
- 안드로이드 기기와 일반 하드웨어에서의 공동 작업 실행을 통해 실생활 조건에서 소프트웨어를 지속적으로 벤치마킹하고 튜닝한다.
- 실행 시간, 에너지 소비, 메모리 사용량, 코드 크기 등의 다중 목표 간 최적의 상호 보완 관계를 파악하기 위해 파레토 경계 분석을 적용한다.
- 소프트웨어 기능, 입력 데이터, 하드웨어 특성과의 최적화 솔루션 간 수동 및 자동 분류, 정렬, 상관관계 분석을 가능하게 한다.
- JSON 기반 API와 빅데이터 분석을 활용해 확장성 있고 재사용 가능하며 상호 운용 가능한 성능 추적 및 지식 공유를 지원한다.
실험 결과
연구 질문
- RQ1소프트웨어 공학은 자연과학과 유사한 지속적이고 데이터 기반의 과정으로 어떻게 전환될 수 있는가?
- RQ2공동 작업 기반의 오픈 인프라는 다양한 하드웨어 및 구성 간 소프트웨어 성능을 효과적으로 추적하고 최적화할 수 있는가?
- RQ3현대 시스템의 복잡성 증가에 대응해 다중 목표 자동 튜닝을 어떻게 체계적으로 확장하고 자동화할 수 있는가?
- RQ4협업 지식 공유와 머신러닝은 컴파일러 최적화 및 시스템 신뢰성 향상에 어떤 역할을 할 수 있는가?
- RQ5실세계 대규모 성능 데이터를 활용해 최적의 구성 설정을 예측하고 튜닝 노력을 줄일 수 있는가?
주요 결과
- Collective Mind 프레임워크는 다양한 하드웨어 플랫폼에서 15,000건 이상의 데이터셋과 300개 이상의 소프트웨어 종류를 성공적으로 수집하여 확장성과 실세계 적용 가능성을 입증했다.
- 산업 파트너들은 ARM 및 인텔 프로세서용 GCC 컴파일러 최적화 히ュ리스틱에 실질적인 향상을 기록했으며, 하드웨어 검증 과정에서 아키텍처 오류를 탐지하는 데 기여했다.
- 정적 컴파일된 이미지 처리 애플리케이션은 실시간 제약 조건을 충족하면서 에너지 소비, 메모리 사용량, 개발 비용을 최소화하는 자가 튜닝 시스템으로 성공적으로 전환되었다.
- 이 프레임워크는 지속적이고 재현 가능한 벤치마킹을 지원하며, 연구자들이 대규모이고 현실적이며 대표적인 하드웨어-소프트웨어 기반에서 새로운 최적화 기법을 검증할 수 있도록 한다.
- Docker, Phoronix, Eclipse 등의 도구와의 통합은 자동화 및 도입을 촉진하여 종속성 추적 및 플러그인 통합을 원활하게 한다.
- 이 접근법은 자료 평가를 장려하고 비대표적이거나 합성 벤치마크에 대한 의존도를 줄임으로써 소프트웨어 공학의 장기적 지속 가능성에 기여한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.