1P by GN⁺ | ★ favorite | 댓글 1개

하드웨어 가속화된 LLMs: 종합 조사 및 비교

  • LLM은 자연어 처리 작업에서 강력한 도구로 등장하여 인간과 같은 텍스트를 이해하고 생성하는 능력으로 이 분야를 혁신하고 있음
  • 이 논문에서는 하드웨어 가속기를 사용하여 대형 언어 모델을 위한 변환기 네트워크 가속화에 대한 여러 연구 노력을 종합적으로 조사하고 있음

프레임워크 및 비교

  • 제안된 프레임워크를 소개하고 기술, 처리 플랫폼(FPGA, ASIC, In-Memory, GPU), 속도 향상, 에너지 효율성, 성능(GOPs), 에너지 효율성(GOPs/W)에 대한 질적 및 양적 비교를 수행함
  • 주요 도전 과제는 각 제안된 스킴이 다른 공정 기술로 구현되어 공정한 비교가 어렵다는 점임
  • 이 논문의 주요 기여는 동일한 기술에서 성능과 에너지 효율성의 결과를 추정하여 공정한 비교를 가능하게 하는 것임

실험 및 결과

  • 여러 FPGA 칩에 LLMs의 일부를 구현하여 동일한 공정 기술로 결과를 추정하고 성능을 공정하게 비교함

GN⁺의 정리

  • 이 논문은 대형 언어 모델(LLMs)의 하드웨어 가속화에 대한 종합적인 조사를 제공함
  • 다양한 처리 플랫폼에서의 성능과 에너지 효율성을 비교하여 공정한 비교를 가능하게 함
  • FPGA 칩을 사용하여 실험을 통해 동일한 기술에서의 결과를 추정함
  • 자연어 처리 분야에서 LLMs의 성능 향상에 관심 있는 사람들에게 유용할 수 있음
  • 유사한 기능을 가진 다른 프로젝트로는 NVIDIA의 GPU 가속기와 Google의 TPU가 있음

댓글과 토론

