llama.cpp의 prompt lookup 드래프팅을 42배 빠르게 만든 방법

Faster prompt lookup drafting in llama.cpp

llama.cpp의 prompt lookup 드래프팅을 42배 빠르게 만든 방법

Hayder Tirmazi가 llama.cpp의 prompt lookup decoding에서 드래프팅 속도를 최대 42배 향상시키고 메모리 사용량을 2.6배 줄이는 최적화를 공개했다. 불필요한 map 복사 제거, std::unordered_map을 ankerl::unordered_dense로 교체, 내부 map을 정렬된 벡터로 변경하는 등 Daniel Lemire와 Martin Ankerl의 연구를 기반으로 한 네 가지 간단한 변경을 적용했다. WikiText-103 코퍼스로 테스트한 결과, 드래프팅 지연 시간이 165.48µs에서 3.98µs로 줄었고 정적 캐시 로드 시간과 메모리 사용량도 개선되었다.

이건 거의 최적화라기보다 버그 수정에 가깝다. 드래프팅 단계마다 내부 map이 여러 곳에서 불필요하게 복사되고 있었다.
  1. jadidbourbaki

    참고로, 오픈소스 커뮤니티 전반이나 특히 llama.cpp에 경험이 있는 분이 있다면 조언을 정말 감사히 듣겠습니다. 악의 없이 잘 해결되길 바라는 대인관계 문제에 부딪혀 있습니다. 상황은 이렇습니다:

    https://www.reddit.com/r/LocalLLaMA/comments/1wr5ylm/comment...

    제가 무엇을 할 수 있을지 조언이 있을까요? 이 일 때문에 llama.cpp 저장소에 PR이나 이슈를 만들 수가 없습니다. 그런데 다른 채널로 메인테이너들을 건드리면 상황을 더 악화시킬까 봐 걱정됩니다. 도와주셔서 감사합니다!

  2. jadidbourbaki

    재미있는 업데이트: Daniel Lemire가 또 다른 최적화를 추가해서 이걸 더 빠르게 만들었습니다. https://github.com/jadidbourbaki/llama.cpp/pull/12

    그의 변경 사항을 벤치마크해서 이 개선에 대한 공로를 그에게 돌리며 글에 추가하겠습니다.

  3. jadidbourbaki

    이에 대한 업데이트로, Lemire가 완전히 해냈습니다! 오늘 그의 변경 사항을 벤치마크했습니다. 제 PR 코멘트는 여기 있습니다:

    https://github.com/jadidbourbaki/llama.cpp/pull/12#issuecomm...

이 날의 다른 글

2026-09-27