최근 트렌드 중 하나는 초거대 모델, 즉 파라미터의 수를 엄청나게 늘리고 기존 학습법을 적용하는 것입니다. 인간의 뇌가 보여주는 “소프트웨어적 능력”은 둘째 치고, 얼마나 늘려야 인간의 뇌의 “하드웨어적” 능력에 도달할 것인가?에 대해서 궁금해져서 생각을 해 보았습니다. (같은 하드웨어 능력에 도달한다면, 이제는 인간 vs. AI의 알고리즘 효율성에 대한 공정한 비교가 될테니까요)
인간의 뇌를 구성하는 메인 유닛이라고 볼 수 있는 뉴런의 수는 약 100B라고 합니다.
반도체 트랜지스터의 수는 약 2년에 2배씩 증가하고 있는데 (무어의 법칙) 예를 들어 아이패드 프로에 쓰이는 Apple A12X Bionic의 트랜지스터 수는 10B, 서버 CPU인 AMD Epyc Rome는 40B입니다. RTX 20 시리즈는 20B, 그리고 향후 출시될 30 시리즈는 50B에 달할 것으로 보입니다. 그렇다면, 향후 4년 이내에 트랜지스터의 수가 뉴런의 수를 능가하게 됩니다. (트랜지스터와 뉴런의 역할이 동일하다는 뜻은 아닙니다)
숫자의 단순 비교만으로 보면, 적어도 단위 유닛 기준으로는 인간의 뇌를 따라잡고 있다고 볼 수 있습니다. 물론 뉴런이 트랜지스터보다는 훨씬 더 복잡한 기능을 수행한다고 볼 수 있지만, 뉴런의 경우 1KHz로 동작하는데 비해 프로세서 클럭스피드는 3GHz 이상으로 동작하므로 약 3백만배 이상의 차이가 존재합니다. 즉, 3백만개의 트랜지스터로 뉴런의 동작을 모사할 수 있다면, 양쪽 단위 유닛간 역량은 큰 차이가 없는 셈이 됩니다. (참고로 Intel Pentium의 트랜지스터 수는 약 3백만개)
딥러닝 모델의 파라미터 수를 잠깐 보면, GPT-2는 1.5B, GPT-3는 175B입니다. 파라미터 수가 신경망의 기본 유닛 수와 대략 매치된다는 것을 생각해 보면, GPT-3의 기본 유닛 수는 이미 뉴런의 수를 넘어섰다고도 볼 수 있겠습니다.
현재 인류가 도달한 “단위 유닛수” 혹은 “모델 파라미터수”는 이미 인간 뇌 수준에 근접하고 있는게 아닐까 (혹은 아주 큰 차이는 아니지 않을까) 생각해 보며, 이러한 구조에서 스케일업만으로 접근하기 보다는 단위 유닛수와 모델 파라미터수가 동일하더라도 더 효율적으로 동작하는 방향으로 혁신이 이루어져야 하지 않을까 판단합니다.
예를 들어 뉴런의 갯수는 100B이지만, 뉴런간 연결의 수는 그 천배인 100T이고, 모두가 병렬 동작 가능합니다. 현재의 프로세서 아키텍처는 상당 부분 직렬 동작하는 부분이 많습니다. (하드웨어적으로나 소프트웨어적으로나) 또한, 다층 구조 신경망 모델도 결국 레이어들이 직렬로 이어진 모델이라고 볼 수 있습니다. 단위 뉴런의 동작에 대해서는 현재의 신경망 모델이 어느 정도 반영을 한다고 보지만, 전체 뉴런간 상호 연결 및 병렬 동작에 대한 특성을 신경망 모델에 넣을 수 있으면 어떨까 생각해 봅니다.
링크는 꼭 위의 내용과 일치하지는 않지만, 관련된 주제로서 재미있게 읽었던 글입니다.