Llama.cpp: различия между версиями
In.wiki (комментарии | вклад) |
In.wiki (комментарии | вклад) |
||
Строка 25: | Строка 25: | ||
Разработка llama.cpp началась в марте 2023 года Георгием Гергановым как реализация кода инференса [[Llama]] на [[Чистый C|чистом C]]/[[Чистый C++|C++]] без [[Зависимости (программирование)|зависимостей]]. | Разработка llama.cpp началась в марте 2023 года Георгием Гергановым как реализация кода инференса [[Llama]] на [[Чистый C|чистом C]]/[[Чистый C++|C++]] без [[Зависимости (программирование)|зависимостей]]. | ||
− | Это резко повысило производительность на компьютерах без графического процессора или другого выделенного оборудования, что и было целью проекта<ref name="register-llamafile" /><ref name="arstechnica">{{cite web |last1=Edwards |first1=Benj |title=You can now run a GPT-3-level AI model on your laptop, phone, and Raspberry Pi |url=https://arstechnica.com/information-technology/2023/03/you-can-now-run-a-gpt-3-level-ai-model-on-your-laptop-phone-and-raspberry-pi/ |website=arstechnica.com |date=13 March 2023 |access-date=15 April 2024}}</ref><ref>{{cite | + | Это резко повысило производительность на компьютерах без графического процессора или другого выделенного оборудования, что и было целью проекта<ref name="register-llamafile" /><ref name="arstechnica">{{cite web |last1=Edwards |first1=Benj |title=You can now run a GPT-3-level AI model on your laptop, phone, and Raspberry Pi |url=https://arstechnica.com/information-technology/2023/03/you-can-now-run-a-gpt-3-level-ai-model-on-your-laptop-phone-and-raspberry-pi/ |website=arstechnica.com |date=13 March 2023 |access-date=15 April 2024}}</ref><ref name="Wiest">{{cite journal |last1=Wiest |first1=Isabella Catharina |last2=Ferber |first2=Dyke |last3=Zhu |first3=Jiefu |last4=van Treeck |first4=Marko |last5=Meyer |first5=Meyer, Sonja K. |last6=Juglan |first6=Radhika |last7=Carrero |first7=Zunamys I. |last8=Paech |first8=Daniel |last9=Kleesiek |first9=Jens |last10=Ebert |first10=Matthias P. |last11=Truhn |first11=Daniel |last12=Kather |first12=Jakob Nikolas |title=Privacy-preserving large language models for structured medical information retrieval |journal=npj Digital Medicine |date=2024 |volume=7 |issue=257 |page=257 |doi=10.1038/s41746-024-01233-2|pmid=39304709 |pmc=11415382 }}</ref> |
llama.cpp завоевала популярность у пользователей, не имеющих специализированного оборудования, поскольку могла работать только на CPU в том числе на устройствах [[Android]]<ref name="arstechnica" /><ref name="mozilla-introducing-llamafile">{{cite web |last1=Hood |first1=Stephen |title=llamafile: bringing LLMs to the people, and to your own computer |url=https://future.mozilla.org/builders/news_insights/introducing-llamafile/ |website=Mozilla Innovations |access-date=28 July 2024 |language=en}}</ref><ref>{{cite web |title=Democratizing AI with open-source language models |url=https://lwn.net/Articles/931853/ |website=lwn.net |access-date=28 July 2024}}</ref> . Изначально проект разрабатывался для CPU, но позже была добавлена поддержка инференса на GPU<ref name="Rajput">{{cite book |last1=Rajput |first1=Saurabhsingh |last2=Sharma |first2=Tushar |chapter=Benchmarking Emerging Deep Learning Quantization Methods for Energy Efficiency |title=2024 IEEE 21st International Conference on Software Architecture Companion (ICSA-C) |date=4 June 2024 |pages=238–242 |doi=10.1109/ICSA-C63560.2024.00049|isbn=979-8-3503-6625-9 }}</ref>. | llama.cpp завоевала популярность у пользователей, не имеющих специализированного оборудования, поскольку могла работать только на CPU в том числе на устройствах [[Android]]<ref name="arstechnica" /><ref name="mozilla-introducing-llamafile">{{cite web |last1=Hood |first1=Stephen |title=llamafile: bringing LLMs to the people, and to your own computer |url=https://future.mozilla.org/builders/news_insights/introducing-llamafile/ |website=Mozilla Innovations |access-date=28 July 2024 |language=en}}</ref><ref>{{cite web |title=Democratizing AI with open-source language models |url=https://lwn.net/Articles/931853/ |website=lwn.net |access-date=28 July 2024}}</ref> . Изначально проект разрабатывался для CPU, но позже была добавлена поддержка инференса на GPU<ref name="Rajput">{{cite book |last1=Rajput |first1=Saurabhsingh |last2=Sharma |first2=Tushar |chapter=Benchmarking Emerging Deep Learning Quantization Methods for Energy Efficiency |title=2024 IEEE 21st International Conference on Software Architecture Companion (ICSA-C) |date=4 June 2024 |pages=238–242 |doi=10.1109/ICSA-C63560.2024.00049|isbn=979-8-3503-6625-9 }}</ref>. |
Версия от 05:44, 30 июля 2025
llama.cpp Библиотека для инференса LLM.
|
- Язык программирования:
- C++, C и C++, C
- Разработчик:
- Георгий Герганов и сообщество
- Дата появления:
- март 10, 2023[1]
со строчной буквы
llama.cpp — это библиотека с открытым исходным кодом, которая выполняет инференс с использованием различных больших языковых моделей, таких как Llama[3].
Она разрабатывается совместно с проектом GGML, тензорной библиотекой общего назначения[4].
Вместе с библиотекой поставляются утилиты командной строки[5], а также сервер с простым веб-интерфейсом[6][7].
Предыстория
В конце сентября 2022 года Георгий Герганов начал работу над библиотекой GGML, библиотекой на языке C, реализующей тензорную алгебру. Герганов разрабатывал библиотеку с учётом строгого управления памятью и многопоточности. Создание GGML было вдохновлено работой Фабриса Беллара над LibNC[8]. До llama.cpp Герганов работал над аналогичной библиотекой whisper.cpp, которая реализовала Whisper — модель преобразования речи в текст от OpenAI[9].
Разработка
Разработка llama.cpp началась в марте 2023 года Георгием Гергановым как реализация кода инференса Llama на чистом C/C++ без зависимостей.
Это резко повысило производительность на компьютерах без графического процессора или другого выделенного оборудования, что и было целью проекта[3][10][11]
llama.cpp завоевала популярность у пользователей, не имеющих специализированного оборудования, поскольку могла работать только на CPU в том числе на устройствах Android[10][12][13] . Изначально проект разрабатывался для CPU, но позже была добавлена поддержка инференса на GPU[14].
По состоянию на ноябрь 2024 года проект имел более 67 000 звёзд на GitHub[15].
В марте 2024 года Джастин Танни представила новые оптимизированные ядра умножения матриц для процессоров x86 и ARM, повысив производительность вычисления промптов для FP16 и Q8_0[16]. Эти улучшения были внесены в основную ветку разработки llama.cpp.[16] Танни также создала инструмент под названием llamafile, который объединяет модели и llama.cpp в один файл, работающий на нескольких операционных системах с помощью библиотеки Cosmopolitan Libc, также созданной Танни, которая позволяет C/C++ быть более переносимым между операционными системами.[16]
Примечания
- ↑ Initial release · ggerganov/llama.cpp@26c0846 (англ.). GitHub. Дата обращения: 15 мая 2024.
- ↑ llama.cpp/LICENSE at master · ggerganov/llama.cpp (англ.). GitHub.
- ↑ 3,0 3,1 Connatser, Matthew. How this open source LLM chatbot runner hit the gas on x86, Arm CPUs . theregister.com. Дата обращения: 15 апреля 2024.
- ↑ Gerganov, Georgi. ggerganov/ggml . GitHub (17 мая 2024).
- ↑ Mann, Tobias. Honey, I shrunk the LLM! A beginner's guide to quantization – and testing it . theregister (14 июля 2024).
- ↑ Alden, Daroc. Portable LLMs with llamafile [LWN.net] . lwn.net. Дата обращения: 30 июля 2024.
- ↑ Mann, Tobias. Intro to speculative decoding: Cheat codes for faster LLMs (англ.). theregister (15 декабря 2024).
- ↑ Bringing Whisper and LLaMA to the masses with Georgi Gerganov (Changelog Interviews #532) (англ.). Changelog (22 марта 2023). Дата обращения: 28 июля 2024.
- ↑ ggerganov/whisper.cpp . GitHub.
- ↑ 10,0 10,1 Edwards, Benj. You can now run a GPT-3-level AI model on your laptop, phone, and Raspberry Pi . arstechnica.com (13 марта 2023). Дата обращения: 15 апреля 2024.
- ↑ Wiest, Isabella Catharina; Ferber, Dyke; Zhu, Jiefu; van Treeck, Marko; Meyer, Meyer, Sonja K.; Juglan, Radhika; Carrero, Zunamys I.; Paech, Daniel; Kleesiek, Jens; Ebert, Matthias P.; Truhn, Daniel; Kather, Jakob Nikolas (2024). "Privacy-preserving large language models for structured medical information retrieval". npj Digital Medicine. 7 (257): 257. doi:10.1038/s41746-024-01233-2. PMC 11415382. PMID 39304709.
{{cite journal}}
: Проект:Обслуживание CS1 (множественные имена: authors list) (ссылка) - ↑ Hood, Stephen. llamafile: bringing LLMs to the people, and to your own computer (англ.). Mozilla Innovations. Дата обращения: 28 июля 2024.
- ↑ Democratizing AI with open-source language models . lwn.net. Дата обращения: 28 июля 2024.
- ↑ Rajput, Saurabhsingh. Benchmarking Emerging Deep Learning Quantization Methods for Energy Efficiency // 2024 IEEE 21st International Conference on Software Architecture Companion (ICSA-C) / Saurabhsingh Rajput, Tushar Sharma. — 4 June 2024. — P. 238–242. — ISBN 979-8-3503-6625-9. — doi:10.1109/ICSA-C63560.2024.00049.
- ↑ ggerganov/llama.cpp . GitHub.
- ↑ Connatser, Matthew. Llamafile LLM driver project boosts performance on CPU cores (англ.). www.theregister.com. Дата обращения: 10 мая 2024.