# \#acceleration

**URL:** https://discuss.pytorch.kr/tag/acceleration/2954.md

[최신](https://discuss.pytorch.kr/latest.md) · [카테고리](https://discuss.pytorch.kr/categories.md) · [태그](https://discuss.pytorch.kr/tags.md)

---

## [PiToMe: 사용하지 않는 토큰을 병합하여 Transformer 모델의 효율성을 높이는 기법에 대한 연구](https://discuss.pytorch.kr/t/pitome-transformer/5426)

<div class="topic-metadata">

**Author:** [@9bow](https://discuss.pytorch.kr/u/9bow)\
**댓글:** 0\
**마지막 업데이트:** [11월 5, 2024, 10:02오전 UTC](https://discuss.pytorch.kr/t/pitome-transformer/5426 "2024-11-05T10:02:21Z")

</div>

PiToMe 소개 PiToMe(Preserving Informative Tokens in Transformers with Merging, 유익한 토큰을 보존하는 토큰 병합)은 트랜스포머(Transformer) 모델에서 사용되지 않는 토큰을 병합하여 모델의 효율성을 높이는 기법입니다. PiToMe 기법은 NeurIPS 2024에 발표된 논문 "Accelerating Transformers with Spectrum-Preserving Token Merging"에 소개되었습니다. PiToMe는 기존 비전 트랜스포머(ViT) 모델의 계산 복잡도를 줄이면서도 핵심 정보를 보존하여 성능 저하를 최소화하는 것을 목표로 합니다. PiToMe의 주요 기여는 다음과 같습니다: 스펙트럼 보존 병합: 기존 정보 보존 및 유사 토큰 병합을 최적화하여 성능을 유지하면서 계산량을 크게 줄입니다. 계산 효율성 개선: PiToMe는 모델의 FLOPs(초당 부동소수점 연산) 사용량을 최대 40-60% 절감하며, 이미지 및 텍스트 검색과 같은 다양한 작업에서 성능 저하를 최소화합니다. 높은 성능 유지: PiToMe는 이미지 분류와 이미지-텍스트 검색 작업에서 기존 방법보다 작은 성능 저하를 보이며, 이는 실험 결과에서도 입증되었습니다. PiToMe 방법론 소개 PiToMe는 유사한 토큰을 병합하는 동시에 중요한 정보를 포함하는 토큰을 유지하여 모델의 계산 비용을 줄입니다. 스펙트럼 보존 토큰 병합 PiToMe는 에너지 점수(Token Energy Score)를 통해 토큰의 유사성을 계산합니다. 에너지 점수가 높은 토큰(유사한 정보가 포함된 클러스터)은 병합 대상이 되며, 에너지 점수가 낮은 토큰(고유한 정보가 포함된 토큰)은 병합에서 제외됩니다. 이를 통해, 토큰의 스펙트럼(주파수)을 유지하고 모델의 성능 저하를 방지합니다. 에너지 점수와 토큰 병합 전략 에너지 점수는 클러스터에서 유사한 토큰이 많은 경우 높아집니다. PiToMe는 이러한 고에너지 토큰 클러스터를 우선적으로 병…

---

## [HyperCloning, 대규모 언어 모델을 더 빠르게 학습하기 위한 모델 가중치 초기화 방법에 대한 연구 (feat. Apple)](https://discuss.pytorch.kr/t/hypercloning-feat-apple/5380)

<div class="topic-metadata">

**Author:** [@9bow](https://discuss.pytorch.kr/u/9bow)\
**댓글:** 0\
**마지막 업데이트:** [10월 24, 2024, 12:17오후 UTC](https://discuss.pytorch.kr/t/hypercloning-feat-apple/5380 "2024-10-24T12:17:43Z")

</div>

HyperCloning 연구 소개 대규모 언어 모델(Large Language Model, LLM)의 파라미터 수는 수십억 개에 달하며, 이를 훈련하는 데 필요한 자원은 막대합니다. 예를 들어, 120억 개의 파라미터를 가진 모델을 훈련하는 데 약 72,000 GPU 시간이 필요합니다. 이는 대규모 자원을 소모하게 되어 금전적, 환경적 부담을 증가시킵니다. 소규모 언어 모델(Small Language Model, SLM)은 훈련 비용이 적지만, 그 성능은 대형 모델에 미치지 못합니다. 본 논문은 이러한 두 가지 문제를 해결하기 위해 작은 모델을 사전 훈련하고, 이를 더 큰 모델로 확장하여 초기화하는 새로운 기법인 \*\*하이퍼클로닝(HyperCloning)\*\*을 제안합니다. 하이퍼클로닝을 사용하면 대형 모델이 학습 시작부터 작은 모델의 기능을 계승하여 높은 초기 성능을 가지게 됩니다. 이 방법은 전체적인 학습 시간을 단축하면서도 더 높은 최종 성능을 얻을 수 있는 전략을 제공합니다. HyperCloning 연구 개요 하이퍼클로닝(HyperCloning)은 작은 모델에서 큰 모델로의 지식 전이(Knowledge Distillation)를 통해 파라미터 확장을 달성하는 방법입니다. 기존의 모델 확장은 주로 무작위로 파라미터를 초기화하지만, 하이퍼클로닝은 사전 훈련된 작은 모델의 파라미터를 복사하여 더 큰 모델의 초기 파라미터로 사용함으로써 학습의 시작 단계부터 더 높은 성능을 보장합니다. 하이퍼클로닝(HyperCloning)의 주요한 설계 목표는 다음과 같습니다: 하이퍼클로닝의 효과적인 구현을 위해 설정된 몇 가지 설계 목표는 다음과 같습니다. 확장 차원(Expansion Dimension): 더 큰 모델은 더 작은 모델과 동일한 레이어 수를 유지하지만, 숨겨진 차원(hidden dimensions)은 더 커야 합니다. 이를 통해 더 큰 모델이 더 많은 정보를 처리할 수 있게 됩니다. 기능 보존(Function Preservation):…

---

## [attorch: PyTorch의 nn 모듈을 OpenAI의 Triton을 사용하여 재작성하는 프로젝트](https://discuss.pytorch.kr/t/attorch-pytorch-nn-openai-triton/4071)

<div class="topic-metadata">

**Author:** [@9bow](https://discuss.pytorch.kr/u/9bow)\
**댓글:** 0\
**마지막 업데이트:** [4월 14, 2024, 12:49오전 UTC](https://discuss.pytorch.kr/t/attorch-pytorch-nn-openai-triton/4071 "2024-04-14T00:49:47Z")

</div>

:pytorch:PyTorchKR:kr: attorch는 PyTorch의 nn 모듈의 일부를 OpenAI의 Triton을 사용하여 Python으로 작성된 라이브러리입니다. PyTorch의 효율성을 유지하거나 향상시키면서도 쉽게 해킹할 수 있고, 자체적으로 완결성이 있으며 읽기 쉬운 신경망 모듈의 컬렉션을 목표로 하고 있습니다. 특히 NLP뿐만 아니라 컴퓨터 비전과 같은 다양한 분야에 적용 가능한 레이어를 제공하며, 학습과 추론 모두에서 사용할 수 있어 더욱 폭넓은 활용이 기대됩니다. :astonished: attorch: PyTorch의 nn 모듈을 OpenAI의 Triton을 사용하여 재작성하는 프로젝트 소개 attorch는 기존의 CUDA 커널을 작성할 기술적 전문성이나 자원이 부족한 개발자들이 사용자 정의 딥러닝 작업을 개발할 수 있는 접근성 높은 출발점으로서 기능하도록 설계되었습니다. 이는 순수 PyTorch 구현의 속도에 만족하지 못하는 이들을 위한 대안으로, 기존의 PyTorch와 비슷한 다른 프레임워크들과 비교했을 때 보다 포괄적인 레이어 지원을 자랑합니다. 또한, attorch는 기존의 PyTorch 프레임워크와 비교하여 특히 추론보다는 학습 과정에서의 성능을 강화하는 데 초점을 맞추고 있습니다. 이는 attorch가 훈련 및 추론 모두를 지원하는 반면, 일부 다른 인퍼런스 전용 엔진들은 주로 추론 성능을 최적화하는 데 집중한다는 점에서 차별화됩니다. attorch는 다음에 소개하는 레이어들이 구현되어 있으며, 문서에 별도로 명시되지 않는 한, PyTorch 공식 구현과 동일하게 동작합니다: 합성곱 레이어(Conv2d): 입력에 가중치를 사용하여 2D 합성곱을 수행하고, 선택적으로 편향을 추가합니다. 활성화 함수: GELU, ReLU, SiLU, Sigmoid, Tanh 등의 활성화 함수를 지원합니다. 정규화 레이어: BatchNorm과 LayerNorm을 통해 입력을 정규화합니다. 선형 변환(Linear): …
