Paper) DATA-DRIVEN OFFLINE OPTIMIZATION FORARCHITECTING HARDWARE ACCELERATORS 리뷰

2021. 11. 6. 13:05관심있는 주제

하드웨어 가속기 디자인에 관련된 논문을 설명하고자 합니다. 

 

목차

    Abstract

    why

    • 디자이너들은 수동적인 노력과 많은 시뮬레이션을 해야 한다.
    • 시뮬레이션 기반의 방식들은 디자인 제한 조건 변화나 target application에 따라서 매번 다르게 다시 해야 한다.
    • 대안적인 방식으로는 data-driven 방식이 있고, 적재된 데이터를 활용하는 방식으로 어떠한 시뮬레이션 형태 없이 아키텍처 할 수 있다.
      • 시뮬레이션 시간을 줄여줄 뿐만 아니라, target application 변화할 때도 재사용할 수 있다.

    goal

    • 우리의 접근 방식은 원하는 비용 함수의 보수적이고 강력한 추정치를 학습하고 실행 불가능한 점을 활용하며 최적화 중에 추가 시뮬레이터 없이 이 추정치에 대해 설계를 최적화한다.
    • 단일 및 다중 응용 프로그램 모두에 맞게 조정된 PRIME 아키텍처 가속기는 최첨단 시뮬레이션 기반 방법의 성능을 약 1.54배 및 1.20배 개선하는 동시에 필요한 총 시뮬레이션 시간을 각각 93% 및 99% 크게 줄입니다.
    • 또한 PRIME은 제로샷 설정에서 보이지 않는 애플리케이션을 위한 효과적인 가속기를 설계하여 시뮬레이션 기반 방법보다 1.26배 더 우수합니다.

     

     

    result & discussion

    실험에서는 다음 질문들을 평가했다.

    1. PRIME 설계 가속기는 훈련 데이터 세트에서 가장 잘 관찰된 구성보다 우수하고 주어진 시뮬레이터 쿼리 예산에서 최첨단 시뮬레이션 기반 방법과 비슷하거나 더 나은 주어진 애플리케이션에 맞춰질 수 있습니까?
    2. PRIME은 다른 방법에 비해 총 시뮬레이션 시간을 단축합니까?
    3. PRIME은 다양한 애플리케이션 제품군을 위한 하드웨어 가속기를 생산할 수 있습니까?
    4. 응용 프로그램 제품군에 대해 교육을 받은 PRIME이 보이지 않는 새로운 응용 프로그램을 위한 고성능 가속기를 설계하여 효과적인 데이터 재사용을 가능하게 할 수 있습니까?

    Baseline

    • 3가지의 최신 online optimization 방법과 비교합니다.
    • (1) evolutionary search with the firefly optimizer [63] (“Evolutionary”), which is the shown to the best online method in designing the accelerators that we consider by prior work [63].
    • (2) Bayesian Optimization (“Bayes Opt”) [19] implemented via the Google Vizier framework, a Gaussian process-based optimizer that is widely use to tune ma- chine learning models at Google and more broadly.
    • (3) MBO [1], a state-of-the-art online MBO method for designing biological sequences.

     

    discussion

    하드웨어 가속기를 자동으로 찾아주기 위해서 PRIME이라고 하는 데이터 기반의 offline optmization 방법을 제시했다.

    우리의 방법은 1회 수집된 가속기 데이터 세트를 사용하여 가속기의 원하는 목적 함수를 더 잘 모델링하기 위해 실행 불가능한 데이터 포인트를 활용함으로써 목적 함수의 보수적 대리를 학습함으로써 시간 소모적인 시뮬레이션의 필요성을 완화합니다.

    우리의 결과는 평균적으로 우리의 방법이 기록된 데이터에서 관찰된 최고의 설계보다 2.46배 더 성능이 우수하고 최고의 시뮬레이터 기반 접근 방식보다 약 1.54배 향상된다는 것을 보여줍니다

    여러 응용 프로그램 또는 보이지 않는 새로운 응용 프로그램에 공동으로 최적인 가속기를 설계하는 더 어려운 설정에서 제로 샷, PRIME은 총 시뮬레이션 시간을 99% 줄이는 동시에 시뮬레이터 기반 방법보다 1.2배 더 성능이 뛰어납니다.

    높은 수준에서 PRIME의 효능은 가속기 설계 파이프라인에서 강력한 오프라인 방법과 함께 기록된 오프라인 데이터를 활용할 수 있는 가능성을 강조합니다.

    PRIME은 원칙적으로 초기 오프라인 데이터셋을 넘어 능동적인 데이터 수집을 수행하는 온라인 방식의 내부 루프에서 자체적으로 사용될 수 있지만, 우수한 오프라인 방식으로 훈련될 때 신경망의 강력한 일반화 능력과 낮은 성능의 오프라인 데이터셋으로 구성된 오프라인 데이터셋 디자인은 여러 디자인 문제에 대해 매우 효과적인 요소로 작용할 수 있습니다. 소프트웨어-하드웨어 공동 최적화와 같은 아키텍처 및 시스템의 다른 문제에 대해 PRIME을 활용하는 것은 향후 작업을 위한 흥미로운 방법입니다.

     

     

    Introduction

    무어의 법칙[12]의 소멸과 반도체 산업에 미친 영향은 전문 하드웨어 가속기의 성장을 주도했습니다. 이러한 특수 가속기는 특정 응용 프로그램에 맞게 조정됩니다

    특수 가속기를 설계하기 위해 설계자는 먼저 실제 가속기 성능을 밀접하게 모델링하는 시뮬레이터를 개발하는 데 상당한 시간을 보낸 다음 시뮬레이터를 사용하여 가속기를 최적화합니다.

    • 시뮬레이터 기반 방식의 단점
      • 이러한 시뮬레이터는 가속기 설계를 자동화할 수 있지만 시뮬레이션 시간 및 컴퓨팅 요구 사항 측면에서 각각의 새로운 설계에 대해 많은 시뮬레이터 쿼리가 필요하며 이 비용은 설계 공간의 크기에 따라 증가합니다.
      • 게다가, 설계 공간 내의 대부분의 가속기는 일반적으로 실리콘의 빌드 오류 또는 컴파일/매핑 실패로 인해 실행 불가능합니다 [26, 63].
      • 이러한 접근 방식을 효율적이고 실질적으로 실행 가능하게 하기 위해 설계자는 일반적으로 제약 조건을 "베이크인(bake-in)"하거나 검색 공간을 좁히지만 이러한 제약 조건은 고성능 설루션을 나올 수 없게 합니다.

    이 작업에서 제안된 대안적인 접근 방식은 이전에 테스트된 가속기 디자인의 데이터베이스만 활용하고 측정된 성능 메트릭으로 주석을 추가하여 새로운 디자인을 구성하는 방법이 있다.

    다양한 장점을 가지고 있다.

    1. 대규모 시뮬레이션 스위프 실행의 반복적인 비용을 상당히 단축시키고,
    2. 도메인 지식이나 검색 공간 가지치기를 명시적으로 bake in 할 필요성을 완화하며,
    3. 효과적인 일반화를 통해 설계자가 새로운 보이지 않는 애플리케이션에 대해 가속기를 최적화할 수 있도록 함으로써 데이터 재사용을 가능하게 한다.

    데이터 중심 접근방식은 생물학에서 유망한 결과를 보여주었지만[15, 6, 58] 주로 실현 불가능한 설계 지점이 풍부하기 때문에 가속기 설계에 오프라인 최적화 방법을 사용하는 것이 어려웠다.

    기여한 점

    이 논문의 기여점은 데이터 기반 접근 방식인 PRIME이라는 방법을 사용하여 이전에 모아둔 오프라인 데이터를 사용하여, 자동으로 높은 성능이 가속기를 구성한다는 점이다.

    PRIME은 기존 오프라인 데이터 집합에서 작업 목표 함수의 강력한 대리 모델을 학습하고, 그림 1과 같이 학습된 대리 기능에 대해 아키텍처 매개 변수를 최적화하여 고성능 애플리케이션별 가속기를 찾는다

    기존의 나이브하게 학습된 surrogate 함수들은 일반적으로 학습된 대리 함수 하에서 상당히 낙관적으로 보이는 성능 저하, 분포 이탈 설계를 생성한다.

    PRIME의 강력한 surrogate 함수는 최적화 중에 발견되는 "적대적" 설계에 대한 과대평가를 방지하기 위해 명시적으로 훈련된다.

    게다가 제안한 방법은 보수적 대리(conservative surrogate)를 추가 음성 샘플로 처리하여 학습할 때 실현 불가능한 점을 대신 통합한다.

     

     

    Background

    • 전문화된 하드웨어 가속기 목표는 특정 테스크에 대해서 성능을 향상하는 것입니다.
    • 이러한 가속기를 설계하기 위해 설계자는 일반적으로 시뮬레이션을 사용하여 매개 변 수화된 설계를 만들고 매개 변수를 sweep over? 합니다.

    Target Hardware accelerators

    • 당사의 일차 평가에서는 이전 작업에 이어 업계 등급의 고도로 매개 변수화된 템플릿 기반 가속기를 사용합니다.
    • 이 템플릿을 통해 설계자는 개별 설계 공간에서 이러한 구성을 검색하여 계산 단위, 메모리 셀, 메모리 등과 같은 다양한 구성 요소의 구성을 결정할 수 있습니다.
    • 목적에 따라 다르게 만들어지기 때문에 메모리, 컴퓨팅 블록과 같은 것들은 하드웨어 설계 워크플로우는 이러한 매개 변수의 값을 직접 선택합니다.
    • 이 가속기 외에도 다른 가속기 설계 문제에 대한 우리 방법의 일반성을 추가로 보여주기 위해, 우리는 다른 검색 공간, 즉 NVDLA 스타일을 가진 두 개의 구별되는 데이터 흐름 가속기를 평가한다.

    액셀러레이터는 어떻게 작동할까요?

    (번역)

    템플릿 기반 가속기의 계산 흐름을 간략히 설명하고(그림 2) 다른 가속기에 대한 자세한 내용은 부록 D의 독자를 참조한다.

    이 템플릿 기반 가속기는 처리 요소(PE)의 2D 배열입니다.

    각 PE는 단일 명령 다중 데이터(SIMD) 패러다임에서 행렬 곱셈을 수행할 수 있다 [21]. 컨트롤러는 오프칩 DRAM 메모리와 온칩 버퍼 사이의 데이터 전송(활성화 및 모델 파라미터 모두)을 조정하고 실행을 위한 지침(예: 컨볼루션, 풀링 등)을 읽고 관리합니다. 이러한 가속기의 계산 단계는 일련의 활성화를 컴퓨팅 레인으로 전송하여 SIMD 방식으로 실행하고 부분 계산 결과를 저장하거나 오프칩 메모리에 다시 오프 로드하는 것으로 시작한다. 이전 작업[26, 11, 31]과 비교할 때, 이 매개 변수화는 독특합니다. 각 PE당 여러 컴퓨팅 레인을 포함하고 각 컴퓨팅 레인 내에서 SIMD 실행 모델을 사용할 수 있으며, 엔드 투 엔드 시뮬레이션 프레임워크와 함께 고유한 가속기 검색 공간을 제공합니다. 부록 D는 본 연구에서 평가한 다른 가속기에 대해 자세히 설명합니다.

     

    3. PROBLEM STATEMENT, TRAINING DATA AND EVALUATION PROTOCOL

    템플릿 기반 매개 변수화는 x로 표시된 가속기를 이산 설계 공간인 x = [x1, x2, · ·, xK]에 매핑하며, 각 xi는 표 1에 표시된 것처럼 마이크로아키텍처 템플릿의 한 구성 요소를 나타내는 이산값 변수이다(연구된 다른 가속기 검색 공간에 대한 설명은 부록 D 참조).

    디자인은 다양한 이유 때문에 실행불가능합니다.

    • 컴파일 실패 또는 물리적 구현의 한계와 같이, 우리는 Feasible(x)과 같은 모든 타당성 기준의 집합을 나타낸다.

    타당성 기준은 target software와 하드웨어 기반 target software 모두에 따라 다르며 명시적 시뮬레이션 없이는 주어진 x가 실현 불가능한지를 식별하기가 쉽지 않다.

    우리는 목적 함수의 가치를 학습할 뿐만 아니라 Feasible(x)를 만족하면서 x에 대해서 높은 성능을 가지는 해를 찾는 과정을 학습시켜야 한다.

    우리의 학습 데이터 세트 D는 설계 공간에서 무작위로 샘플링되고 하드웨어 시뮬레이터에 의해 평가되는 중간 수준의 가속기 세트로 구성된다.

    데이터셋은 Feasible과 InFeasible로 나누고, f(x)가 원하는 목표(예: 지연 시간, 전력 등)를 나타내도록 하고, 최적화는 실행 가능성을 만족시키기 위해 데이터의 실현 가능한 파티션에서 가속기 x에 대한 f(x) 값에만 액세스 할 수 있다.

    가속기는 영역 실행 가능과 같은 매개변수에 대한 명시적 제약 조건을 처리해야 한다. 실행 불가능한 모든 가속기에 대해 시뮬레이터는 f(x) 값을 제공하지 않는다. 또한 전력 [14]. 애플리케이션에서는 추가적인 명시적 제약 조건도 가능하지만 명시적 영역 제약 조건인 영역(x) α α를 부과한다. 다양한 제약 조건을 설명하기 위해 이 작업을 제한된 최적화 문제로 공식화한다.

     

    EQ 1은 다른 표준 블랙박스 최적화 문제와 유사하게 보일 수 있지만, 실행 불가능한 지점이 많고 명시적 설계 제약 조건을 처리해야 하며 매끄럽지 않은 풍경을 탐색하기 어렵기 때문에 가속기 설계 공간에 걸쳐 해결하는 것은 어렵다(부록 그림 3 및 그림 10 참조). (??)

    What makes optimization over accelerators challenging?

    적용된 모델 기반 최적화 방법과 비교할 때, 가속기를 최적화하면 여러 가지 현실적인 문제가 발생합니다.

    1. 가속기 설계 공간은 일반적으로 실현 불가능한 지점의 공간 내에서 실현 가능한 가속기의 좁은 다양체를 특징으로 한다.
      • 그림 3을 참고하면 거의 불가능하고 가능한 영역이 굉장히 좁다
      • 이러한 실행 불가능한 지점은 일반적으로 최적화 문제로 공식화하기에 간단하지 않으며 시뮬레이션이 필요하다.
    1. 최적화 목표는 설계 공간의 일부 영역에서 일부 아키텍처 매개변수의 작은 변화(그림 10b)에 대해 높은 민감도를 보일 수 있지만 다른 부분에서는 상대적으로 둔감하게 남아 있어 복잡한 최적화 환경을 초래한다.
      • 이는 로컬 매개변수 업데이트(예: 경사도 상승, 진화 체계 등)에 기반한 최적화 알고리즘이 목표의 거의 평평한 풍경을 가로지르는 어려운 작업을 수행하게 되어 성능이 저하될 수 있음을 시사한다.

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Training dataset

    452M의 가능한 가속기 설정 공간으로부터 랜덤 샘플링한 offline dataset을 활용함 (accelerator parameters, latency)

    우리의 방법은 훈련을 위한 실현 가능한 점들의 비교적 적당한 집합(약 8000점)만 제공되며, 이러한 점들은 무작위로 샘플링된 데이터 풀에서 가장 성능이 안 좋았던 실현 가능한 점이다.

    이 데이터 세트는 한 번 생성되어 디스크에 저장되거나 실제 물리적 실험을 통해 얻을 수 있는 쉽게 얻을 수 있고 애플리케이션에 구애받지 않는 가속기 데이터 세트를 반영하기 위한 것입니다.

    저자는 데이터 수집 동안 어떠한 도메인 지식이 필요 없다는 것을 강조하기 위해서 이렇게 작업했다고 하는 것 같다.

     

    Evaluation protocol

    시뮬레이터 기반의 방법들과 제안하는 데이터 기반 방식을 비교하기 위해서, feasible points의 수를 제한했다. (비용 평가를 위해서) 그래서 어떠한 알고리즘을 사용해도 동등한 양이 나오게 했다고 한다.

    사용하든 사용하지 않든 간에 최적화 방법에서 실현 불가능한 점들을 제공했다고 한다.

    주장하는 것은 같은 방법으로 동일한 양의 데이터를 사용해서 공평하다는 것을 확실히 하고자 했던 거라고 한다.

    그러나 소규모 오프라인 데이터 세트의 더 나쁜 품질의 데이터 포인트를 사용하는 우리의 방법과 대조적으로 시뮬레이터 주도 방법은 성능 면에서 더 나을 가능성이 높은 포인트로 쿼리 프로세스를 조정할 수 있기 때문에 고유한 이점이 있다.

    알고리즘의 예측에 따라 상위 n = 256개의 설계 후보자를 먼저 샘플링하여 이 모든 것을 실제 실제 목적 함수로 평가하고 최상의 가속기 설계의 성능을 기록함으로써 방법의 각 실행을 평가한다. 마지막으로 보고된 결과는 5개의 독립적 런에서 지상 실측값의 중위수이다.

     

    4 PRIME: ARCHITECTING ACCELERATORS VIA CONSERVATIVE SURROGATES

    그림 4와 같이, 우리의 방법은 먼저 오프라인 데이터 세트를 사용하여 최적화 목표의 보수적인 대리 모델(conservative surrogate model)을 학습한다. 그런 다음 이산 최적 화기를 사용하여 학습된 대리자를 최적화한다. 최적화 프로세스는 최종 최고 성능 n = 256 설계를 평가할 때를 제외하고 시뮬레이터나 초기 데이터 세트 이후의 실제 실험에 액세스 할 필요가 없다(Section 3).

    Learning conservative surrogates using logged offline data.

    performance metric(latency)가 제시된 레이블링 된 가속기 디자인의 점을 활용한다.

    실현 가능한 디자인과 가능하지 않은 디자인으로 x에다가 metric y를 맵핑하는 함수를 하나 만든다.

    학습된 surrogate는 optimizer에 의해서 최적화될 수 있다.

    • 이러한 방법은 mse를 최소화하는 지도 학습의 regression 방식이다.
    • 이전 방식들은 보지 않은 값에 대해서 과추정되는 경향이 있어서 성능을 떨어트리는 경우가 있었다.
      • 보이지 않는 입력에서 과대평가된 값이 최적기를 혼돈하지 않도록 COM을 기반으로 하고 보이지 않는 x 값에서 함숫값 fθ(x)를 명시적으로 최대화하는 추가 항으로 f((x)를 훈련시킨다.

    학습된 함수 f((x)가 과대평가될 가능성이 있는 이러한 보이지 않는 설계 x는 내부 루프에서 f를 최대화하는 것을 목표로 하는 근사 확률적 최적화 절차를 몇 번 반복하여 "부정적으로 채굴"된다. 이 절차는 지도 학습의 적대적 훈련[20]과 유사하다.

    Incorporating design constraints via infeasible points.

    surrogate를 하기 위해서는 위의 EQ(2)를 통해서 학습시키면 되지만, 이것만으로는 가속기에 대해서 충분하지 않다. 왜냐하면, 이는 explicit negative 마이닝이 가속기 설계 제약 조건에 대한 정보를 제공하지 않기 때문입니다.

    다행히도, 이 정보는 실현 불가능한 점들을 통합함으로써 제공됩니다. 우리는 단지 실현 불가능한 점 x개를 통합합니다. Dinactible. EQ2)의 훈련 절차는 표본을 추출하고 이러한 점에서 예측을 최대화하는 간단한 방법을 제공합니다. 이는 최종 목표를 제시합니다.

     

     

    Multi-application optimization and zero-shot generalization.

    데이터 기반 접근 방식의 주요 이점 중 하나는 애플리케이션 공간을 일반화하는 강력한 surrgate을 학습할 수 있게 해 보이지 않는 새로운 애플리케이션 도메인에 잠재적으로 효과적일 수 있다고 합니다.

    우리의 실험에서, 우리는 k = 1, · ·,K로 표시된 다중 애플리케이션의 가속기 설계에 PRIME을 평가한다. 여기서 각 Dk는 지연 시간 값과 공동 또는 보이지 않는 새로운 애플리케이션의 주석을 단 가속기 설계 세트로 구성된다. 이 경우, 우리는 주어진 애플리케이션 k에 대한 타당성 기준인 데이터 세트 D = {D1, · ·, DK}를 활용했다.

    데이터 세트의 각 부분에 나타나는 몇 가지 중복 설계가 있고 이러한 설계는 둘 이상의 애플리케이션에 대한 지연 시간 값으로 주석을 달지만, 대부분의 설계는 한 부분에만 나타나므로 교육 절차에서는 이러한 요구에 대해 둘 이상의 애플리케이션에 해당하는 지연 시간 값에 액세스 할 수 없다. 이는 가속기와 애플리케이션의 보이지 않는 조합으로 올바르게 일반화해야 하는 데이터 중심 방법에 어려운 시나리오를 제시한다.(번역)

    암튼 잘 일반화된다는 뜻 같음

    다중 애플리케이션에 대해 보수적인 단일 surrgate f(x)를 훈련하기 위해 표 2의 애플리케이션 속성 훈련 목록을 확장한다. 이 설정에서 학습된 함수는 이제 문맥 f((x, ck)에 의해 구동되는 다양한 애플리케이션에 대해 문맥 벡터 ck for Rd를 통합하기 위해 방정식 3의 절차를 조건으로 한다.

    Eq 3)에 의해서 학습하지만 전체 문맥 (이해 못함)

     

    Optimizing the learned conservative surrogate.

    이전 연구[63]에서 가속기 설계에 가장 효과적인 최적기는 메타 휴리스틱/진화 최적화기임을 보여주었다.

    그래서 저자는 conservative surrogate를 최적화하기 위해 firefly [61, 62, 40]를 활용하기로 결정했다 라고 한다.

    이 알고리즘은 일련의 최적화 후보(예: "“fireflies”)")를 유지하고 목푯값이 낮은 영역을 향해 이들을 공동으로 업데이트하면서, 고성능이지만 다양한 솔루션을 보장하도록 상대 거리를 적절히 조정한다.

    부록 C.1에서 추가 세부 사항을 논의한다.

    • 반딧불이의 불빛을 내는 행동과 사회적 행동 양식에 기반을 둔 개체군 기반의 최적화 방법
    • 관련 논문) https://www.koreascience.or.kr/article/JAKO201108863880821.pdf
      • 2009년 Xin-She Yang에 의해서 소개된 Firefly Algorithm(FA)은 반딧불이의 발광을 모델링하여 최적화하기 ‘어려운’ 문제들을 확률적으로 해결하기 위한 자연계 기반의 확 률적 최적화 방법의 일종이다 [9]. 알고리즘의 명료성을 위해 다음 3가지 룰이 가정된다
      • 잘은 모르겠지만...
      • 반딧불이로 하여금 랜덤한 움직임을 가능하게 하고, 알고리즘 전체의 랜덤 탐색의 가능성을 부여하여 각 반딧불 이 단위의 지역적 탐색 능력, 더 나아가 알고리즘 전체의 전역적 탐색에서의 무작위성을 부여한다
      → 지역적 / 전역적 탐색을 잘하는 방법론을 surrogate로 사용한다는 것 같다.

    Cross validation: which model and checkpoint should we evaluate?

    지도 학습과 마찬가지로, EQ 3을 통해 훈련된 모델은 과도하게 적합되어 잘못된 솔루션을 초래할 수 있다. 따라서 설계에 실제로 사용할 하이퍼 파라미터와 체크포인트를 선택하는 절차가 필요하다

    • 시뮬레이터에 대해 원하는 만큼의 모델을 임의로 평가할 수 없기 때문에 이는 매우 중요하다.
    • 모델 선택의 효율적인 방법인 오프라인 최적화에서는 개발하기 어렵기 때문에, 설계 생성에 사용할 체크포인트뿐만 아니라 α 및 β(등가 3) 값을 선택하기 위한 검증 세트를 사용하여 간단한 계획을 고안했다.
      • 각 훈련 실행에서 우리는 훈련 세트 중 최고 20%의 포인트를 유지하고 다음과 같이 교차 검증에만 사용한다.
    • 지도 학습의 일반적인 교차 검증 전략에는 검증 오류 추적(또는 위험)이 포함되지만, 모델이 보수적으로 훈련되었기 때문에 예측이 실제 사실과 일치하지 않을 수 있으므로 그러한 검증 위험 값은 사용 사례에 적합하지 않다고 한다.
    • 저자는 학습된 모델의 예측값과 실제값 사이의 Kendall's ranking correlationfmf 추적하여
    • 대신 학습된 모델 f(xi)의 예측과 각 실행의 checkpoint 지점에 대한 실측값 yi 사이의 켄달의 순위 상관관계(kendall's ranking correlation)를 추적한다.
    • 가장 높은 유효성 순위 상관관계를 달성하는 α, β 및 체크포인트의 값을 선택한다. PRIME(알고리즘 1)에 대한 의사 코드와 구현 세부 정보를 부록 C.1에 제시한다.

    부록 C.1

    알고리즘 1에서는 가속기 디자인을 위한 전체적인 시스템을 요약한 것이다.

    PRIME은 그림 4처럼 딥 뉴럴 네트워크를 f(x) 함수로 모수화하고, discreted-valued accelerator configurationf를 f(x)의 아키텍처에서 self attention transformer에 의한 640차원에 에 임베디드 시킨다.

    간단한 네트워크로 하나의 아웃풋으로 640차원을 만들기보다는(학습 불안정성), M 다른 스칼라 예측에 매핑하는 M 다른 네트워크로 640차원 임베딩을 통과시킨다.

    마지막으로, attention [60] 및 mixture of export [53]과 유사하게, 최종 예측과 동일한 가중치(wi) M 헤드를 예측하기 위해 추가 헤드를 훈련시킨다.

    이러한 아키텍처를 통해 모델은 입력에 따라 다른 예측 fix(x)를 사용할 수 있으므로 더 안정적인 훈련을 할 수 있다.

    f(x)를 훈련시키기 위해서, Adam을 사용하고, 근사적으로 학습된 함수를 최대화하는 Opt 절차를 이용했다.

    우리는 negative samples를 획득하기 위해서 Section 4와 같이 optimizing the learned surrogate 기술을 이용했다.

    주기적으로 20K 스탭마다 Opt를 초기화했다.

     

    f(x) 아키텍처

    • Figure 4에서 명시하듯이, 아키텍처는 다른 가속기 파라미터들의 원핫 값의 리스트를 받는다.
    • 그리고 각 파마미터를 64차원으로 임베딩을 시켜준다. 그러므로 10x64를 얻게 된다.
    • 그리고 self attention을 거친다.
    • 그 다음에 평탄화를 해주면 640차원을 얻게 되고, 다른 예측값 네트워크 M개 정도를 구성한다.
      • 각각의 2개의 레이어이고 256,256을 가진다.
    • w가 1이 되게 하는 가중치 벡터들을 이용해서 하나의 값으로 만든다.

    Optimizer/Learning rate for training

    • Adam, 1e−4, default β1 = 0.9, β2 = 0.999.

    Validation set split

    • 훈련 데이터 세트의 상위 20% 고득점 점수는 평가할 계수 α, β 및 체크포인트를 결정하기 위한 검증 세트를 제공하는 데 사용된다.

    Ranges of α, β.

    • f(x)를 α ∈ [0.0, 0.01, 0.1, 0.5, 1.0, 5.0] / β ∈ [0.0, 0.01, 5.0, 0.1, 1.0]. 를 사용함.
    • VALIDATION SET에서 KENDALL'S RANKING CORRELATION을 사용하여 최고의 alpha와 beta를 선택함
    • Kendal ranking correlation 2개의 목적값사이의 값은 validation set과 예측 set과 비교해서 결과를 준다.

    Clipping fθ(x) during training

    • EQ3)은 학습된 함수의 값은 증가한다.
    • 작안 데이터셋에서 선형 목적 함수는 수치적으로 불안하다는 것을 확인했다.
    • 이러한 점을 피하기 위해서 예측 함수에 CLIP을 씌었다(+-10000)

    Negative sampling with Opt(·) (이해 x )

    • Section 4에서 설명한 것 같이, negative sampling step과 학습된 conservative surrogate의 마지막 최적화를 위하여 firefly optimizer를 이용했다.
    • negative sampling 중간에 사용할 때 다시 파라미터를 초기화했다 (20000)
      • conservative surrogate에서 gradient step당 5번의 firefly optimization을 실행했다.

    Details of firefly

    • fireflies의 초기 모집단은 가속기 수에 의존한다. 10개의 가속기라서 계산을 막 하면 23개의 모집단이 생성된다고 한다.
    • same hyperparameters: γ = 1.0, β0 = 1.0를 두고 실험을 했다고 한다.

    D OVERVIEW OF ACCELERATORS AND SEARCH SPACE

    그림 8: 공동 데이터 세트와 실행 불가능한 데이터 포인트의 tSNE 그림.

    파란색 점은 모든 애플리케이션에 대해 공동으로 사용할 수 있는 가속기 구성을 나타냅니다.

    빨간색 별이 강조 표시된 점은 PRIME이 제안한 최상의 설계를 나타낸다.

    ▲나머지 점은 실현 불가능한 점을 나타낸다.

    • 단순히 가속기 점을 tsne를 이용해서 2차원으로 투영한 그림

     

    부록 A.1

    (번역)

    COM과의 비교. 이 절에서, 우리는 COM과 PRIME의 비교 평가를 수행한다.
    방법 [58] 여러 오프라인 강화 학습 알고리즘[37]과 마찬가지로, 우리의 방법, PRIME 및
    COM은 눈에 보이지 않는 데이터 포인트의 가치를 과대평가하지 않도록 원하는 목적 함수의 보수적인 대체를 학습하는 핵심 아이디어를 기반으로 하며, 이는 최적화자가 학습된 모델에서는 유망해 보이지만 실제 목표에서는 유망하지 않은 가속기를 찾지 못하게 한다. 우리의 방법과 COM의 주요 차이점은 (1) PRIME은 COM의 경사 상승에 비해 마이너스 샘플링에 진화 최적화기(Opt()를 사용하는데, 이는 우리의 결과가 경험적으로 보여주듯이 이산 설계 공간에서 매우 유용할 수 있으며, PRIME은 알고리즘에 제공된 실행 불가능한 데이터 포인트에서 명시적으로 학습할 수 있다. 실행 불가능한 포인트를 대리 학습에 통합하는 메커니즘을 가지고 있지 않다. 이러한 실무상 차이의 중요성을 추가로 평가하기 위해 표 3의 세 가지 작업에 대해 COM을 실행하고 표 7에 우리의 방법, COM 및 표준 방법의 비교를 제시한다. "표준" 방법은 실행 불가능한 점을 활용하지 않고 대리모형을 나타냅니다. 평균적으로 PRIME은 COM을 1.17만큼 능가한다(M6에서 최대 1.24).

     

     

    결론


    아직 도메인적으로 이해나 평가하는 부분에서의 이해나 기술적으로 zero-shot이나 Negative Mining 이나 Negative Sampling 이나 Surrogate (fIrefly)에 대해서는 정확히 이해가 안된다

     

    surrogate 모델을 학습하는 방법은 다음과 같다.

    firefly를 통해서 점을 추정하고, 점을 추정하는 방식은 transformer랑 attention을 이용해서 점을 추정하고, 그 점을 학습할 때 negative sampling을 하는 것 같고 또 다시 학습하는 것 같다. 

     

    결국 논문에서 주장하는 것은 과추정되는 문제를 해결하기 위해서 f(x)를 설계하는 것이 주된 내용인 것 같고, 

    찾는 방식은 firefly라는 meta-heuristic/evolutionary 방식으로 찾는 것 같다.

     


    Reference

    https://arxiv.org/pdf/2110.11346.pdf

     

    https://arxiv.org/pdf/1912.13464.pdf

     

    728x90