Hacker News 의견
  • 알고리즘은 실시간으로 파라미터를 가지치기하고, 그룹 내에서 절대값 순위가 낮은 가중치를 0으로 설정해 가중치 행렬을 희소하게 만드는 것임
  • 모델 가지치기에 대한 검색 결과, 기준선으로 "크기 기반 가지치기"를 논의하는 논문들이 많이 나옴
    • 하지만 이 논문들은 자신들의 방법을 과장하기 위해 기준선을 형편없이 구현하고, 수학 용어를 많이 사용해 자신들의 방법을 설명함
    • 반면 원본 블로그 포스트는 배경지식이 거의 없는 사람들도 이해하기 쉽게 방법을 설명함
  • GPU 구현 섹션의 한 줄이 인상적임
    • "GPU 프로그래밍 초보자는 '어떻게 작동하지?'라고 물을 것이고, 경험 많은 사람은 '도대체 어떻게 작동하는 거지?'라고 물을 것임"
  • 행렬을 뒤집고, 행 단위로 요소를 정렬한 다음, 그 방향에서 곱셈을 다시 살펴보는 것을 "압축 희소 행(CSR)" 형식이라고 부름
    • 곱셈을 수행하려면 벡터에서 1을 가져와 256을 곱한 다음, 출력 벡터의 세 번째 행에 더하는 식으로 진행함
    • 가장 작은 값을 가진 마지막 열을 잘라내면 어떻게 되는지 확인해 보자는 제안
  • 아이디어 이름 제안: "lobotomize"
  • 이는 준구조적(2:4) 희소성과 유사해 보이므로, 명시적으로 비교해 볼 가치가 있음
    • 이 기술은 Apple Silicon에 최적화되어 있고, 75% 희소성에서 ~2배 빠르며, 동적이고 입력에 따라 달라지며, 실행 시점에 적용되고, 희소성 정도를 선택할 수 있음
    • 반면 2:4 준구조적 희소성은 희소 텐서 코어가 있는 GPU에 최적화되어 있고, 50% 희소성에서 ~2배 빠르며, 정적이고 모델이 유휴 상태일 때 적용되며, 50% 희소성에서 이 기술보다 결과가 나쁠 것으로 보임
    • 50% 희소성에서의 준구조적 희소성 결과(2배 속도 향상)와 75% 희소성에서의 이 기술 결과(2배 속도 향상)를 비교해 보는 것이 흥미로울 것임
  • CSR을 사용해 본 경험으로는 놀랍지 않으며, block ELL과 같은 일부 새로운 형식이 코드는 더 까다롭지만 비정렬 읽기/모음을 피하므로 더 기계적 공감을 가질 수 있음
  • 15ms 지연이 60Hz vsync(16.7ms)와 유사해 보이는데, 토큰당 한 번 화면을 업데이트하면 어떤 식으로든 동기화가 발생할 수 있음
  • 이런 멋지고 개방적인 기여에 감사드림. llama.cpp에서 이를 구현하는 것을 예의주시할 것임. CPU 추론 속도를 높이는 방법을 찾고 있었는데 이 "노력" 아이디어가 마음에 듦
  • 멋진 글! 양자화와 비교했을 때 VRAM당 성능이 매우 궁금함. 크로스 플랫폼 버전을 구현할 계획이 있는지?
  • 이는 https://arxiv.org/abs/2312.12456https://github.com/SJTU-IPADS/PowerInfer와 관련이 있어 보임