Hacker News 의견들
  • 이 논문은 배경 설명이 얕아서 맥락을 보태면, 1990년대 초부터 CPU 연산 성능(FLOPs) 이 메모리 대역폭보다 더 빠르게 개선된다는 관찰이 있었고, 1995년 William Wulf와 Sally Mckee는 이 차이가 대부분의 계산을 산술 연산이 아니라 데이터 접근이 막는 메모리 장벽으로 이어질 것이라고 예측함
    지난 20년 동안 서버 하드웨어의 최대 FLOPS는 2년마다 3배씩 늘었지만, DRAM과 인터커넥트 대역폭은 각각 1.6배, 1.4배 수준으로만 증가함
    그래서 LLM 학습과 추론에서는 성능 병목이 점점 메모리 대역폭으로 이동하고 있고, 특히 자기회귀 Transformer 디코더 모델에서는 지배적인 병목이 될 수 있음
    이 흐름이 Compute-in-memory(CIM), processing-in-memory(PIM) 같은 기술 수요를 만들고 있음. 데이터를 먼저 CPU 레지스터로 옮기지 않고 메모리 안의 데이터 위에서 직접 연산하는 하드웨어라서 지연시간과 전력 소모를 줄이고, 메모리 장벽을 우회할 가능성이 있음
    논문은 ASIC과 FPGA 하드웨어를 서로 다른 반도체 공정 크기에서 비교하기 위해 다항식 맞춤으로 16nm 기준까지 외삽함: “Aaron Stillmaker와 B.Baas의 ‘Scaling equations for the accurate prediction of CMOS device performance from 180 nm to 7nm’를 바탕으로, 공정한 비교를 위해 16nm 기술에서의 성능과 에너지 효율을 외삽했다”
    하지만 CIM/PIM에 대해서는 “인메모리 가속기의 성능은 공정 기술에만 기반하지 않으므로, 공정 기술이 시스템 성능에 크게 영향을 주는 FPGA와 ASIC 가속기에 대해서만 외삽을 수행했다”고 하며 외삽하지 않음. 겉보기에는 이상한 판단처럼 느껴지고, 이 결정에 대해 더 설명해 줄 사람이 있을 듯함
    추가 읽을거리: https://arxiv.org/abs/2403.14123, https://en.m.wikipedia.org/wiki/In-memory_processing, http://vcl.ece.ucdavis.edu/pubs/2017.02.VLSIintegration.Tech...
    • 이런 시도들은 대체로 시장에서 실패했고, 목록은 여기 정리해 둠: https://news.ycombinator.com/item?id=41069685
      그래도 RAM 모듈 형태로 들어가면서 가격이 저렴한 제품은 마음에 듦. 그런 것들을 1U 보드에 잔뜩 꽂고 고속 인터커넥트로 묶거나, 아예 PCI 카드에 가득 채우는 그림도 상상 가능함
    • 2018년 전까지는 맞았을 수 있지만, 그 이후로 400GbE 이더넷이 가장 빠르게 채택된 인터커넥트가 되었고 지금은 1.6Tbit 인터커넥트도 존재함
      PCI-e V4는 너무 빨리 지나가서 수명이 2년쯤밖에 안 된 것 같고, NVMeOF는 패브릭 성능과 함께 잘 확장되어 왔음. 현재 H100 DGX에는 400GB/s 인터커넥트가 있음
    • memristor와, 메모리가 CPU 옆에 같이 존재한다던 약속은 결국 어떻게 된 건지 궁금함
    • 맞음. Samsung의 Dr. Jung Bae Lee도 최근 비슷한 얘기를 했음
      “AI 모델의 급격한 성장은 연산 성능과 메모리 대역폭 사이의 격차 확대에 의해 제약받고 있다. GPT-5 같은 차세대 모델은 전례 없는 3~5조 매개변수 규모에 이를 것으로 예상되지만, 메모리 대역폭이라는 기술적 병목이 잠재력을 온전히 실현하는 데 핵심 장애물이 되고 있다”
      https://www.lycee.ai/blog/2024-09-04-samsung-memory-bottlene...
  • 예전부터 시스톨릭 배열을 좋아했고, 지난 수십 년간 여러 선택지를 훑어본 끝에 셀들의 데카르트 격자가 최적 해법이라고 봄
    각 셀은 이웃에서 하나씩 오는 입력 비트 4개와, 이웃으로 하나씩 나가는 출력 비트 4개를 가짐. 가운데에는 긴 스캔 체인의 64비트 시프트 레지스터가 있고, 그 출력은 4개의 16:1 멀티플렉서와 4비트 래치로 들어감
    그래프 색칠의 마법을 이용해 체크보드 패턴으로 모든 셀에 클럭을 주면, 데이터가 특정 방향에 치우치지 않고 경합 조건 없이 어느 방향으로든 흐를 수 있음. 어떤 셀의 입력도 안정된 상태가 됨
    이 방식은 FPGA의 유연성을 주면서도 타이밍 문제, 경합 조건, 글리치 등을 걱정하지 않아도 됨. 선도 모두 짧아서 모든 것이 지역적이고 빠르며 저전력임
    대신 게이트 효율이 좋거나 논리의 최단 경로를 제공하지는 않음. 모든 단일 연산은 사실상 병렬로 일어나고, 모든 계산은 파이프라인화됨
    1982년쯤부터 갖고 있던 아이디어이고, 누군가 이어받아 제대로 만들어 주면 좋겠음. 이름은 BitGrid라고 부름
    • Forth 발명자가 만든 GA144 칩과 비슷하게 들림
    • TPU가 떠오름
  • 관련 자료: https://arxiv.org/pdf/2406.08413
    Memory Is All You Need: An Overview of Compute-in-Memory Architectures for Accelerating Large Language Model Inference
  • 모든 것이 텍스처인 WebGL에서 LLM이 돌아가는 모습을 보고 싶음. 아키텍처 차이를 시각적으로 보면 꽤 재미있을 듯함
    • 그냥 정적 잡음을 보는 것과 비슷하지 않을까?
    • Google에 행렬의 활성화 상태를 확인할 수 있는 도구가 있지 않나? Gemma Scope였던 듯함
  • 요즘 병목은 메모리 이동이고, 그래서 HBM이 비쌈. Nvidia 설계도 칩 수준과 시스템 수준 모두에서 진짜 병목인 메모리에 맞춰 최적화되어 있음
    • 왜 모든 GPU가 HBMx로 옮겨가지 않았는지 궁금함
      실제로는 잘 안 보임
  • FPGA + ASIC + 인메모리 하이브리드 아키텍처가 확장성과 유연성에서 역할을 할 수 있을까? FPGA는 유연성, ASIC은 성능, 인메모리는 에너지 효율이라는 각자의 장점이 있으니, 이들을 통합한 하이브리드 접근으로 LLM 성능을 더 끌어올릴 수 있을지도 궁금함
    • 보통은 먼저 FPGA + 메모리로 시작하고, 시장에서 물량이 나오는 적절한 지점을 맞히면 성능과 비용 절감을 위해 FPGA를 ASIC으로 바꿈. 큰 회사들은 바로 ASIC으로 가는 편임
  • 인메모리는 성능 측면뿐 아니라 방향 자체도 맞아 보임. 운이 좋아도 몇 달 뒤면 구식이 될 가능성이 큰 모델을 위해 ASIC을 만들거나 FPGA를 프로그래밍하는 건 별로 말이 안 됨
  • 전구 하나 수준의 전력으로 LLM을 실행한다는 논문이 있었음
    https://arxiv.org/abs/2406.02528
    https://news.ucsc.edu/2024/06/matmul-free-llm.html
    • 표준 GPU에서 재현 가능한 오픈소스 코드와 함께 메모리 90% 감소를 주장함: https://github.com/ridgerchu/matmulfreellm
      핵심은 행렬 곱셈을 피하기 위해 두 가지 기법을 쓰는 것임. 첫째, 행렬 안의 모든 숫자를 -1, 0, +1 세 값만 갖는 삼진값으로 강제해 곱셈을 덧셈으로 줄임. 둘째, 모든 원소를 일일이 곱하지 않고 행렬을 겹친 뒤 중요한 연산만 수행함
      연구진은 모델 학습에 시간 기반 계산을 도입해 신경망 성능을 유지했고, 이로써 네트워크가 처리하는 중요한 정보에 대한 “기억”을 갖게 되어 성능이 향상된다고 함
      표준 GPU에서는 메모리 사용량이 약 10분의 1로 줄고 속도는 약 25% 빨라졌으며, 스마트폰처럼 메모리가 작은 기기에서도 알고리즘을 최대 용량으로 실행할 길을 제공할 수 있음. 3주 동안 만든 FPGA 프로토타입은 13W 전력만으로 사람이 읽을 수 있는 처리량을 넘겼고, GPU라면 약 700W가 필요하므로 맞춤 하드웨어가 GPU보다 50배 이상 효율적이었다고 함
  • 여기서 말하는 인메모리가 CPU와 RAM을 결합한 특수 하드웨어를 뜻하는지 잘 모르겠음
    • DRAM 다이에 MAC 하드웨어를 넣는 방식일 것으로 예상함. 적층 HBM이라면 아마 기판 다이에 들어갈 수도 있음
      DRAM + GPU 대비 19배 개선을 보인 예전 가속 논문을 인용하면, “MAC 연산이 대부분의 머신러닝 작업 실행 시간에서 지배적인 부분을 차지하므로, 서브어레이 내부 곱셈과 뱅크 내부 누산을 제안한다. 곱셈은 열 기반 방식으로 AND 연산과 덧셈을 수행해 처리하며, 면적 오버헤드는 1% 미만만 추가된다”
      https://arxiv.org/pdf/2105.03736
    • 인메모리는 일반적으로 저장장치에서 데이터를 다시 불러오지 않는다는 뜻임
  • Arxiv 콘텐츠를 좀 읽기 좋게 보는 방법이 있나?
    그 사이트에 들어갈 때마다 인터페이스가 있기는 한 건지 헷갈리고 길을 잃어서, 보통 내용까지 못 가고 나가게 됨
    • 오른쪽 위의 View PDFHTML (experimental) 을 누르면 본문으로 갈 수 있음
    • 논문 사전 공개 사이트라서 기본적으로 모든 것이 PDF 형식임. 최근 HTML도 추가됐음: https://arxiv.org/html/2409.03384v1
      개별 논문 기준으로는 이게 가장 나은 방법이고, https://arxiv-sanity-lite.com/ 같은 Arxiv 프런트엔드도 몇 개 있음
    • 나도 오늘 이 링크를 열었다가 “아, 초록만 있네, 나간다”라고 생각했음. Arxiv 논문을 읽어 본 적은 있지만, UI만 보면 콘텐츠가 제공되는 것처럼 보이지 않음