?? ??? llama.cpp ?? ???? ?? 2023?? ??? ???? ???? ??????? Meta Llama ??? ?? ??? ???? ?? ????. ???? ??? GGML ?????? ???? ??? Llama.cpp? ??? ??? ?? C/C++? ??? ?? ??? ?? ???? ???(?? ??? ???????? ????? ??)?? ??? ??? ?????.
?? ??? ??, llama.cpp? ??? ??, ??? ?? ??? ?? ??? NVIDIA CUDA ?? GPU? ??? ?? ???? ????? ??????. 8? 7? ??, llama.cpp? ?? GitHub ?????? ?? ???? 123?, ?? C++ GitHub ?????? 11?? ???? ????.
??? ??? ??? ??? AI ??? ??? ?? ??? ??? ? ?? ??? ???? ? ?????? ?? ???? ?? NVIDIA GPU?? llama.cpp? AI ??? ???? ?? ??? ??? ?? ? ????. NVIDIA? Llama.cpp ??? ????? ??? ?? ????? ?? ????? ???? ????. ? ???? ?? Llama.cpp? CUDA ??? ??? ???? ??? ?? ??? ?? ?????.
CUDA ???
GPU? ??? ??? ?? ??? ?? ??? ???? ???, ???? ??? ?? ? GPU? ? ??? ?? ??? ???? ??? ????. ???? ? ??? CPU?? ????? ????(??)?? ??, ?? ????? ???? ?? ?? ??? ??? ? ?????.
CUDA ??? ??? ?? GPU ??? ??? ?? ???? ??? ? ?? ???? ? ??? ?????. ?? ???? CUDA ??? ?????? CUDA ???? ???? ???? ??? ??????. ?? ???? GROMACS 2023? CUDA ??? ?????? CUDA ???? GROMACS ?? ?? ????? ?? ????? ???? ??? ????? ????? ?????.
?? ??? ??? ??? ?? ? GPU ??? ????? ?????? ??, CUDA ???? ???? ?? GPU ??? ???? ????? ? ????. ??? ???? ????? ?????. ?? ??? ?? ??? ???? ????? ???? ?? ??? ?????. ? ??? ? ?? ?? CUDA API ??? ?? ??? ??? ???? ‘??’???.
? ?????? ? ??? ???? ?? Llama.cpp ??? ??? ?? ???? ???? ????? ?? ??? ?????.
Llama.cpp?? CUDA ??? ????
????? ?? ??? ????? ???? ??? ????? ??? ?? CUDA ???? ??? ??? ?????.
?? ??? ????
?? 1? Linux? ???? NVIDIA A100 GPU?? Llama 7B Q4 ??? ???? CUDA ??? ?? ? ?? ??? ???? ???? ?????. ? ???? NVIDIA Nsight ???? ???? ?????. ??? ?? ???? ?? ? GPU ?? ??? ?? ??? ??? ????, ???? ? ?? ?? ??? ???? ?? ? ? ??? ???? ????. ????? ? ??? ?? ??? ??? ??? ? ? ???, ?? ??? ? ??? ??? ??? ??? CPU ??? ?????. (? ??? ??? ??? ???? ?? ?? ?????.)

