태그 : 과학

  • 자연으로부터 다시 배우기: 뉴로모픽 컴퓨팅과 딥 러닝

    By 신정규

    이 글은 2022년 5월 ESC 과학기술뉴스 에 기고된 글입니다.

    인공 신경망 분야가 본격적으로 주목 받기시작한 지 곧 10년이 됩니다. 그 길지 않은 시간 동안 인공 신경망 분야는 딥 러닝의 발전과 함께 엄청난 속도로 무수한 문제들을 해결하고 있습니다. 인공 지능 구현에 있어 가장 가능성이 높은 방법으로 꼽히고 있기도 합니다.

    그 첨단에서는 하이퍼스케일 딥 러닝 모델과 그 구현 방법에 대한 다양한 뉴스들이 주목 받고 있습니다. 2022년 4월 엔비디아의 새로운 GPU인 H100의 소식이 뉴스라인을 뒤덮었고, AMD의 고성능 컴퓨팅 특화 GPU인 MI 시리즈와 함께 인텔의 새로운 GPU인 폰테 베키오가 AI와 블록체인 채굴 가속 성능을 엄청나게 올려 하이퍼스케일 AI의 새 격전지를 만들 것으로 예상되고 있습니다.

    하이퍼스케일 인공지능의 붐에 묻힌 소식들 가운데 대중적으로 크게 관심을 끌지 못했던 뉴스가 있습니다. 바로 작년 10월 인텔이 발표한 로이히(Loihi) 2 칩 소식이었습니다[1]. 이 소식은 굉장히 흥미로운 역사와 기술적 배경을 안고 있습니다. AI 훈련 및 서비스 가속 칩들이 늘어나는 와중에 일어나고 있는 재미있는 기술 뉴스 뒤에 숨어 있는 과학에 대해 소개해 보고자 합니다.

    딥 러닝으로 지성을 코딩할 수 있을까?

    GPU 기반의 행렬 연산 가속으로 날개를 달기 시작한 2013년 이후, 딥 러닝 분야는 연산 규모에 힘입은 다양한 가능성을 탐구하기 시작했습니다. 2016년의 알파고 쇼크를 기점으로 딥 러닝은 연구 분야를 넘어서 그 범위를 응용 분야로 조금씩 확장하기 시작했습니다. 2017년에 제안되고 2018년부터 그 사용이 본격화된 트랜스포머 모델 구조[2]는 어텐션 및 셀프 어텐션이라는 개념을 도입해 딥 러닝 모델이 스스로의 기억 구조를 만드는 과정을 크게 개선했습니다. 트랜스포머 모델 구조는 이후 엄청나게 다양한 분야의 딥 러닝 모델에 사용되고 있으며, 특히 데이터가 풍부한 자연어 처리 및 이미지 처리 분야에서 두각을 나타내고 있습니다. 트랜스포머는 기존의 딥 러닝 모델이 효과적으로 동작하지 않는 것처럼 보이던 다양한 문제들을 딥 러닝 모델로 해결할 수 있게 해 주었습니다.

    만능처럼 보이는 이 모델은 2018년부터 딥 러닝 모델의 거대화 추세를 이끌기 시작했습니다. 딥 러닝 모델의 크기는 모델의 매개 변수의 수로 결정되는데, 딥 러닝의 매개 변수는 모델을 구성하는 퍼셉트론 사이의 연결 정보이며, 실제 뉴런의 시냅스 연결에 해당합니다. 연결이 많을수록 딥 러닝 모델은 더 복잡한 입력을 구분하고 판단할 수 있게 됩니다. 딥 러닝 모델이 복잡해지고 거대해질수록, 매개 변수는 기하급수적으로 늘어납니다. 2019년 이전까지의 딥 러닝 모델 매개 변수의 수는 해마다 대략 3 ~ 5배씩 증가해 왔지만, 2019년 이후에는 해마다 열 배 이상씩 증가하고 있습니다. 최근 약 2 ~ 3년 동안 등장한 거대 딥 러닝 모델들을 ‘하이퍼스케일 AI’라고 부르기도 합니다. 자연어 처리 분야에서 대중에게 잘 알려진 하이퍼스케일 딥 러닝 모델로는 OpenAI의 GPT-3, Google의 LaMDA 등이 있습니다. 이러한 거대 모델의 경우, 예를 들면 GPT-3의 경우에는 모델 훈련을 위한 시스템 비용(장비 구입 없이 클라우드상에서 훈련 한 번 시키는 비용)으로 최소 약 50억 원 이상이 들어가는 것으로 추산됩니다[3].

    하이퍼스케일 모델들은 기존에 풀기 어렵거나 풀지 못했던 문제들을 풀어내고 있습니다. 중력 렌즈를 새로 발견하거나[4] 렌즈로 인해 생긴 왜곡을 펴서[5] 우주의 신비를 풀기도 하죠. 기존의 방법보다 훨씬 더 짧은 시간과 적은 비용으로 단백질의 접힘 구조를 예측하기도 하고[6], 신약을 찾아냅니다[7]. 오랜 시간에 걸쳐 흐름을 파악해야 하는 스타크래프트 2 전략 시뮬레이션 같은 문제[8]를 풀기도 합니다.

    이렇게 여러 가지 문제를 해결해 주다 보니 당연히 따라오는 궁금증들이 있습니다. 과연 막대한 양의 자원을 부어 넣어 딥 러닝 모델을 만드는 이러한 접근은 지속 가능할까요? 그리고 이러한 방법으로 '지성'을 코딩할 수 있을까요?

    이 두 질문에 답하기 위해 딥 뉴럴 네트워크부터 오늘의 주제인 뉴로모픽 컴퓨팅까지 빠르게 한 번 이해해 보겠습니다.

    딥 뉴럴 네트워크: 태생과 차이점

    사실 딥 러닝은 줄임말입니다. 원래는 딥 뉴럴 네트워크(Deep Neural Network, DNN), 더 풀어서 쓰면 Artificial Neural Network with deep layers (심층 인공 신경망)입니다. 인공 신경망 이론은 신경 세포의 전기적 특성을 수학적으로 모사하는 과정에 뿌리를 두고 있습니다. 신경 세포의 전기적 특성과 함께 신경 세포 사이의 연결 구조가 정보 처리 과정에서 강화 또는 약화되는 가소성[e1]을 수학적으로 모사하고, 이를 단순화하면서 시작되었죠. 인공 신경망 모델은 신경 세포들의 연결에 따른 활성 과정을 엄청나게 단순화한 퍼셉트론[9]과, 신경 세포의 발화 과정을 모사하는 함수에서 시간 의존성을 제외하고 신경 세포로의 신호 입력에 대한 함수로 단순화한 활성 함수, 마지막으로 신경 세포 사이의 연결이 얼마나 강한지를 나타내는 가중치를 매개변수로 나타내는 수학적 모델입니다.

    인공 신경망 이론은 실제 신경망의 특징에 뿌리를 두고 있긴 하지만 실제 신경망과는 근본적인 차이가 있습니다. 바로 시간에 따른 동작을 결정하는 동역학의 유무입니다. 실제 신경망은 신경 세포들 간의 동역학에 의해 다양한 결과들이 결정됩니다. 신경 세포는 외부로부터 자극을 받았을 때의 각각의 동역학적 특성이 있고, 그에 따라 물리적으로 강화 또는 약화되는 방식의 가소성이 있습니다. 가령 어떤 판단을 내릴때 계속 같이 사용되고 연결된 신경세포들은, 입력 신호를 받았을 때 비슷한 시점에 활성화됩니다. ‘시간적으로’ 비슷한 시점에 활성화된 신경 세포들 사이의 연결에 해당하는 축삭이 물리적으로 두꺼워지는 것을 발견할 수 있습니다. 반면 일반적인 인공 신경망은 동역학 대신 역전파 이론을 이용하여 가소성을 모사합니다. 역전파 이론은 어떤 판단을 바르게 내릴 때 사용된 퍼셉트론 사이의 연결의 가중치를 강화하는 계산을 간단하게 할 수 있는 방법입니다. 인공 신경망에서 입력되는 정보를 처리는 과정은 퍼셉트론 사이의 가중치를 이용하므로 즉각적입니다. 입력 정보가 출력 정보로 이어지는 과정이 시간에 따른 함수로 계산되지 않으므로, 동역학 요소가 없습니다.

    동역학 외에도 다양한 차이가 있습니다. 이런 차이는 대개 생물학적 신경망에서는 불가능한 가정들을 도입해서 생긴 것으로, 1990년대 인공 신경망 이론의 한계를 극복하기 위한 노력의 결과입니다. 활성 함수에 ReLU[e2]를 사용한 것이 하나의 예입니다. 일반적인 신경 세포는 역치와 가중치 한계가 존재합니다. 무한대의 활성값은 물리적으로 불가능하기 때문입니다. 그래서 수학 모델도 활성함수로 역치와 가중치 한계를 잘 보여주는 함수를 사용했습니다. 허나 심층 인공 신경망이 깊어지면서 연구자들은 인공 신경망 훈련이 더 이상 진행되지 않는 것을 발견하였습니다.[e3]ReLU 활성함수는 물리적으로는 불가능하지만 수학적으로 무한대의 가중치를 가질 수 있습니다[e4]. ReLU를 심층 인공 신경망에 도입하면서 새로운 훈련이 가능해졌고 생물학적 신경망과의 차이는 커졌습니다.

    동역학을 고려할 필요가 없는 인공 신경망은 행렬 연산의 연속으로 변환이 가능하기에 엄청난 속도로 계산이 가능합니다. 하지만 생물에서 볼 수 있는 신경망과는 큰 차이가 생겼습니다. 그러면 딥 러닝 모델과 실제 우리의 뇌 속에서 일어나는 신경학 과정은 이제 완전히 다른 토대 위에 서 있는 걸까요?

    자연으로부터 다시 배우기: 뉴럴 네트워크의 동역학

    단일 신경세포는 다양한 방법으로 신호를 주고 받습니다. 일부는 전기적 신호이고 일부는 화학적 신호입니다. 단일 신경 세포 안에서의 전기적 신호 특성은 굉장히 일찍 해석되고 수식화 되었으며[10], 퍼셉트론의 이론적 기반이 되었습니다. 문제는 단순화 없이 동역학을 계산하기엔 그 수식이 너무 복잡하다는 점이었습니다. 이후 시간에 따른 전기적 반응을 계산적 부담을 줄일 수 있게 어림한 다양한 수학 모델이 제안되었고, 이러한 모델을 사용하여 다양한 단일 신경 세포 시뮬레이터들이 공개되고 있습니다. 대표적인 시뮬레이터로는 NEURON[11]이 있습니다.

    앞서 동역학의 모사에는 엄청난 계산량이 필요하다고 했습니다. 어느 순간 우리는 연산 성능이 넘쳐나는 시대를 맞이하고 있습니다. 넘쳐나는 연산 성능을 바탕으로 이러한 단일 신경세포 시뮬레이션들을 이어붙이면 어떻게 될까요?

    엄청난 계산량으로 인한 연산 속도 문제를 해결하고 동역학 기반의 인공 신경망을 만들기 위한 방법으로 알고리즘과 하드웨어, 두 가지 측면에서의 시도가 있습니다. 알고리즘 측면의 접근은 스파이킹 뉴럴 네트워크(spiking neural network, SNN)으로, 실제 신경세포에서 발생하는 스파이크 기반의 가소성을 도입하여 동역학 모델 기반의 인공 신경망을 만들어 보려는 것입니다. 하드웨어 측면의 접근은 2012년부터 본격화된 뉴로모픽 컴퓨팅입니다. 신경 세포에 해당하는 물리적 객체를 만드는 방법으로 인공 신경망을 구현하는 것입니다. 동역학 모사에 들어가는 엄청난 계산량을 범용 연산으로 해결하기에는 아직도 컴퓨터가 느립니다. 이걸 해결하기 위해 아예 회로 수준에서 신경 세포에 해당하는 수학적 특성을 갖는 객체를 만들거나 하드코드로 연산을 만들어 넣은 전용 소자를 만들면 어떨까 하는 방법이죠. 최근에는 뉴로모픽 컴퓨팅과 SNN을 구분하지 않고, SNN을 소자 수준에서 구현하는 방식을 뉴로모픽 컴퓨팅으로 부르는 등의 통합이 이루어지고 있기도 합니다. 두 가지 접근 모두 기존의 인공 신경망 이론이 사용하지 않았던 동역학 특성을 모사하여 새로운 현상이나 딥 러닝의 가능성을 찾으려는 시도입니다.

    뉴로모픽 컴퓨팅 분야에서 두각을 나타내고 있는 회사 중 한 곳이 인텔입니다. 인텔은 2017년 가을 약 13만 개의 뉴런과 1억 3천만 개의 시냅스를 내장한 연구용 뉴로모픽 칩인 로이히Loihi[e5] 칩을 공개했습니다. 로이히 칩을 사용하여 기존의 DNN 기반 알고리즘을 이식한 후 다양한 비교 테스트를 수행했고[12], 재미있게도 SNN을 사용해서도 DNN과 비슷한 결과를 얻을 수 있다는 걸 보였습니다.

    인텔은 이후 여러 개의 로이히 칩을 연결하여 거대한 SNN 시스템을 만들었고, 나우쿠(Nahuku)는 41억 개의 시냅스를, 포호이키 스프링(Pohoiki Springs) 뉴로모픽 슈퍼컴퓨터[13]는 768개의 로이히 칩을 바탕으로 약 1억 1백만 개의 뉴런과 1천억 개의 시냅스를 구현했습니다. 이 과정에서 인텔은 SNN를 로이히 위에서 구현하는 소프트웨어 스택을 만들어냈으며, 그 결과 작년 가을에 로이히 2와 함께 뉴로모픽 어플리케이션을 개발할 때 사용할 수 있도록 라바(Lava) 오픈소스 소프트웨어 프레임워크를 공개했습니다[14].

    DNN과 SNN이 비슷한 결과를 보여주리라는 것은 예상되어 있었습니다. 물리학적으로 보면 인공 신경망이 다양한 문제를 추론하는 과정은 결국 정보 기반으로 초 고차원의 불연속 상태 공간을 정의한 후, 새로운 정보를 그 공간에 투사하는 것입니다. DNN과 SNN 모두 초고차원의 불연속 상태 공간을 정의할 수 있는 특성이 있죠. 생물은 진화를 통해 정보에 적응하는 특성을 물리적으로 만들어냈고, 인류는 생체모방공학(Biomemetics)을 통해 인공 신경망 이론을 창안해 내고 딥 러닝을 발전시켰습니다.

    늘 그랬듯이 언제나 답을 찾는

    지금까지 우리는 신경세포를 동역학 수준에서 모사한 네트워크로도 실제 우리가 딥 러닝에 기대했던 것과 비슷한 결과를 얻을 수 있다는 것을 알게 되었습니다. 그러면 이에 따라 나오는 의문이 있습니다. 결과가 비슷하다면 굳이 SNN과 뉴로모픽 컴퓨팅을 쓸 필요가 있을까요? 오늘 소개한 것들은 다양한 시도들의 극히 일부입니다. SNN과 뉴로모픽 컴퓨팅이 기존의 접근과 어떤 다른 결과를 만들어내는지는 계속 연구되고 있습니다. SNN이 더 나은 성능을 보이는 결과 또한 로보틱스 및 센서를 중심으로 등장하고 있으며, 동역학적 특성을 반영하는 것이 인과관계 유추에 더욱 강력할 것이라는 연구 결과도 나오고 있습니다. 더 깊게 들어가서 시냅스에서 일어나는 화학적 신호를 시뮬레이션하는 시도[15]도 있습니다. 신경망의 연결 구조에 더하여, 신경망을 구성하는 개별 요소에 우리가 아직 모르는 지능의 창발을 불러오는 요소가 있을지도 모르기 때문입니다. 그런데 이 정도로는 굳이 왜 SNN을 사용하는가에 대한 답변으로 부족할 것입니다.

    글 서두에서 드렸던 두 가지 질문을 다시 해 보겠습니다. 막대한 양의 자원을 부어넣어 딥 러닝 모델을 만드는 이러한 접근이 지속 가능할까요? 그리고 이러한 방법으로 '지성'을 코딩할 수 있을까요? 뉴로모픽 컴퓨팅이 답이 될 수 있을까요? 그럴 수도 있고, 아닐 수도 있습니다.

    DNN과 SNN이 제각기 높은 성능과 결과를 보이는 이유는 결국 두 구현체 모두 우리가 지금은 모르는 정보 최적화 이론이 그 바탕에 있기 때문일 것입니다. 그걸 알게 된다면, 우리는 AI를 다른 방식으로 구현할 수도 있을 것입니다. 처음에 드린 의문인 "막대한 양의 자원을 부어넣어 딥 러닝 모델을 만드는 이러한 접근이 지속 가능할지"에 대한 답을 얻는 하나의 길이 될 수도 있겠습니다. 뉴로모픽 컴퓨팅과 SNN은 새로운 관점에서 우리가 이 문제를 뜯어볼 수 있게 해 줍니다.

    그리고 두 번째 질문에 대한 답이 될 수도 있을 것입니다. 우리는 언제나 가슴속에 질문 하나를 안고 삽니다. '우리는 누구인가?' 뉴로모픽 컴퓨팅과 SNN의 접근은 우리가 이 근본적인 철학적 질문에 물리적으로 접근할 때 가장 이해가 쉬운 방법입니다. 우리가 이미 알고 있는 (그렇지만 그 얼개는 아직 모르는) 시스템으로 설명하기 때문입니다.

    뉴로모픽 컴퓨팅 외에도 다양한 분야에서 위의 두 질문에 대한 대답에 도전하고 있습니다. 그중 한 가지는 양자 컴퓨팅인데요, 다음에 양자 컴퓨팅와 딥 러닝에 대한 기사를 같이 읽어 볼 기회를 만들어 보겠습니다.

    참고 문헌

    • [1] https://www.anandtech.com/show/16960/intel-loihi-2-intel-4nm-4
    • [2] https://arxiv.org/abs/1706.03762
    • [3] https://lambdalabs.com/blog/demystifying-gpt-3
    • [4] https://iopscience.iop.org/article/10.3847/1538-4357/abd62b
    • [5] https://academic.oup.com/mnras/article-abstract/504/2/1825/6219095
    • [6] https://www.nature.com/articles/s41586-021-03819-2
    • [7] https://www.frontiersin.org/articles/10.3389/frai.2020.00065/full
    • [8] https://www.deepmind.com/blog/alphastar-mastering-the-real-time-strategy-game-starcraft-ii
    • [9] https://doi.apa.org/doi/10.1037/h0042519
    • [10] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1392413
    • [11] https://neuron.yale.edu/neuron
    • [12] https://ieeexplore.ieee.org/document/8259423
    • [13] https://arxiv.org/abs/2004.12691
    • [14] https://www.intel.com/content/www/us/en/newsroom/news/intel-unveils-neuromorphic-loihi-2-lava-software.html
    • [15] https://www.ibm.com/blogs/research/2016/12/the-brains-architecture-efficiency-on-a-chip

    미주

    • [e1] 가소성Plasticity은 외부의 환경 변화나 자극에 의하여 스스로가 적응하여 특성을 변경하는 능력입니다.
    • [e2] Recified Linear Unit의 약자입니다. 0보다 크면 y=x 함수 모양이 되는 활성함수로, x값에 따라 y가 계속 커질 수 있습니다.
    • [e3] Vanishing Gradient라는 문제입니다.
    • [e4] 신경세포는 점점 더 큰 입력을 받아도 세포의 물리적 한계 이상의 출력을 내 보낼 수가 없습니다. 전선에 전류를 무한정 흘릴 수 없는것과 마찬가지입니다. ReLU는 입력을 주는대로 출력이 그에 따라 선형적으로 무한정 증가하는 함수입니다.
    • [e5] 인텔은 뉴로모픽 칩 및 시스템에 하와이의 다양한 지명을 코드네임으로 붙이고 있습니다.

    27 June 2024

도움이 필요하신가요?

내용을 작성해 주시면 곧 연락 드리겠습니다.

문의하기

Headquarter & HPC Lab

서울특별시 강남구 선릉로100길 34 남영빌딩 4층, 5층

© Lablup Inc. All rights reserved.