llama.cpp ускорил prompt lookup drafting в 42 раза

Faster prompt lookup drafting in llama.cpp

llama.cpp ускорил prompt lookup drafting в 42 раза

Хайдер Тирмази оптимизировал prompt lookup decoding в llama.cpp, ускорив драфтинг до 42 раз и сократив память до 2.6 раз. В основе — устранение копирования вложенных std::unordered_map, замена внешней карты на ankerl::unordered_dense::segmented_map и внутренней на отсортированный вектор. При корпусе 541 МБ задержка драфтинга упала с 165.48 µs до 3.98 µs.

Я сделал драфтинг для prompt lookup decoding в llama.cpp до 42 раз быстрее, используя до 2.6 раз меньше памяти, благодаря набору простых оптимизаций производительности, в значительной степени основанных на работе Daniel Lemire и Martin Ankerl.
  1. jadidbourbaki

    Кстати, если у кого-то есть опыт с open source сообществом в целом и с llama.cpp в частности, я был бы очень признателен за совет. Я столкнулся с небольшой межличностной проблемой, и очень надеюсь, что она разрешится без всякой неприязни. Вот контекст:

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

    Есть какие-нибудь советы, что я могу сделать? Из-за этого я не могу создать PR или issue в репозитории llama.cpp. Однако я беспокоюсь, что если буду беспокоить мейнтейнеров по другим каналам, это может их ещё больше разозлить. Спасибо за помощь!

  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