?? 1? ???? ??? ????? ?? ??? ???? ?? ?? ?? ?? ??? ??? ? ????. ?? ?? ??? ?? ??? ??? ??? ??? ???? ?????. CUDA ???? ?? ??? ????? ???? ??? ?? ?????. ?? ??? ???? CPU(?? ??)?? ??? ???? ?? GPU(??? ??)?? ?? ??? ???? ???, CPU? GPU?? ???? ?? ???? ?? ????? ??? ? ????.
??? CPU ? ?? ????? ??? ???? ??? ????. ??, ????? ? ?? ??? ??? GPU ? ???? ?? ?????. ? ??? ??? ????? ?? ?? ? ???, CUDA ???? CPU ?/?? GPU ?? ????? ??? ? ??? ? ????.
???? ??? ?? CUDA ??? ??
Llama.cpp? ?? GGML ??? “???” ??? ???? ????. ? ??? ???? ?? ??? ?????:
- ?? ?? ??? ???? GGML ??? ??? ?????.
- ?? ?? ???(? ?? NVIDIA GPU)?? ??? ???? ?? ??? ??? ?? ?? ?? ??? ‘??(logits)’? ????.
- ??? ???? ???? ??? ???? ?? CPU?? ???? ?????.
GPU ??? ?? ??? ???? CUDA ???? ??????. ?? ???? ???? ????, ??? ???? ?? ??? ???? ?????? ?, ?? GPU? ???? ?? ??? ??? ???? ??? ???????.
??? ??? ???? ??? ???? ?? ? ????? ??, ??? ??? ??? ?????? ?? ???? ????? ??? ???? ???. ??? ???? ??? ???? ?? ???? ?????. ??? ???? ??? ???? ?? ?? ??? ?? ???? ??(????? ??) ??? ? ?? ????? ???? ??????.
??? ???? ?? ???? ??? ?? ?? ??? ????? ???? ?? ???? ???(??? ???) ??? ????. GGML ???? ???? ??? ???? ?? ?????. cudaGraphExecUpdate? ?? ??????? ?? ?? ????? ??? ?????? ?? ??? ???? ?????? ? ?????.
?? ? ??? ?? ?? ??(KV ?? ??)? ?? ????? ???? ??? ???? ????? ?? ??? ??? ????. NVIDIA? ??? ??? CUDA ????? ??? ????? ?????? ????? ??????. ? ???? ???? ?? CUDA ??? API ??? ???? ????? ??? ??? ???? ?? ????? ???? ?????.
CUDA ???? ?? ?? ?? 1 ??(Llama.cpp? ?? ?? ??)?? ???? ???, ? ? ?? ??? ?? ?? ??? ???? ????. ??? ?? ??? ?? ? ?? ??? ???? ?? ???? ??? ?? ??? ??? GitHub ??, Llama.cpp?? CUDA ???? ???? ?? NVIDIA? ??? ??? ? ??? ??? ? ????? ?????.
CUDA ???? ???? ??? ??? ??
CUDA ???? ???? ??? ?? 1? ?? ?????? ? ? ??? GPU ? ??? ????? ?? ?? ?? ??? ??? ??????.
?? 2? CUDA ???? ??? ?? ??? ?????. ?? ??? ??? ?? ???? ??? GPU? ?????(?? CUDA API ?? ???). ??? ????? ?? ???? ??? ? ? ?? ?? ??? ?? ?????.

?? ??
?? 3? Llama.cpp? ??? CUDA ??? ??? ??? ?????. ??? ?? ??? ?? ??? GPU ??? ?? ???, ?? ??? ???? GPU ??? ???? ?? ??? ?????. ?? CUDA ???? ???? ?? GPU?? ?? ??? ??? ????? ?? ?? ???? ??? ??? ???? ?????. ?? ?? NVIDIA H100 GPU?? ?? ?? Llama 7B ??? ?? ?? 1.2?? ?? ??? ??????. ?? ???? Linux ???? ???????.
?? Llama.cpp? ?? ????? ?? ?? 1 ??? ?? CUDA ???? ???? ??????.

CPU ???? ??? ?? ???? ??
?? 1? ?? ???? ?????? ?? ?? ??? ??(GPU? ?? ??? ??)? ?????. ?? GGML ??? ?? ? ???? ??? CPU ?? ?????. ??? ????? ??? ?? ??? ? GitHub ??? ??? ??? ? ????? ??? ?? ?? ??? ????. ? ??? ?? ?? ~10%?? ??? ??? ?????.
??
? ?????? ?? ?? ?? ???? Llama.cpp? CUDA ???? ???? NVIDIA GPU?? AI ?? ??? ?? ??? ??? ??????, ?? ?? ?? ??? ?? ? ?? ??? ???? ??? ?????. ?? AI ?? ?????? ? ??? ????? ?? ??? ????.